grim/hgkeeper

Use Go 1.22 and update dependencies
default tip
2 months ago, aklitzing
f33f223bc8fe
Use Go 1.22 and update dependencies

Reviewed at https://reviews.imfreedom.org/r/2949/
# hgkeeper
This repository is used to manage keys for hgkeeper and other settings.
# keys/
Files in the keys directory should be named after the user they belong to and
contain the ssh public keys for that user. The name of the file is used in
access.yaml as the users/group name.
In the below example, all of grim's acceptable SSH public keys should be in the
file named grim.
```
keys/
grim
```
# robots.txt
If a `robots.txt` file is found in the root of the admin repository, it will be
served from the `/robots.txt` URL. This allows the administrators to customs
their `robots.txt` however they like.
However, this means that you can't have a repository or directory named
`robots.txt`. This would be be silly to do anyways, so it shouldn't be an
issue for most people.
# config/
The config directory holds
[hgrc](https://www.mercurial-scm.org/doc/hgrc.5.html) files for the entire
site. The structure of the directory mirrors that of the repositories
themselves. For example, the HGKeeper repository is at `grim/hgkeeper`, so
hgkeeper will look for a repository specific `hgrc` file at
`config/grim/hgkeeper/hgrc`. If will also walk up the path looking for
additional `hgrc` files until it reaches the `config/` directory itself.
In other words, it will look for and add `hgrc` files from the following
locations:
```
config/hgrc
config/grim/hgrc
config/grim/hgkeeper/hgrc
```
The top-level `config/hgrc` replaces the removed `site.hgrc`.
It enables
[Evolve](https://www.mercurial-scm.org/wiki/EvolveExtension), makes all
repositories non-publishing, and includes a `config/local.hgrc` file which
users should customizing instead of `config/hgrc` as that file will be
maintained by HGKeeper.
Each `hgrc` file can be used to customize settings. For example, say you want
to publish all commits for repository `grim/hgkeeper` but not for repository
`grim/hgkeeper-dev`. In this case you would create an `hgrc` at
`config/grim/hgkeeper/hgrc` with the following contents:
```
[phases]
publish = True
```
This will override the the `publish = False` in `config/hgrc` as
`config/grim/hgkeeper/hgrc` is evaluated last while leaving repository
`grim/hgkeeper-dev` as non-publishing.
# model.conf
This file is part of the authentication system and more information can be read
inline in [model.conf](model.conf) itself.
# policy.csv
This file is poart of the authentication system and more information can be
read inline in [policy.csv](policy.csv) itself.