Collection of the Shivering-Isles infrastructure. https://gitops-docs.s3.shivering-isles.com/
  • Earthly 24.7%
  • Go Template 23%
  • HCL 18.4%
  • Shell 15.9%
  • Dockerfile 12.5%
  • Other 5.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Sheogorath c6bb6e6713
Some checks are pending
build-upload-runbooks Pipeline started
gitops-images Image build started
helm-chart-pipeline Pipeline completed successfully
build-upload-gitops-docs Pipeline started
Merge remote-tracking branch 'origin/renovate/siderolabs-talos-1.13.x'
2026-11-07 04:30:59 +01:00
.chglog chore(chglog): Style removal entires in changelog 2024-01-07 01:45:40 +01:00
.vale docs(vale): Add linting step to documentation 2024-01-01 19:39:00 +01:00
apps Merge remote-tracking branch 'origin/renovate/docker.io-gotenberg-gotenberg-8.x' 2026-11-06 17:54:47 +01:00
bin fix(longhorn): Make new local storage class "strict-local" 2026-09-13 00:48:58 +02:00
bootstrap chore(deps): update dependency external-snapshotter to v8.7.0 2026-10-14 06:08:23 +00:00
charts chore(deps): update quay.io/keycloak/keycloak docker tag to v26.8.2 2026-11-06 08:39:19 +00:00
clusters/k8s01 chore(deps): update dependency fluxcd/flux2 to v2.10.0 2026-10-27 06:08:06 +00:00
docs feat(piped): Initial deployment 2026-10-05 12:55:49 +02:00
go Merge remote-tracking branch 'origin/renovate/go-golang.org-x-net-vulnerability' 2026-10-16 20:28:21 +02:00
images Merge remote-tracking branch 'origin/renovate/siderolabs-talos-1.13.x' 2026-11-07 04:30:59 +01:00
infrastructure Merge remote-tracking branch 'origin/renovate/siderolabs-talos-1.13.x' 2026-11-07 04:30:59 +01:00
shared fix(shared): Add DNS policy to valkey outgoing network policy 2026-10-31 19:31:01 +01:00
talos Merge remote-tracking branch 'origin/renovate/siderolabs-talos-1.13.x' 2026-11-07 04:30:59 +01:00
tekton Merge remote-tracking branch 'origin/renovate/quay.io-containers-buildah-1.x' 2026-11-06 18:00:19 +01:00
terraform chore(deps): update terraform hcloud to v1.70.2 2026-11-03 07:45:11 +00:00
views chore(views): Remove test line from view-file 2022-01-30 00:21:24 +01:00
.gitignore feat(go): Migrate go projects to own sub directory 2026-09-11 22:50:27 +02:00
.gitleaksignore ci(gitleaks): Update ignore file 2026-07-16 12:43:28 +02:00
.sops.yaml fix(nas): Switch to probe for external service 2024-11-26 03:01:04 +01:00
.vale.ini docs(vale): Add linting step to documentation 2024-01-01 19:39:00 +01:00
Earthfile feat(task): Migrate more Earthly tasks to go-task 2026-08-23 23:43:14 +02:00
README.md docs: Update state of README 2026-09-01 18:35:58 +02:00
renovate.json ci(renovate): Fix typo in renovate config 2026-11-06 06:52:43 +01:00
Taskfile.dist.yaml feat(go): Migrate go projects to own sub directory 2026-09-11 22:50:27 +02:00

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
  • Harden egress NetworkPolicies keycloak, forecastle, matrix
  • Backup essential volumes using mc and 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