No description
- Earthly 43.2%
- Go Template 20.7%
- HCL 16.6%
- Shell 13.7%
- Go 4.1%
- Other 1.7%
| .chglog | ||
| .vale | ||
| apps | ||
| bin | ||
| bootstrap | ||
| charts | ||
| clusters/k8s01 | ||
| docs | ||
| images | ||
| infrastructure | ||
| shared | ||
| talos | ||
| tekton | ||
| terraform | ||
| views | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .gitleaksignore | ||
| .sops.yaml | ||
| .vale.ini | ||
| Earthfile | ||
| README.md | ||
| renovate.json | ||
Shivering-Isles GitOps Infrastructure
This repository has become the centre of Shivering-Isles Infrastructure. It homes basically all deployments of software, various custom container images, various self-maintained helm charts and more.
Usage
For SI-GitLab this would look like this:
export GITLAB_TOKEN=<project access token able to write the API and repository>
flux bootstrap gitlab \
--hostname=git.shivering-isles.com \
--ssh-hostname=git.shivering-isles.com:2222 \
--ssh-key-algorithm ed25519 \
--owner=<your user / team> \
--repository=<your repository name> \
--path=clusters/<your cluster name>
Ideas & ToDo's
This toolchain is still under development. Before it will be used in production there are still some things left to do:
- Buy hardware for the project.
- Provide CLI container that contains all tools.
- Automate overlay network deployment (calico)
- Use encrypted overlay network (calico+wireguard)
- Automate cluster monitoring deployment (kube-prometheus)
- Automate ingress-controller deployment (ingress-nginx)
- Automate policy enforcement (kyverno) deployment
- Encrypt root filesystems for all nodes (LUKS + clevis)
- Enforce SELinux on the deployed machines
- Automate system upgrades using Kubernetes (system-upgrade-controller)
- Automate system configuration using Kubernetes (system-upgrade-controller)
- Provide an fully encrypted (handled on host level) storage class (longhorn)
- Deploy cert-manager
- Deploy credentials for cert-manager
- Automate ingress-controller default certificate deployment
- Add encrypted deployment instructions (SOPS + fluxcd)
- Integrate Renovatebot with this repository to manage updates.
- Automate Kubernetes upgrades
- Automate ingress-controller configuration for proxy-protocol
- Migrate apps to GitOps and Kubernetes
- Deploy kubelet with proper certificates
- Centralised logging (using loki/greylog/ELK/…)
- Add secure runtime class (gVisor/kata-container/…) for exposed containers
- Move to immutable base-system
- Set Priority classes for workloads (on namespace level it's done, but helm releases still need adjustment)
- Migrate to Forgejo
- Kubernetes
- fluxcd source
- fluxcd webhook
- renovate
- Tekton
- Restore SI-GitLab repositories
- infrastructure-gitops
- infrastructure
- hcloud-dynfw
- blog
- …
- Restore helm releases and alike
- Kubernetes
- Harden egress NetworkPolicies keycloak, forecastle, matrix
- Backup essential volumes using
mcand client-side encryption and Object Locks - Migrate S3 from Minio to VersityGw
- Mastodon
- Hedgedoc
- gitops-docs
- runbooks
- postgres-operator logical backup
- postgres-operator WAL/Base backup
- longhorn backup
- blog-archive
- gitlab-runner-cache
- shelly-firmware
- togehter