about summary refs log tree commit diff stats
path: root/pkgs/by-name/ba/back/README.md
blob: 222ccf3596be2a0e1b0f98407331b7e8a0dc1a76 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<!--
Back - An extremely simple git issue tracking system. Inspired by tvix's
panettone

Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de>
SPDX-License-Identifier: AGPL-3.0-or-later

This file is part of Back.

You should have received a copy of the License along with this program.
If not, see <https://www.gnu.org/licenses/agpl.txt>.
-->

# Back

> An extremely simple git issue tracking system. Inspired by tvix's panettone.

## Usage

`back` is modelled after `cgit`, only for `git-bug` initialized repositories. The server is than
started at `http://127.0.0.1:8000` and provides access to the issues (bugs) tracked via `git-bug`,
via multiple routes:

### `/`

The default index is a list of all repositories that have `git-bug` data in them.

### `<repo_path>/issues/<state>`

This path displays all issues in `<state>` (i.e., open or closed) for the repository at
`<repo_path>`.

### `<repo_path>/issue/<issue_id>`

Displays the actual issue with `id` `<issue_id>`. Beware, that the `<isuse_id>` is sourced from the
actual git object associated with the issue create commit. As such, it is not the same ID, as
displayed by the `git-bug` CLI.

### `<repo_path>/issues/feed`

An RSS feed usable to subscribe to. This includes all issues and all comments of issues.

## Configuration file

The config file is passed to `back` via the first command line argument. It is written in JSON.
An example configuration file is available at [`./contrib/config.json`](./contrib/config.json).

Following keys are required:

### `source_code_repository_url`

The URL to the source code of this instance of `back`.

### `root_url`

The root URL this instance of `back` is hosted at. For example: `https://issues.foss-syndicate.org`.
This is required by the RSS feed to generate links to the various issues/comments.

### `scan_path`

The path under which to search for the repositories as specified by the `projects.list` file. This
is semantically the same as `cgit`'s `scan-path`.

### `project_list`

The path to the file specifying the repositories to search. A repository path per line. This is
semantically the same as `cgit`'s `project-list`.

### Note

`back` needs write access to the repository, because of internal `gix` and `git` object reasons.

## Licensing

This project complies with the REUSE v3.3 specification. This means that every file clearly states
its copyright.