# Komodo resources — parking appliance fleet (control plane as code) # # Synced into Komodo Core via a ResourceSync pointing at this file. Drives the SAME # compose files the booth runs locally (docker-compose.yml + docker-compose.prod.yml); # Komodo Periphery on each booth executes them. See: # wiki/decisions/fleet-deployment-komodo.md (rationale + threat model) # wiki/decisions/container-deployment.md (image build/tag/registry — unchanged) # # This file mirrors the WORKING park-buzi Stack (built by hand in the Core UI, then # exported to TOML). Field names match the running Komodo version (v2.2). # # NO [[server]] block: servers are created by the AGENT onboarding outbound (a one-time # onboarding key → Periphery self-registers with auto-rotating key pairs). The sync owns # only the Stack; it references the server by the name it onboarded as (`connect_as`). # # Secrets ([[park_buzi_jwt_secret]] etc.) are REFERENCES to Komodo Core's secret store — # per-booth + unique, never inlined here (this file is in git). JWT_SECRET gates login; # EVENT_SIGNING_KEY signs the append-only anti-fraud ledger. # # Deploys are MANUAL + PINNED in spirit: bump TAG to an immutable dev- before a # production booth goes live (TAG=dev here is the moving tag, fine while staging). NO # deploy webhook is attached to a booth Stack. ############################################################################## # Stack — the deployable unit for booth "park-buzi". One Stack per booth; add a # new [[stack]] block per site (unique name, its own per-booth secret refs). ############################################################################## [[stack]] name = "park-buzi" [stack.config] server = "park-buzi" git_provider = "git.infra.msai.al" git_account = "komodo" repo = "mca/parking_solution" branch = "dev" file_paths = [ "docker-compose.yml", "docker-compose.prod.yml" ] registry_provider = "git.infra.msai.al" registry_account = "komodo" environment = """ REGISTRY=git.infra.msai.al/mca/parking_solution TAG=dev COOKIE_SECURE=0 VISION_ENABLED=1 WS_ALLOWED_ORIGINS= JWT_SECRET=[[park_buzi_jwt_secret]] EVENT_SIGNING_KEY=[[park_buzi_event_signing_key]] """