fix: write the repository's real address in the docs

The repository is owned by the organisation `public`, not by the user `igor`.
Gitea forwards the old address for anything a browser or git does, so the install
command and the clone lines kept working and the wrong address went unnoticed.

An API call is the exception. A POST to `/api/v1/repos/igor/supaspin/...` is
answered with a redirect that curl does not follow for a POST, so the command
returns an empty body and no error - which reads as a rejected token. Creating
the v1.2.0 tag and opening its pull request both failed this way first.

- CLAUDE.md: the tagging rule now names `public` and says why an API address
  cannot use the forwarded one.
- README.md, install.sh: the install, token and clone commands now use the
  address the server actually serves.

Version 1.2.0 -> 1.2.1. No change to what the program does.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Igor
2026-09-22 21:58:53 +03:00
co-authored by Claude Opus 5
parent 1d49234400
commit b68d836537
5 changed files with 16 additions and 10 deletions
+7 -1
View File
@@ -21,8 +21,14 @@ The number is `MAJOR.MINOR.PATCH` (semantic versioning: `1.1.1` is major 1, mino
4. **Tag every release.** After the pull request is merged, create the git tag `vX.Y.Z` (for example `v1.1.1`) on
the commit on `main` that contains that number in `VERSION`. The tag name must equal `VERSION` with a `v` in
front. A version without a tag is not released. Never move or delete a tag that was already published; if a
release is wrong, ship a new PATCH instead. With the Gitea API: `POST /api/v1/repos/igor/supaspin/tags` with
release is wrong, ship a new PATCH instead. With the Gitea API: `POST /api/v1/repos/public/supaspin/tags` with
`tag_name`, `target` (the commit) and `message`.
The owner in an API address must be `public`. The repository used to sit under the user `igor` and Gitea still
forwards the old address for anything a browser or git does, but it answers an API call to
`/api/v1/repos/igor/supaspin/...` with a redirect that curl does not follow for a POST: the command returns an
empty body and no error, which looks exactly like a rejected token. Opening or merging a pull request needs the
same `public` owner.
5. **Check the result.** Reinstall from the merged `main` (`sudo bash install.sh`), then run `supaspin --version` and
compare it with `VERSION` and the tag.
6. If you find a version in `VERSION` that has no tag, or a tag that does not match `VERSION`, tell Igor before doing
+5 -5
View File
@@ -1,6 +1,6 @@
# supaspin
Version 1.2.0
Version 1.2.1
Create, list, show and delete throwaway [Supabase](https://supabase.com) instances on a
single-node [microk8s](https://microk8s.io) server, from a terminal menu.
@@ -40,7 +40,7 @@ of instances at once. Numbers are reused: create picks the lowest free one.
## Install
```bash
curl -fsSL https://git.didgibot.com/igor/supaspin/raw/branch/main/install.sh | sudo bash
curl -fsSL https://git.didgibot.com/public/supaspin/raw/branch/main/install.sh | sudo bash
```
**If your Gitea requires sign-in even for public repositories** (the download then fails with
@@ -48,13 +48,13 @@ curl -fsSL https://git.didgibot.com/igor/supaspin/raw/branch/main/install.sh | s
`repository: read`):
```bash
curl -fsSL -H "Authorization: token $TOKEN" https://git.didgibot.com/igor/supaspin/raw/branch/main/install.sh | sudo SUPASPIN_TOKEN=$TOKEN bash
curl -fsSL -H "Authorization: token $TOKEN" https://git.didgibot.com/public/supaspin/raw/branch/main/install.sh | sudo SUPASPIN_TOKEN=$TOKEN bash
```
or clone the repository and install from the checkout:
```bash
git clone ssh://git@git.didgibot.com:2226/igor/supaspin.git && sudo bash supaspin/install.sh
git clone ssh://git@git.didgibot.com:2226/public/supaspin.git && sudo bash supaspin/install.sh
```
Run it again to upgrade. It installs `/usr/local/bin/supaspin`, its values template and the
@@ -110,7 +110,7 @@ sudo supaspin delete N [--yes]
sudo supaspin upgrade [N] # apply this version's memory caps to running instances
sudo supaspin mail # change the saved default mail settings
sudo supaspin setup # change settings
supaspin --version # prints "supaspin 1.2.0"
supaspin --version # prints "supaspin 1.2.1"
```
### Connecting your app
+1 -1
View File
@@ -1 +1 @@
1.2.0
1.2.1
+2 -2
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# One-line install (run on the Kubernetes server):
# curl -fsSL https://git.didgibot.com/igor/supaspin/raw/branch/main/install.sh | sudo bash
# curl -fsSL https://git.didgibot.com/public/supaspin/raw/branch/main/install.sh | sudo bash
# Installs /usr/local/bin/supaspin and its Helm values template. Safe to run again to upgrade.
#
# If your Gitea requires sign-in even for public repositories, give a read-only token:
@@ -12,7 +12,7 @@
# SUPASPIN_TOKEN=<token> Gitea token (read access to the repository) for the download
set -euo pipefail
REPO="https://git.didgibot.com/igor/supaspin"
REPO="https://git.didgibot.com/public/supaspin"
REF="${SUPASPIN_REF:-main}"
[ "$(id -u)" -eq 0 ] || { echo "Run as root: curl -fsSL $REPO/raw/branch/main/install.sh | sudo bash" >&2; exit 1; }
+1 -1
View File
@@ -35,7 +35,7 @@ import tty
import yaml
VERSION = "1.2.0"
VERSION = "1.2.1"
CONFIG_PATH = os.environ.get("SUPASPIN_CONFIG", "/etc/supaspin/config.yaml")
STATE_DIR = os.environ.get("SUPASPIN_STATE", "/var/lib/supaspin")
CHART_REPO = "https://supabase-community.github.io/supabase-kubernetes"