| .forgejo/workflows | ||
| .husky | ||
| bin | ||
| flux | ||
| k3s-host | ||
| .editorconfig | ||
| .gitignore | ||
| .lintstagedrc.json | ||
| .markdownlint-cli2.cjs | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc.json | ||
| k8s-forgefriends.md | ||
| k8s-forgejo.md | ||
| k8s-maintenance.md | ||
| k8s.md | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| renovate.json | ||
There is a dedicated chatroom. A mirror of this repository is available at https://codeberg.org/forgejo/k8s-cluster.
Table of content
- Setting up a new K8S/DRBD/NFS k8s node deployed with flux.
- Maintenance and disaster recovery of a K8S/DRBD/NFS k8s node
- Installing a Forgejo instance in the K8S cluster
- Installing a forgefriends instance in the K8S cluster
- Local Development
Monitoring
Cluster monitoring will send warnings to a private Matrix chatroom dedicated to this purpose. The error messages may contain sensitive information. They should not but they are error messages after all and that possibility cannot be dismissed.
The forgejo-matrix-devops account on matrix.org is associated with the matrix-devops at forgejo.org email which is an alias to contact. The password, session keys etc. are not stored anywhere. If there ever is a need for manual interaction with this account, the password will have to be reset.
The monitors related to a deployment (v*.next for instance) should be removed before removing the instance to avoid false negative.
hetzner{05,06}
https://hetzner05.forgejo.org & https://hetzner06.forgejo.org run on EX44 Hetzner hardware.
Nodes of a k8s cluster.
Development
Install following tools locally:
nodepnpmor enablecorepackhelmfluxyq
Run pnpm install after code checkout to prepare development.
This installs git hooks to fix simple lint issues.
You can run pnpm lint to run all lint checks.
Hacking
Evaluate a Forgejo helm release to verify the output is as expected before submitting a pull request, for instance after changing flux/apps/forgejo-code/forgejo-code.yaml.
helm template -f <(yq .spec.values forgejo-code.yaml) oci://code.forgejo.org/forgejo-helm/forgejo
Note that although flux build kustomization forgejo-code --path ./flux/clusters --kustomization-file ./flux/clusters/forgejo-code.yaml --dry-run will work, it will not call helm template and is not useful in that context.