Simple Go-based URL Bookmarking Service
- /add
- /delete
- /list
- /health
With HTTP Basic Auth:
curl -X POST -u username:password -d "url=https://exampleurltoadd.com" http://ghouls-hostname-here/add
- generate a GitHub fine-grained access token (used in repo as "GITHUB_TOKEN" and in GitHub Actions Secrets as "GH_TOKEN") with the following read/write permissions
- actions
- code scanning alerts
- commit statuses
- contents
- dependabot alerts
- dependabot secrets
- deployments
- environments
- issues
- pages
- pull requests
- secret scanning alerts
- secrets
- webhooks
- workflows
- generate cosign keypair
cosign generate-key-pair
mv cosign.key $REPO_NAME.key
mv cosign.pub $REPO_NAME.pub
- ensure new repo has the following GitHub Actions Secrets and local shell environment variables stored in
./.env
- (
cp .env.sample .env
is a good place to start for local shell environment variables) - GH_TOKEN
- GH_GHCR_TOKEN
- DOCKERHUB_USERNAME
- DOCKERHUB_TOKEN
- QUAY_USERNAME
- QUAY_TOKEN
- SNYK_TOKEN
- COSIGN_PRIVATE_KEY
- COSIGN_PASSWORD
- BASIC_AUTH_USERNAME
- BASIC_AUTH_PASSWORD
- CSRF_SECRET_KEY
- easily generated with:
python3 -c "from secrets import token_hex;print(token_hex(16))"
openssl rand -hex 16
- easily generated with:
- LOCAL_DEV
- generally "false"
- (
- set up new repository in quay.io web console
- (DockerHub and GitHub Container Registry do this automatically on first push/publish)
- name must match Git repo name
- grant robot user with username stored in QUAY_USERNAME "write" permissions (your quay.io account should already have admin permissions)
- set built packages visibility in GitHub packages to public
- navigate to https://github.com/users/$USERNAME/packages/container/$REPO/settings
- scroll down to "Danger Zone"
- change visibility to public
- run
./scripts/update_golang_version.sh $NEW_VERSION_GOES_HERE