Re: [9fans] 9front, git and mercurial.

2022-05-18 Thread Frank D. Engel, Jr.
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.

2022-05-18 Thread Kurt H Maier via 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


Re: [9fans] 9front, git and mercurial.

2022-05-18 Thread Frank D. Engel, Jr.

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.

2021-06-14 Thread ori
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.

2021-06-14 Thread Kurt H Maier
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.

2021-06-14 Thread 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. 

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.

2021-06-13 Thread ori
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