9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] 9front, git and mercurial.
@ 2021-06-14  0:47 ori
  2021-06-14 17:48 ` Tony Mendoza
  0 siblings, 1 reply; 4+ messages in thread
From: ori @ 2021-06-14  0:47 UTC (permalink / raw)
  To: 9fans

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [9fans] 9front, git and mercurial.
  2021-06-14  0:47 [9fans] 9front, git and mercurial ori
@ 2021-06-14 17:48 ` Tony Mendoza
  2021-06-14 17:55   ` Kurt H Maier
  2021-06-14 19:13   ` ori
  0 siblings, 2 replies; 4+ messages in thread
From: Tony Mendoza @ 2021-06-14 17:48 UTC (permalink / raw)
  To: 9fans

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
clueelf@tonymendoza.us

> On Jun 13, 2021, at 7:48 PM, ori@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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [9fans] 9front, git and mercurial.
  2021-06-14 17:48 ` Tony Mendoza
@ 2021-06-14 17:55   ` Kurt H Maier
  2021-06-14 19:13   ` ori
  1 sibling, 0 replies; 4+ messages in thread
From: Kurt H Maier @ 2021-06-14 17:55 UTC (permalink / raw)
  To: 9fans

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [9fans] 9front, git and mercurial.
  2021-06-14 17:48 ` Tony Mendoza
  2021-06-14 17:55   ` Kurt H Maier
@ 2021-06-14 19:13   ` ori
  1 sibling, 0 replies; 4+ messages in thread
From: ori @ 2021-06-14 19:13 UTC (permalink / raw)
  To: 9fans

Quoth Tony Mendoza <clueelf@tonymendoza.us>:
> 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-06-14 19:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-14  0:47 [9fans] 9front, git and mercurial ori
2021-06-14 17:48 ` Tony Mendoza
2021-06-14 17:55   ` Kurt H Maier
2021-06-14 19:13   ` ori

9fans - fans of the OS Plan 9 from Bell Labs

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/9fans

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 9fans 9fans/ http://inbox.vuxu.org/9fans \
		9fans@9fans.net
	public-inbox-index 9fans

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.9fans


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git