Support exporting install configuration as environment variables for stateless deployments
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- go, helm, kubernetes
- Área
- backend, cloud, devops, infrastructure
Línea de trabajo
El issue no menciona archivos ni pruebas; empieza rastreando el flujo de instalación, el manejo de AUTO_INSTALL, la carga de config.yaml y la configuración del chart de Helm. Se considerará completado cuando la configuración en tiempo de ejecución pueda exportarse y consumirse mediante variables de entorno documentadas, admita una base de datos externa ya inicializada sin config.yaml, preserve la compatibilidad con versiones anteriores y evite exponer secretos en los logs habituales.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is your feature request related to a problem? Please describe
Answer's installation flow generates /data/conf/config.yaml, and the Helm chart notes that persistence is required so config.yaml survives restarts. AUTO_INSTALL accepts environment variables for initial setup, but those variables are not used as the runtime configuration afterward.
This makes configuration-stateless container deployments difficult. A pod with a disposable filesystem cannot restart or scale from an already initialized external database using environment variables and secrets alone. Operators must persist or mount the generated config.yaml, or rerun the one-time installer, which is not appropriate once the database has already been initialized.
Describe the solution you'd like
Please allow the install flow to export the effective post-install configuration as a complete, documented set of environment variables, and allow normal Answer startup to consume those variables without requiring config.yaml.
Expected behavior could include:
- An explicit install option or endpoint that exports the effective runtime configuration in a machine-readable environment-variable format, such as dotenv or shell output.
- An environment-variable equivalent for every
config.yamlvalue required at runtime, with documented precedence when both sources are present. - A fresh Answer instance can connect to an already initialized external database and start using only the exported environment variables, without a local
config.yaml. - Secrets are never printed to ordinary logs; exporting secret-bearing values requires an explicit action and can be directed to a secret manager.
- Existing
config.yaml-based deployments remain backward compatible.
This would make Answer easier to run with immutable images, disposable pods, Kubernetes Secrets, and externally managed databases.
Describe alternatives you've considered
- Persist
/data/confon a volume. - Generate and mount
config.yamlfrom a ConfigMap or Secret. - Use an init container or entrypoint template to recreate
config.yamlon every start. - Keep using
AUTO_INSTALL, although it is a one-time initialization path and fails or becomes inappropriate after the database has already been initialized.
- Lenguaje dominante
- Go
- Estrellas
- 15.7k
- Forks
- 1.4k
- Merge medio
- 1 d 20 h
- PR fusionados (30 d)
- 6
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/answer
-
List button click not working Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Hardening: cap the invite_user list size in UpdateQuestionInviteUser to bound notification fan-out Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Gravatar hash is computed from the un-lowercased email, so mixed-case accounts render an identicon Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Todos los issues de apache/answer
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
bug group: validation priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
codecheckers/chekhov#51 ·
-
Creating worktree from an existing remote branch with a slash in it, has unexpected behaviour Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100