<feed xmlns='http://www.w3.org/2005/Atom'>
<title>srcnode/docker, branch v0.3.0</title>
<subtitle>Custom git repository service</subtitle>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/'/>
<entry>
<title>cgit: Port Dockerfile for alpine base</title>
<updated>2023-09-16T12:00:08+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2023-09-16T10:06:37+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=2ec1cd2ef77ef5b725c5db2755806459e19cec11'/>
<id>2ec1cd2ef77ef5b725c5db2755806459e19cec11</id>
<content type='text'>
Move the cgit image off of archlinux for the same reasons as gitolite.
However, in this case, debian isn't necessary, and going with alpine
will give even smaller images.  As is, it seems simpler to port the
config files over to alpine anyway.

See 90858ead45f6 for more context.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move the cgit image off of archlinux for the same reasons as gitolite.
However, in this case, debian isn't necessary, and going with alpine
will give even smaller images.  As is, it seems simpler to port the
config files over to alpine anyway.

See 90858ead45f6 for more context.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cgit: Consolidate config files into a single directory</title>
<updated>2023-09-16T12:00:08+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2023-09-15T17:03:34+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=ba4da49423faaf49500f1b3366909e404f7862ff'/>
<id>ba4da49423faaf49500f1b3366909e404f7862ff</id>
<content type='text'>
Continue cleaning the folder structure from the previous merge.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Continue cleaning the folder structure from the previous merge.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gitolite: Refactor Dockerfile for debian base</title>
<updated>2023-09-15T14:53:24+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2023-09-15T10:02:18+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=90858ead45f6702bdde31671246ad9c56fc7803e'/>
<id>90858ead45f6702bdde31671246ad9c56fc7803e</id>
<content type='text'>
Building from debian:latest will make for a smaller image, a faster
build, and will make the image more accessible to a wider variety of
platforms.

The effort started by 19e7dc8932c is expanded upon such that the image
cleanly bakes in all static config files into the image - ie. the entire
hosting user's home directory, except for the repositories directory.
This removal of config management from the gitolite-admin repo is part
of the reason why it is being decoupled from this repo.

The gitolite image will now never utilize a user pubkey during build.
Instead, it can be invoked with an alternative entrypoint to
interactively configure a new install.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Building from debian:latest will make for a smaller image, a faster
build, and will make the image more accessible to a wider variety of
platforms.

The effort started by 19e7dc8932c is expanded upon such that the image
cleanly bakes in all static config files into the image - ie. the entire
hosting user's home directory, except for the repositories directory.
This removal of config management from the gitolite-admin repo is part
of the reason why it is being decoupled from this repo.

The gitolite image will now never utilize a user pubkey during build.
Instead, it can be invoked with an alternative entrypoint to
interactively configure a new install.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gitolite: Consolidate config files into a single directory</title>
<updated>2023-09-15T14:53:24+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2023-09-13T08:18:16+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=c3e4b42c98dd433bbc2f90beeae102a4993c17e5'/>
<id>c3e4b42c98dd433bbc2f90beeae102a4993c17e5</id>
<content type='text'>
The repository is being reworked to decouple its roles as normalmode
source and gitolite-admin config.  The gitolite-admin repository will be
entirely separate.  So there is no need to keep the conf or local
directories around where they are at.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The repository is being reworked to decouple its roles as normalmode
source and gitolite-admin config.  The gitolite-admin repository will be
entirely separate.  So there is no need to keep the conf or local
directories around where they are at.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gitolite: Make admin pubkey an optional input to Docker image</title>
<updated>2023-08-13T01:40:04+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2023-08-13T01:40:04+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=19e7dc8932cf6cc8671b474ae258921480d9c608'/>
<id>19e7dc8932cf6cc8671b474ae258921480d9c608</id>
<content type='text'>
Automating the build of this image will be awkward if we need a
user-supplied input file each time.  At best, it will probably lead to
building out of per-instance configuration branches that store the
file...

The initial administrator pubkey is only really needed to include in the
first image that is run at any given site, since a new install doesn't
have a config/repository datastore yet.  Once that is the case, the
procedure in the Dockerfile to init the /var/lib/gitolite directory (now
refactored to a shell script file) can be skipped, since that directory
will be replaced by the previous container's volume.

This is probably not the final form of this kind of build design change,
but will work for now to get up and running easily with cychedelic.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Automating the build of this image will be awkward if we need a
user-supplied input file each time.  At best, it will probably lead to
building out of per-instance configuration branches that store the
file...

The initial administrator pubkey is only really needed to include in the
first image that is run at any given site, since a new install doesn't
have a config/repository datastore yet.  Once that is the case, the
procedure in the Dockerfile to init the /var/lib/gitolite directory (now
refactored to a shell script file) can be skipped, since that directory
will be replaced by the previous container's volume.

This is probably not the final form of this kind of build design change,
but will work for now to get up and running easily with cychedelic.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<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>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>
</feed>
