Files
Kubernetes-Build/docs/forgejo-runner
Janik von Rotz ab45865d6e refactor(docs): replace Vitepress with Zensical
- Remove Vitepress dependencies, config, and build scripts
- Replace Node-based documentation workflow with Zensical (MkDocs)
- Move documentation files to `docs/` directory
- Create `zensical.toml` configuration with navigation and theme settings
- Update `task` script to use `init/dev/build/serve-zensical-docs` commands
- Add `sync-docs` command to copy chart READMEs to docs folder
- Update `.gitignore`, `.helmignore`, and `AGENTS.md` for new structure
- Create symlinks for Helm repository artifacts in `docs/`
- Migrate custom CSS to `docs/assets/custom.css`
- Update internal links and navigation structure
- Delete prompt files `01` through `11` as tasks are completed
2026-10-06 09:54:16 +02:00
..

Mint System Forgejo Runner

Setup a Forgejo runner to run actions.

Secrets

To register the runner set up a forgejo-runner secret with the token.

FORGEJO_INSTANCE_TOKEN="*******"
kubectl create secret generic forgejo-runner \
    --from-literal=forgejoInstanceToken="$FORGEJO_INSTANCE_TOKEN" \
    -n <namespace>

Integration

Forgejo Buildx action

This role also provides a service account to access the Kubernetes cluster. With Buildx you can use the cluster as build enviroment. Export the kubeconfig to provide it in the Forgejo action with this command:

task generate-kubconfig buildx
name=buildx-sa-token
server=$(kubectl config view --minify --output 'jsonpath={.clusters[0].cluster.server}')
ca=$(kubectl get secret/$name -o jsonpath='{.data.ca\.crt}')
token=$(kubectl get secret/$name -o jsonpath='{.data.token}' | base64 --decode)
namespace=$(kubectl get secret/$name -o jsonpath='{.data.namespace}' | base64 --decode)

echo "
apiVersion: v1
kind: Config
clusters:
- name: default-cluster
  cluster:
    certificate-authority-data: ${ca}
    server: ${server}
contexts:
- name: default-context
  context:
    cluster: default-cluster
    namespace: default
    user: default-user
current-context: default-context
users:
- name: default-user
  user:
    token: ${token}
" > buildx.kubeconfig

Setup secret KUBECONFIG_BUILDX with content of the created kubeconfig.

Here is are examples of Forgejo action steps:

      - name: Create Kubeconfig for Buildx
        run: |
          mkdir -p $HOME/.kube
          echo "${{ secrets.KUBECONFIG_BUILDX }}" > $HOME/.kube/config

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3
        with:
          driver: kubernetes
          driver-opts: |
            namespace=codeberg

Parameters

Forgejo Runner parameters

Name Description Value
image The image for Forgejo Runner code.forgejo.org/forgejo/runner:9
imagePullPolicy Pull policy for Forgejo Runner image Always
forgejoInstanceUrl Forgejo instance url. https://codeberg.org
secretRef The secret reference for the Forgejo Runner forgejo-runner
storageClassName Set the storage class ""

Resources requests and limits

Name Description Value
resources.requests.memory Memory request for the container 500Mi
resources.requests.cpu CPU request for the container 100m
resources.limits.memory Memory limit for the container 1Gi