Files
Andriy Oblivantsev 7e4a3eeca2
Helm Chart CI & Release / Lint Helm Chart (push) Successful in 9s
Helm Chart CI & Release / Release Helm Chart (push) Has been skipped
Add AGENTS.md with project rules and conventions
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-19 19:55:47 +00:00

34 lines
1.5 KiB
Markdown

# 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`, `clean`
- `docs/` — theoretical architecture docs with Mermaid diagrams
- `.github/workflows/release.yaml` — Gitea Actions (lint on push, release on `v*` tag)
## Conventions
- Helm values: all Fleet config lives under `fleet:` key in `fleetdm-stack/values.yaml`
- Secrets: `fleet-secret.yaml` (TLS certs via `.Files.Get`), `mysql-secret-alias.yaml` (password alias)
- TLS certs generated by `make tls-certs` into `fleetdm-stack/certs/` (self-signed, local dev only)
- Local access: `make port-forward` on port 8585 (configurable via `FLEET_PORT`)
- DB migrations: `autoApplySQLMigrations: true` — no manual `fleet prepare db` needed
## CI/CD
- Gitea Actions runner uses manual `git clone` (not `actions/checkout`) due to Docker DNS
- Avoid piping to `head` in CI steps (causes SIGPIPE exit 141)
- Release job only triggers on `v*` tags via `if: 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-dev` password is for local dev only
- Do not remove `fleetdm-stack/certs/` from git — needed for Helm `.Files.Get` at package time