[FEATURE] Support generating warpgate.yaml from environment variables on startup
Description: Currently, Warpgate requires a pre-defined warpgate.yaml configuration file. For containerized deployments (e.g. AWS ECS, Kubernetes, Docker), it would be very helpful if Warpgate could generate and configure warpgate.yaml dynamically on startup, based on environment variables.
Use Case: We want to deploy Warpgate in an AWS ECS cluster. In this environment, configuration is usually injected via environment variables rather than static configuration files. For scalability and automation, it would be ideal if Warpgate could configure itself automatically at container startup.
Proposed Feature:
-
Allow Warpgate to generate warpgate.yaml at startup if it does not already exist.
-
Support configuring all key parameters via environment variables.
-
Optionally, provide a precedence model: environment variables > existing config file.
Benefits:
-
Simplifies cloud-native deployments (ECS, EKS, Kubernetes, Docker).
-
Eliminates the need to manage and mount static configuration files.
-
Enables automated scaling and ephemeral workloads where configuration must be injected dynamically.
+1 for this feature ! Especially the ability to provision an admin account + an API token so that targets/clients can then be added automatically.
Nah, that's not the way you should configure warpgate at startup. Just map a file to the correct location. In K8S, for instance, map a ConfigMap key to /data/warpgate.yaml, map Secret to the /data/.pem and /data/ssh-keys/(as needed), and no further requirements are needed in this docker image.
What you are really asking for is a helm chart. But even before that, you can just directly embed the about files as inline yaml strings, or {{ readFile }} in a helmfile type setup.