--- # yaml-language-server: $schema=https://taskfile.dev/schema.json version: '3' set: [pipefail] shopt: [globstar] vars: BOOTSTRAP_DIR: '{{.ROOT_DIR}}/bootstrap' KUBERNETES_DIR: '{{.ROOT_DIR}}/kubernetes' SCRIPTS_DIR: '{{.ROOT_DIR}}/scripts' BOOTSTRAP_CONFIG_FILE: '{{.ROOT_DIR}}/config.yaml' MAKEJINJA_CONFIG_FILE: '{{.ROOT_DIR}}/makejinja.toml' SOPS_CONFIG_FILE: '{{.ROOT_DIR}}/.sops.yaml' env: KUBECONFIG: '{{.ROOT_DIR}}/kubeconfig' PYTHONDONTWRITEBYTECODE: '1' SOPS_AGE_KEY_FILE: '{{.ROOT_DIR}}/age.key' VIRTUAL_ENV: '{{.ROOT_DIR}}/.venv' includes: bootstrap: .taskfiles/bootstrap kubernetes: .taskfiles/kubernetes talos: .taskfiles/talos workstation: .taskfiles/workstation user: taskfile: .taskfiles/User optional: true tasks: default: task --list init: desc: Initialize configuration files cmd: cp {{.BOOTSTRAP_CONFIG_FILE | replace ".yaml" ".sample.yaml"}} {{.BOOTSTRAP_CONFIG_FILE}} status: - test -f {{.BOOTSTRAP_CONFIG_FILE}} configure: desc: Render and validate configuration files prompt: Any conflicting config in the kubernetes directory will be overwritten... continue? deps: - init - bootstrap:age-keygen - workstation:direnv - workstation:venv cmds: - task: bootstrap:template - task: bootstrap:secrets - task: kubernetes:kubeconform