<feed xmlns='http://www.w3.org/2005/Atom'>
<title>srcnode, branch v0.1</title>
<subtitle>Custom git repository service</subtitle>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/'/>
<entry>
<title>cgit: Show proper idle times on the index page</title>
<updated>2022-08-18T21:43:05+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2022-08-18T21:43:05+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=7ac25bc55405b51dd89f38ffa340619f5986090b'/>
<id>7ac25bc55405b51dd89f38ffa340619f5986090b</id>
<content type='text'>
By default, the idle times shown by cgit only reflect the most recent
push to the master branch - and that is the time of the push, not of the
actual commit.

This patch causes the age/timestamp to be set by pushes to any branch.
The times will reflect the age of the youngest commit on any branch or
tag.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By default, the idle times shown by cgit only reflect the most recent
push to the master branch - and that is the time of the push, not of the
actual commit.

This patch causes the age/timestamp to be set by pushes to any branch.
The times will reflect the age of the youngest commit on any branch or
tag.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gitolite: Set default branch on first push</title>
<updated>2022-08-18T13:40:16+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2022-08-18T13:40:16+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=18e9a5efbf13f0886b259e8f17c6d646a52cfb10'/>
<id>18e9a5efbf13f0886b259e8f17c6d646a52cfb10</id>
<content type='text'>
The non-core feature 'symbolic-ref' that ships with gitolite opens a
bigger hole than I would intend to (in the form of allowing arbitrary
git-symbolic-ref commands to be executed).

As an alternative, a post-git gitolite trigger is added.  Its only
purpose at the moment is to check on the state of HEAD following any
pushes.

Under normal circumstances, HEAD will point to a valid branch, or on a
first push, the master branch will be provided, validating HEAD.  If
after the first push, there is no branch called master, we assume the
creator wishes to use another name for the default branch, and so will
update the ref if doing so is unambiguous (there is only one other
branch).  If multiple non-master branches are present in this case, a
warning is issued, and HEAD is left invalid, awaiting a later push to
master.

This _should_ only be an issue for the first push.  Once HEAD refers to
a valid branch (of any name), this action is bypassed going forward.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The non-core feature 'symbolic-ref' that ships with gitolite opens a
bigger hole than I would intend to (in the form of allowing arbitrary
git-symbolic-ref commands to be executed).

As an alternative, a post-git gitolite trigger is added.  Its only
purpose at the moment is to check on the state of HEAD following any
pushes.

Under normal circumstances, HEAD will point to a valid branch, or on a
first push, the master branch will be provided, validating HEAD.  If
after the first push, there is no branch called master, we assume the
creator wishes to use another name for the default branch, and so will
update the ref if doing so is unambiguous (there is only one other
branch).  If multiple non-master branches are present in this case, a
warning is issued, and HEAD is left invalid, awaiting a later push to
master.

This _should_ only be an issue for the first push.  Once HEAD refers to
a valid branch (of any name), this action is bypassed going forward.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cgit: Fix ssh clone url</title>
<updated>2022-08-16T18:11:59+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2022-08-16T18:11:59+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=63383dd83ac4f5dfada4ffd716f6ffcdb852638d'/>
<id>63383dd83ac4f5dfada4ffd716f6ffcdb852638d</id>
<content type='text'>
Although user@server:path would be the preferred URL form, cgit
interprets this as an HTTP link, relative to the repository base URL.

That is, even though the desired text appears on screen, the text's link
is broken.  Someone copying the link, as opposed to copying the text, to
use with an actual clone (or git-remote add) will have a bad time.

