Anubis (https://anubis.techaro.lol) is a lightweight proof-of-work challenge that protects web services from AI crawlers and scrapers. Changes: - Add Anubis as an extraContainers sidecar in the Gitea HelmRelease - Listens on :8080, proxies to Gitea at http://localhost:3000 - DIFFICULTY=4 (default; tune up to increase challenge strength) - SERVE_ROBOTS_TXT=true (Anubis manages robots.txt) - OG_PASSTHROUGH=true (OpenGraph bots pass through for link previews) - Signs challenges with ED25519 key from 'anubis-key' secret - Add anubis port (8080) to Gitea service via additionalPorts - Update Ingress to route to the 'anubis' port instead of 'http' - Add anubis-secret.yaml placeholder with creation instructions One-time setup required before applying: kubectl create secret generic anubis-key \ --namespace gitea \ --from-literal=ED25519_PRIVATE_KEY_HEX=$(openssl rand -hex 32)
Stands up my personal infrastructure in a Kubernetes environment.
First Thing First
In order to properly get things up and going, you will need to create a secret to allow the external secrets to log into BitWarden Password Manager. For obvious reasont this cannot be safely added to this repository. As such, it is suggested you create this manually.
kubectl create namespace bitwarden
kubectl create secret generic bitwarden-cli --namespace bitwarden --from-literal=BW_USERNAME=my_username --from-literal=BW_PASSWORD=my_password
# Alternative to the preceding line if you don't want the data in your shell history
kubectl create secret generic bitwarden-cli --namespace bitwarden --from-file=./BW_USERNAME.txt --from-file=./BW_PASSWORD.txt
# And yet an entirely other option, if I'm logged into my own systems
sudo cat /run/agenix/bw_secret | kubectl apply -f -
Now Configure Cluster Services
To apply this you need to install kubectl, kustomize, and helm. It can then by applied by simply invoking the command:
# Working directory is assumed to be the manifests directory
./apply.sh
Once the basic cluster stuff is setup, you can just apply this directory with
kubectl apply -k .