vole
Clone
Read only, no credentials:
https://rodent.software/git/vole.git
Write over SSH with a registered key:
git clone ssh://git@0.0.0.0:2222/vole.git
A free and open-source forge that lives in your Git repo.
|
3b39a84c
Keenan Nemetz
14d ago
|
1 | # nfpm builds both the .deb and the .rpm from this file. The release workflow |
| 2 | # renders it once per architecture, with VERSION and ARCH supplied: | |
| 3 | # | |
| 4 | # ARCH=amd64 VERSION=0.2.0 nfpm package -f packaging/nfpm.yaml -p deb -p rpm -t dist | |
| 5 | # | |
| 6 | # See docs/packaging.md. | |
| 7 | name: vole | |
| 8 | arch: ${ARCH} | |
| 9 | platform: linux | |
| 10 | version: ${VERSION} | |
| 11 | release: "1" | |
| 12 | section: devel | |
| 13 | priority: optional | |
| 14 | maintainer: Keenan Nemetz <keenan.nemetz@gmail.com> | |
| 15 | vendor: Rodent Software | |
|
ed03b3d1
Keenan Nemetz
4h ago
|
16 | homepage: https://rodent.software/vole |
|
3b39a84c
Keenan Nemetz
14d ago
|
17 | license: Apache-2.0 |
| 18 | description: | | |
|
e73d453f
Keenan Nemetz
2d ago
|
19 | A forge that lives in your Git repo. |
|
3b39a84c
Keenan Nemetz
14d ago
|
20 | |
|
e73d453f
Keenan Nemetz
2d ago
|
21 | Code, issues, comments, change requests, reviews, and releases live in Git. CI |
| 22 | history stays on the instance and is backed up with it. One binary, one config | |
| 23 | file, no extra services to operate. | |
|
3b39a84c
Keenan Nemetz
14d ago
|
24 | depends: |
| 25 | # The server shells out to git for every push, clone, and metadata write. | |
| 26 | - git | |
|
95425af7
Keenan Nemetz
10d ago
|
27 | # The binary is linked against the system SQLite, so each format names its own |
| 28 | # runtime library. An override replaces the list above rather than adding to it. | |
| 29 | overrides: | |
| 30 | deb: | |
| 31 | depends: | |
| 32 | - git | |
| 33 | - libsqlite3-0 | |
| 34 | rpm: | |
| 35 | depends: | |
| 36 | - git | |
| 37 | - sqlite-libs | |
|
3b39a84c
Keenan Nemetz
14d ago
|
38 | contents: |
| 39 | - src: dist/vole-linux-${ARCH} | |
| 40 | dst: /usr/bin/vole | |
| 41 | # nfpm only expands ${...} in a source path when asked to. | |
| 42 | expand: true | |
| 43 | file_info: | |
| 44 | mode: 0755 | |
| 45 | - src: packaging/systemd/vole.service | |
| 46 | dst: /usr/lib/systemd/system/vole.service | |
| 47 | file_info: | |
| 48 | mode: 0644 | |
|
d0d4239f
Keenan Nemetz
3d ago
|
49 | # The CI runner is the same binary in another mode, so its unit ships here too. |
| 50 | # It is not enabled by the package, and it refuses to start until an operator | |
| 51 | # fills in /etc/vole/runner.env: who runs builds on a machine is that machine | |
| 52 | # owner's decision. See docs/deploy/runner.md. | |
| 53 | - src: packaging/systemd/vole-runner.service | |
| 54 | dst: /usr/lib/systemd/system/vole-runner.service | |
| 55 | file_info: | |
| 56 | mode: 0644 | |
| 57 | - src: packaging/runner.env | |
| 58 | dst: /etc/vole/runner.env | |
| 59 | type: config|noreplace | |
|
9704d735
Keenan Nemetz
3h ago
|
60 | # Two settings a runner needs that the distributions do not ship: a registry to |
| 61 | # resolve a short image name against, and a cgroup manager that works without a | |
| 62 | # systemd user session. Both are drop-ins, so they merge with what the | |
| 63 | # distribution has rather than replacing it, and a site can override either with | |
| 64 | # a higher-numbered file. See docs/deploy/runner.md. | |
| 65 | - src: packaging/containers/registries.conf | |
| 66 | dst: /etc/containers/registries.conf.d/50-vole-runner.conf | |
| 67 | type: config|noreplace | |
| 68 | file_info: | |
| 69 | mode: 0644 | |
| 70 | - src: packaging/containers/containers.conf | |
| 71 | dst: /etc/containers/containers.conf.d/50-vole-runner.conf | |
| 72 | type: config|noreplace | |
| 73 | file_info: | |
| 74 | mode: 0644 | |
|
3b39a84c
Keenan Nemetz
14d ago
|
75 | # An operator's edits survive upgrades: rpm gets %config(noreplace), deb gets a |
| 76 | # conffile. Changing this file is how you set public_url, pages_domain, or a | |
| 77 | # different listen address. | |
| 78 | - src: packaging/vole.toml | |
| 79 | dst: /etc/vole/vole.toml | |
| 80 | type: config|noreplace | |
| 81 | - src: LICENSE | |
| 82 | dst: /usr/share/doc/vole/LICENSE | |
| 83 | file_info: | |
| 84 | mode: 0644 | |
| 85 | - src: NOTICE | |
| 86 | dst: /usr/share/doc/vole/NOTICE | |
| 87 | file_info: | |
| 88 | mode: 0644 | |
| 89 | scripts: | |
| 90 | postinstall: packaging/scripts/postinstall.sh |