1.5 KiB
1.5 KiB
FleetDM Stack — Project Rules
Project Overview
Helm-based deployment of FleetDM Server + MySQL + Redis on local Kubernetes (Kind/Minikube). Gitea Actions CI at https://git.produktor.io/eSlider/flamingo-tech-test
Structure
fleetdm-stack/— Helm umbrella chart (Fleet subchart brings MySQL + Redis)Makefile— cluster lifecycle:cluster,install,uninstall,verify,port-forward,cleandocs/— theoretical architecture docs with Mermaid diagrams.github/workflows/release.yaml— Gitea Actions (lint on push, release onv*tag)
Conventions
- Helm values: all Fleet config lives under
fleet:key infleetdm-stack/values.yaml - Secrets:
fleet-secret.yaml(TLS certs via.Files.Get),mysql-secret-alias.yaml(password alias) - TLS certs generated by
make tls-certsintofleetdm-stack/certs/(self-signed, local dev only) - Local access:
make port-forwardon port 8585 (configurable viaFLEET_PORT) - DB migrations:
autoApplySQLMigrations: true— no manualfleet prepare dbneeded
CI/CD
- Gitea Actions runner uses manual
git clone(notactions/checkout) due to Docker DNS - Avoid piping to
headin CI steps (causes SIGPIPE exit 141) - Release job only triggers on
v*tags viaif: startsWith(gitea.ref, 'refs/tags/v')
Do Not
- Do not modify
TASKS.md— it is the assignment spec - Do not commit real credentials;
fleetdm-local-devpassword is for local dev only - Do not remove
fleetdm-stack/certs/from git — needed for Helm.Files.Getat package time