Using a full URL with the ssh:// protocol scheme solves this problem.
'.git' is omitted from the end of the path for consistency with the HTTP
url (it's use is optional for ssh protocol).

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Although user@server:path would be the preferred URL form, cgit
interprets this as an HTTP link, relative to the repository base URL.

That is, even though the desired text appears on screen, the text's link
is broken.  Someone copying the link, as opposed to copying the text, to
use with an actual clone (or git-remote add) will have a bad time.

Using a full URL with the ssh:// protocol scheme solves this problem.
'.git' is omitted from the end of the path for consistency with the HTTP
url (it's use is optional for ssh protocol).

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gitolite: Override default sshd_config</title>
<updated>2022-08-16T17:53:29+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2022-08-16T17:53:29+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=41277398778f53584fd6277af6e71da06e307c42'/>
<id>41277398778f53584fd6277af6e71da06e307c42</id>
<content type='text'>
Provide a config file for the back-end SSH daemon.  Primarily, this
explicitly disables root login, password auth, and additional
unnecessary frills.  Additionally, the sftp subsystem is omitted.

Now that this file is added, hostkey files (and the external volume
containing them) are moved to a new dedicated location (/hostkeys/...).
This allows us to bake sshd_config into the built gitolite image,
instead of it also living in the external volume.  This makes it easier
for future changes to be incorporated by simply updating the image.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Provide a config file for the back-end SSH daemon.  Primarily, this
explicitly disables root login, password auth, and additional
unnecessary frills.  Additionally, the sftp subsystem is omitted.

Now that this file is added, hostkey files (and the external volume
containing them) are moved to a new dedicated location (/hostkeys/...).
This allows us to bake sshd_config into the built gitolite image,
instead of it also living in the external volume.  This makes it easier
for future changes to be incorporated by simply updating the image.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add port expose directives to Dockerfiles</title>
<updated>2022-08-13T17:08:43+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2022-08-13T17:08:43+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=fa1482275535b0c9360ec80829132cbcd03c83d5'/>
<id>fa1482275535b0c9360ec80829132cbcd03c83d5</id>
<content type='text'>
This is useful as documentation to the user, but can be necessary to
work with some docker-compose setups.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is useful as documentation to the user, but can be necessary to
work with some docker-compose setups.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cgit: Configure cgit for normalmode use</title>
<updated>2022-08-07T10:57:34+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2022-08-07T10:57:34+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=904b4fab582d0def718c0e461e4bb33f4921e6b8'/>
<id>904b4fab582d0def718c0e461e4bb33f4921e6b8</id>
<content type='text'>
Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gitolite: Save repository owner for front-end</title>
<updated>2022-08-07T10:46:10+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2022-08-07T10:46:10+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=23373499f7441f29d0955e4a140d32b549c89207'/>
<id>23373499f7441f29d0955e4a140d32b549c89207</id>
<content type='text'>
cgit is unable to resolve the owner of repositories, since they are all
owned by the same unix user account.  By adopting this gitweb-specific
config key, we can communicate the end-user name via git-config.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
cgit is unable to resolve the owner of repositories, since they are all
owned by the same unix user account.  By adopting this gitweb-specific
config key, we can communicate the end-user name via git-config.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add cgit docker image</title>
<updated>2022-08-07T05:09:35+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2022-08-07T05:09:35+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=5f193b72eb666755151faf15b71c4ffc45090745'/>
<id>5f193b72eb666755151faf15b71c4ffc45090745</id>
<content type='text'>
Apache webserver (httpd) is setup minimally to host cgit on a website
(sub)domain root.  cgitrc config file is based on that from my previous
installation, in my personal website.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apache webserver (httpd) is setup minimally to host cgit on a website
(sub)domain root.  cgitrc config file is based on that from my previous
installation, in my personal website.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix datastore permissions</title>
<updated>2022-08-06T06:38:41+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2022-08-06T06:38:41+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=ea1b0343eac09b1946a71522230944486c74bb5f'/>
<id>ea1b0343eac09b1946a71522230944486c74bb5f</id>
<content type='text'>
For compatibility with the front-end docker image, ensure git
repositories (and their parent directories) have mode 0755, aka: go+rx.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For compatibility with the front-end docker image, ensure git
repositories (and their parent directories) have mode 0755, aka: go+rx.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow users to create wildcard repositories</title>
<updated>2022-08-03T00:45:07+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2022-08-03T00:45:07+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=60327a5e246fd00deb9bd19a163f4eb7493b1fdc'/>
<id>60327a5e246fd00deb9bd19a163f4eb7493b1fdc</id>
<content type='text'>
Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
</feed>
