0
0
Fork
You've already forked thiscloud
0
Talos single cluster managed via Tofu and Flux in Vultr
  • Makefile 56.8%
  • HCL 41.5%
  • Nix 1.7%
Find a file
thisago 571e75707e
All checks were successful
push / apply (push) Successful in 1m2s
docs: readme
2026年04月26日 19:25:29 -03:00
.forgejo/workflows fix(ci): rebase states with theirs strategy 2026年04月21日 19:53:35 -03:00
clusters/prod chore(apps/bible): fetch db 2026年04月26日 19:23:58 -03:00
infra chore(makefile): clean 2026年04月26日 18:45:04 -03:00
patches ci: push 2026年04月21日 16:41:03 -03:00
states @4c8eb77b81 submodule: states 2026年04月21日 19:16:37 -03:00
.env.example chore: remove firewall 2026年04月21日 16:59:32 -03:00
.gitignore ci: push 2026年04月21日 16:41:03 -03:00
.gitmodules ci: pr and push 2026年04月21日 16:19:36 -03:00
.projectile ci: push 2026年04月21日 17:12:21 -03:00
Makefile fix(makefile): group talos-apply fallback in brace 2026年04月21日 19:35:56 -03:00
README.org docs: readme 2026年04月26日 19:25:29 -03:00
shell.nix feat: scaffold Vultr Talos GitOps cluster 2026年04月20日 15:41:29 -03:00
utils.mk chore(makefile/utils): fix state commit 2026年04月21日 18:08:02 -03:00

thiscloud

Online apps

find clusters/prod/apps/ -name ingress.yaml |
 xargs -I{} yq '.spec.rules[].host | "https://" + .' '{}'

Running the infra

Requirements

  • nix-shell or the dependencies:

    • opentofu
    • talosctl
    • fluxcd
    • kubectl
    • gnumake
    • curl
    • jq
    • bash
    • gnused
    • gnugrep
    • openssh
    • git
    • pass
  • A Vultr API token stored in pass
  • A private states repository.

Getting started

  1. Install dependencies or enter nix-shell.
  2. Setup .env
  3. Provision the Vultr VM and Talos ISO.

    make infra-apply
  4. Generate Talos configs and apply them to the node:

    make talos-apply
  5. Bootstrap etcd. Runs only once; states/.bootstrapped prevents re-runs:

    make talos-bootstrap
  6. Fetch the kubeconfig:

    make kubeconfig
  7. Print the Flux public SSH key to allow access to your repo:

    make cat-flux-pub-ssh-key
  8. Bootstrap Flux on the cluster:

    make flux-bootstrap

Next steps

  • Custom domain
  • CI for Flux manifest validation
  • Install ozzuu/bible
  • Observability
  • Encrypt states/
  • Re-enable admin firewall for Talos API (50000) and Kubernetes API (6443)