* [9fans] 9front, git and mercurial.
@ 2021-06-14 0:47 ori
2021-06-14 17:48 ` Tony Mendoza
0 siblings, 1 reply; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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
2022-05-18 18:12 ` Frank D. Engel, Jr.
1 sibling, 1 reply; 7+ 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] 7+ messages in thread
* Re: [9fans] 9front, git and mercurial.
2021-06-14 19:13 ` ori
@ 2022-05-18 18:12 ` Frank D. Engel, Jr.
2022-05-18 18:30 ` Kurt H Maier via 9fans
0 siblings, 1 reply; 7+ messages in thread
From: Frank D. Engel, Jr. @ 2022-05-18 18:12 UTC (permalink / raw)
To: 9fans
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, ori@eigenstate.org wrote:
> 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-M7a7dc8eefad0d619ba65c04a
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [9fans] 9front, git and mercurial.
2022-05-18 18:12 ` Frank D. Engel, Jr.
@ 2022-05-18 18:30 ` Kurt H Maier via 9fans
2022-05-18 19:41 ` Frank D. Engel, Jr.
0 siblings, 1 reply; 7+ messages in thread
From: Kurt H Maier via 9fans @ 2022-05-18 18:30 UTC (permalink / raw)
To: 9fans
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [9fans] 9front, git and mercurial.
2022-05-18 18:30 ` Kurt H Maier via 9fans
@ 2022-05-18 19:41 ` Frank D. Engel, Jr.
0 siblings, 0 replies; 7+ messages in thread
From: Frank D. Engel, Jr. @ 2022-05-18 19:41 UTC (permalink / raw)
To: 9fans
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
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-05-18 19:42 UTC | newest]
Thread overview: 7+ 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
2022-05-18 18:12 ` Frank D. Engel, Jr.
2022-05-18 18:30 ` Kurt H Maier via 9fans
2022-05-18 19:41 ` Frank D. Engel, Jr.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).