Re: [9fans] 9front, git and mercurial.
I didn't even notice until now that there was a dedicated 9front list - I will try to subscribe to that shortly and move the conversation there. Not sure that I understand how to determine which revision I am on - more familiar with svn than either hg or git - if I run "hg log" within /sys/src the first two lines say: changeset: 8493:c8bec6f5ee1e tag: tip Does that answer the question, or how do I go about obtaining that? On 5/18/22 2:30 PM, Kurt H Maier via 9fans wrote: On Wed, May 18, 2022 at 02:12:47PM -0400, Frank D. Engel, Jr. wrote: Related question I can't seem to track down an answer to: I have a 9front cluster which was set up back when Mercurial was used, so that is what sysupdate is looking for. I finally realized that I am no longer seeing updates because 9front switched to git. How does one go about upgrading an existing 9front install to pull updates from git instead of hg? sysupdate should have seamlessly moved you to git. what mercurial revision is your stuff currently running? this will be a longish debugging session so for the rest of it we should probably move to the 9front mailing list, since 9fans at large might not appreciate the traffic. khm -- 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T7dfa66085e395bcb-Mb037360ea191ed4fde0a87aa Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
Re: [9fans] 9front, git and mercurial.
On Wed, May 18, 2022 at 02:12:47PM -0400, Frank D. Engel, Jr. wrote: > Related question I can't seem to track down an answer to: > > I have a 9front cluster which was set up back when Mercurial was used, > so that is what sysupdate is looking for. > > I finally realized that I am no longer seeing updates because 9front > switched to git. > > How does one go about upgrading an existing 9front install to pull > updates from git instead of hg? sysupdate should have seamlessly moved you to git. what mercurial revision is your stuff currently running? this will be a longish debugging session so for the rest of it we should probably move to the 9front mailing list, since 9fans at large might not appreciate the traffic. khm -- 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T7dfa66085e395bcb-M7580c6a90807ccb1f0c2c555 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
Re: [9fans] 9front, git and mercurial.
Related question I can't seem to track down an answer to: I have a 9front cluster which was set up back when Mercurial was used, so that is what sysupdate is looking for. I finally realized that I am no longer seeing updates because 9front switched to git. How does one go about upgrading an existing 9front install to pull updates from git instead of hg? When I try running the manual commands to pull from git it (logically) complains that it is not a git repository, but I am not finding any clear instructions on how to go about making this switch on an existing install? On 6/14/21 3:13 PM, o...@eigenstate.org wrote: Quoth Tony Mendoza : Quick question (or maybe not), but how are these being hosted? Is this done on a cloud provider vm platform? Or is this being done in a traditional DC using real hardware? Just curious to know how this is being done because I would like to do something similar. Currently, it's hosted on vultr, but there are a number of hosts that you can use. As far as how it's actually done: Git goes over git/serve in /rc/bin/service: cpu% cat /rc/bin/service/tcp9418 #!/bin/rc exec git/serve -r/usr/git the '-r' path is implicitly prepended on to any repositories that are cloned, so eg: git/clone git://host.com/repo/path clones /usr/git/repo/path The authenticated protocol, hjgit, is the same as the unauthenticated git:// protocol, but with 'tlssrv -a' wrapping the connection to handle auth and encryption. The '-w' flag on git/serve enables writing to the repo. cpu% cat /rc/bin/service/tcp17021 #!/bin/rc exec tlssrv -a /bin/git/serve -wr/usr/git Our encrypted 'gits://' extension is the same, but with a cert, and its key in factotum: cpu% cat /rc/bin/service/tcp9419 #!/bin/rc exec tlssrv -c/sys/lib/tls/git/git.cert /bin/git/serve -r/usr/git That gets you a fully functional git server, that hosts its code in /usr/git. The website is served using tcp80 and execfs: cpu% cat /bin/cpurc.local auth/none execfs -s git.execfs /sys/lib/tcp80/gitrules cpu% cat /rc/bin/service/tcp80 #!/bin/rc # some ns trickery to allow serving static data, # we can probably clean this up. bind /usr/web /mnt/static mount /srv/git.execfs /usr/web bind /mnt/static /usr/web/static rfork n exec /bin/tcp80 And the code for the web ui is more or less a modified version of this code: http://shithub.us/ori/shithub/HEAD/files.html There's also a more minimal proof of concept that I did before phil9 ran with it and improved it here: http://shithub.us/ori/git9/HEAD/extra/gitls/f.html It's less complete, but probably easier to read and understand. -- 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T7dfa66085e395bcb-M7a7dc8eefad0d619ba65c04a Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
Re: [9fans] 9front, git and mercurial.
Quoth Tony Mendoza : > Quick question (or maybe not), but how are these being hosted? Is this done > on a cloud provider vm platform? Or is this being done in a traditional DC > using real hardware? > > Just curious to know how this is being done because I would like to do > something similar. Currently, it's hosted on vultr, but there are a number of hosts that you can use. As far as how it's actually done: Git goes over git/serve in /rc/bin/service: cpu% cat /rc/bin/service/tcp9418 #!/bin/rc exec git/serve -r/usr/git the '-r' path is implicitly prepended on to any repositories that are cloned, so eg: git/clone git://host.com/repo/path clones /usr/git/repo/path The authenticated protocol, hjgit, is the same as the unauthenticated git:// protocol, but with 'tlssrv -a' wrapping the connection to handle auth and encryption. The '-w' flag on git/serve enables writing to the repo. cpu% cat /rc/bin/service/tcp17021 #!/bin/rc exec tlssrv -a /bin/git/serve -wr/usr/git Our encrypted 'gits://' extension is the same, but with a cert, and its key in factotum: cpu% cat /rc/bin/service/tcp9419 #!/bin/rc exec tlssrv -c/sys/lib/tls/git/git.cert /bin/git/serve -r/usr/git That gets you a fully functional git server, that hosts its code in /usr/git. The website is served using tcp80 and execfs: cpu% cat /bin/cpurc.local auth/none execfs -s git.execfs /sys/lib/tcp80/gitrules cpu% cat /rc/bin/service/tcp80 #!/bin/rc # some ns trickery to allow serving static data, # we can probably clean this up. bind /usr/web /mnt/static mount /srv/git.execfs /usr/web bind /mnt/static /usr/web/static rfork n exec /bin/tcp80 And the code for the web ui is more or less a modified version of this code: http://shithub.us/ori/shithub/HEAD/files.html There's also a more minimal proof of concept that I did before phil9 ran with it and improved it here: http://shithub.us/ori/git9/HEAD/extra/gitls/f.html It's less complete, but probably easier to read and understand. -- 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T7dfa66085e395bcb-Ma7f7eac030ace173c4260adc Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
Re: [9fans] 9front, git and mercurial.
On Mon, Jun 14, 2021 at 12:48:35PM -0500, Tony Mendoza wrote: > Quick question (or maybe not), but how are these being hosted? Is this done > on a cloud provider vm platform? Or is this being done in a traditional DC > using real hardware? > > Just curious to know how this is being done because I would like to do > something similar. > > Cheers! 9front's stuff is hosted on a variety of platforms. Some of it, including the code.9front.org repo, consists of VMs that I host on colocated hardware. git.9front.org is elsewhere at the moment, and I'm in the middle of deploying faster hardware to hopefully provide a longer-term home to more of the services. Other pieces live in commercial VM providers like vultr, linode, ramnode, and so forth. A few of these providers either offer 9front as a deployment option or allow you to upload your own iso for provisioning. khm -- 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T7dfa66085e395bcb-M57e06b7391bc1239b906f010 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
Re: [9fans] 9front, git and mercurial.
Quick question (or maybe not), but how are these being hosted? Is this done on a cloud provider vm platform? Or is this being done in a traditional DC using real hardware? Just curious to know how this is being done because I would like to do something similar. Cheers! Tony — Tony Mendoza clue...@tonymendoza.us > On Jun 13, 2021, at 7:48 PM, o...@eigenstate.org wrote: > > Posting here for wider distribution: > > 9front is fully self-hosting on git, running the > git-server for 9front on 9front. So, hg and python > are now removed from the distribution, but will be > archived here: > > git://git.9front.org/plan9front/pyhg > > After a sysupdate, you'll probably want > to clean up the remaining bits of python: > > rm /$objtype/bin/python > cd /sys/man && mk > > Also, in case anyone in the 9legacy world > was using git9: look for the most recent > version in: > > /sys/src/cmd/git > > or on the web at: > > http://git.9front.org/plan9front/plan9front/HEAD/sys/src/cmd/git/f.html > -- 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T7dfa66085e395bcb-Ma3ff99cd9f31645125d9f0c1 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
[9fans] 9front, git and mercurial.
Posting here for wider distribution: 9front is fully self-hosting on git, running the git-server for 9front on 9front. So, hg and python are now removed from the distribution, but will be archived here: git://git.9front.org/plan9front/pyhg After a sysupdate, you'll probably want to clean up the remaining bits of python: rm /$objtype/bin/python cd /sys/man && mk Also, in case anyone in the 9legacy world was using git9: look for the most recent version in: /sys/src/cmd/git or on the web at: http://git.9front.org/plan9front/plan9front/HEAD/sys/src/cmd/git/f.html -- 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T7dfa66085e395bcb-Mec09bfe9555050d9861fd1f8 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription