<feed xmlns='http://www.w3.org/2005/Atom'>
<title>srcnode, 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>normalmode v0.3.0</title>
<updated>2024-03-12T08:36:43+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2024-03-12T08:36:43+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=f1969957af9cb23c47a464d7eccff02d766357c7'/>
<id>f1969957af9cb23c47a464d7eccff02d766357c7</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>cgit: Display version numbers in cgit page footer</title>
<updated>2024-03-12T08:08:28+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2024-03-12T08:08:28+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=6c233f6dd62176ea9477f0241a8ca8e2fbca80f0'/>
<id>6c233f6dd62176ea9477f0241a8ca8e2fbca80f0</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>cgit: Add robots.txt route</title>
<updated>2024-03-12T07:28:58+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2024-03-12T07:28:58+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=ae4689915e7997e96c84fbb8c68f3575835895f3'/>
<id>ae4689915e7997e96c84fbb8c68f3575835895f3</id>
<content type='text'>
cgit does include a robots.txt file, but the previous server
configuration did not allow it to be served.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
cgit does include a robots.txt file, but the previous server
configuration did not allow it to be served.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cgit: Add custom logo</title>
<updated>2024-03-12T07:23:04+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2024-03-12T07:23:04+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=0ec552bba12f8bc2ab51db7af0042d09ad25a782'/>
<id>0ec552bba12f8bc2ab51db7af0042d09ad25a782</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: Force blank description for newly created repositories</title>
<updated>2024-03-12T03:46:04+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2024-03-12T03:46:04+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=505e52aa3dd44b94a878c7a7e906263535e1df56'/>
<id>505e52aa3dd44b94a878c7a7e906263535e1df56</id>
<content type='text'>
A gitolite POST_CREATE trigger is added to initialize the description
file in new repos.  This prevents the "Unnamed repository; edit this
file ..." string from being used by default.

This affects new repositories, existing projects will remain as is.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A gitolite POST_CREATE trigger is added to initialize the description
file in new repos.  This prevents the "Unnamed repository; edit this
file ..." string from being used by default.

This affects new repositories, existing projects will remain as is.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove gitignore</title>
<updated>2024-03-11T14:23:52+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2024-03-11T14:23:52+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=e520832bc0aadb964b703bf7f087feab80ca78ab'/>
<id>e520832bc0aadb964b703bf7f087feab80ca78ab</id>
<content type='text'>
It used to be expected to copy a pubkey file into the git tree for
building the docker images (every time).  This is no longer the case,
and I feel no need to keep this ignore file around.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It used to be expected to copy a pubkey file into the git tree for
building the docker images (every time).  This is no longer the case,
and I feel no need to keep this ignore file around.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gitolite: Fix bug in post git trigger branch detection</title>
<updated>2024-03-11T13:49:23+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2024-03-11T13:49:23+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=1225cf17d153e3bee7ef58da47ef38b2e32b8b75'/>
<id>1225cf17d153e3bee7ef58da47ef38b2e32b8b75</id>
<content type='text'>
The previous version fails to handle nested branch names containing
slashes.  For example, if pushing a single new branch named
`feat/example`, the script would set HEAD to `feat` and remain dangling.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The previous version fails to handle nested branch names containing
slashes.  For example, if pushing a single new branch named
`feat/example`, the script would set HEAD to `feat` and remain dangling.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gitolite: Create separate config for normalmode repository semantics</title>
<updated>2024-03-11T11:10:47+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2023-12-16T11:00:25+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=d489b4438ded736c61a7dadeb87a6bd90ea53b50'/>
<id>d489b4438ded736c61a7dadeb87a6bd90ea53b50</id>
<content type='text'>
The previous content of gitolite.conf defined the standard access rules
for normalmode.  These are now moved to a new file which will be baked
into the gitolite docker image and not managed by the gitolite-admin
repository.

