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