La pregunta es ¿cómo puedo configurar los secretos de la aplicación para que estén disponibles en application.yml ?
En heroku lo estaba haciendo simplemente, configurando la variable de entorno para dyno, y accediendo a ella como:
server: port: ${PORT} security: user: password: ${USERPASSWORD} eureka: client: register-with-eureka: false fetch-registry: false instance: hostname: localhost securePortEnabled: true password: ${EUREKAPASSWORD} ¿Cómo lograr eso en Google App Engine? Estaba intentando con el almacén de datastore : 
Desafortunadamente, no sé cómo inyectar esos valores en mi archivo * .yml.
EDITAR:
Una cosa más importante para agregar. Estoy usando el complemento maven appengine para implementar mi aplicación a través de la canalización de CI, por lo que no hay posibilidad de que envíe el archivo app.yaml a App Engine.
Si desea almacenar secretos que están disponibles para la aplicación en tiempo de ejecución, mantenerlos en el almacén de datos no es una mala idea. Conozco muchas aplicaciones que hacen eso.
Aquí hay una aplicación utilizada por Khan Academy que es un buen ejemplo de almacenamiento de credenciales secretas en el almacén de datos. Está en Python, pero puedes hacerte una idea general. Tenga en cuenta que en el primer inicio de sesión de administrador , solicita los secretos para almacenar.
Google también tiene un tutorial sobre cómo almacenar secretos cifrados. https://cloud.google.com/kms/docs/store-secrets
TLDR: un cubo separado para almacenar los secretos cifrados, las instancias lo descargan cuando sea necesario, lo descifran con Google KMS ( https://cloud.google.com/kms/ ) y lo eliminan después.
La forma mejor y más segura es utilizar GCP KMS o algún producto de administración de secretos de terceros como Vault .
KMS de GCP
Almacén de datos
Sí. Podemos almacenar variables de entorno de credenciales/secretos en el almacén de datos y obtenerlas en tiempo de ejecución en el código de la aplicación.
Ventajas:
Contras:
metadatos de la GCE
Solía usar el servidor de metadatos GCE para almacenar mis variables de entorno secretas.
Ventajas:
Es compatible con GAE, GCE, GKE.
Muy simple. Solo necesitamos enviar solicitudes HTTP al http://metadata.google.internal/computeMetadata/v1/ endpoint para obtener nuestros metadatos personalizados (las variables de entorno secretas).
Contras:
El año pasado, los metadatos de GCE no son compatibles con Cloud Function. (tiempo de ejecución: nodejs10). No puedo obtener mis variables de entorno de secretos personalizados de los metadatos de GCE dentro de la función de nube. Pero los metadatos incorporados se pueden recuperar, como projectId .
la seguridad no es tan buena como KMS.
mapa de configuración y secretos (solo para GKE)
El cifrado base64 simple es posible. Dificultad media de uso. La seguridad no es tan buena como KMS.
Otra forma de hackear
También creo una publicación para esta pregunta aquí: ¿Cómo pasar variables de entorno del sistema a app.yaml?
Sí, la forma de script de Linux puede hacer todo. Pero no me gustan estos trucos.