This will allow for easier management of the normalmode rules via this
git repository (aka, part of the normalmode distribution) and prevent
the need for user intervention and to stomp on gitolite-admin to adopt
new updates.  The goal is to give users nearly complete ownership of
their gitolite.conf file.

Added to the gitolite.conf template is a definition for a new @creators
group.  The normalmode rules are updated to permit only users from this
group to create and own new wildcard repositories.  This allows creating
new users which can only contribute to other's repos (as either a
MAINTAINER or CONTRIBUTOR), or access private repos.

As alluded by the previous paragraph, administrators may define private
repos within gitolite using normalmode.  This is done by manually
configuring them in gitolite.conf.  This use-case has always been
possible, but has only recently been tested to confirm that the access
restrictions are compatible with the rest of normalmode's operations.
(aka: Nothing is leaked via cgit, and the normalmode access rules don't
break anything).  Easing this use-case is another reason for the clean
separation of config files.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The previous content of gitolite.conf defined the standard access rules
for normalmode.  These are now moved to a new file which will be baked
into the gitolite docker image and not managed by the gitolite-admin
repository.

This will allow for easier management of the normalmode rules via this
git repository (aka, part of the normalmode distribution) and prevent
the need for user intervention and to stomp on gitolite-admin to adopt
new updates.  The goal is to give users nearly complete ownership of
their gitolite.conf file.

Added to the gitolite.conf template is a definition for a new @creators
group.  The normalmode rules are updated to permit only users from this
group to create and own new wildcard repositories.  This allows creating
new users which can only contribute to other's repos (as either a
MAINTAINER or CONTRIBUTOR), or access private repos.

As alluded by the previous paragraph, administrators may define private
repos within gitolite using normalmode.  This is done by manually
configuring them in gitolite.conf.  This use-case has always been
possible, but has only recently been tested to confirm that the access
restrictions are compatible with the rest of normalmode's operations.
(aka: Nothing is leaked via cgit, and the normalmode access rules don't
break anything).  Easing this use-case is another reason for the clean
separation of config files.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gitolite: Prevent repo auto-creation on clone/fetch</title>
<updated>2023-09-16T18:56:41+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2023-09-16T18:56:41+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=5f5cab13b85c6ca5948581692c7be4c994908703'/>
<id>5f5cab13b85c6ca5948581692c7be4c994908703</id>
<content type='text'>
I'm considering this default behavior as a bug for normalmode.  The
creation of a repository via a read activity seems far too accidental
for my taste.  Repositories are created by pushing to them.

This does mean that:

    git clone &lt;new-url&gt;
    ...
    git push

is no longer a shorthand for:

    git init
    git remote add origin &lt;new-url&gt;
    ...
    git push

I'm ok with that.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I'm considering this default behavior as a bug for normalmode.  The
creation of a repository via a read activity seems far too accidental
for my taste.  Repositories are created by pushing to them.

This does mean that:

    git clone &lt;new-url&gt;
    ...
    git push

is no longer a shorthand for:

    git init
    git remote add origin &lt;new-url&gt;
    ...
    git push

I'm ok with that.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gitolite: Fix bug in default branch push trigger</title>
<updated>2023-09-16T18:49:21+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2023-09-16T18:49:21+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/infra/srcnode/commit/?id=fcf7dc53547554507ed0fe76acd78d1ac0456d9e'/>
<id>fcf7dc53547554507ed0fe76acd78d1ac0456d9e</id>
<content type='text'>
Since it is now allowed to remove the remote default branch, this script
needs to handle cases where there are no branches following a push.

In this case, the `git symbolic-ref` command will fail, and we return
our standard warning for when HEAD is dangling.

Signed-off-by: Malfurious &lt;m@lfurio.us&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since it is now allowed to remove the remote default branch, this script
needs to handle cases where there are no branches following a push.

In this case, the `git symbolic-ref` command will fail, and we return
our standard warning for when HEAD is dangling.

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