Provide more options for configuring cloud run application
Currently, applications deployed using runway has 2 ways to inject configuration into their application
-
.runway/env-{staging/production}.yml
to define environment variables that is mounted during deployment (https://gitlab.com/gitlab-com/gl-infra/platform/runway/runwayctl/-/blob/610149a37f49d46a8f0990d905731aad76697d90/reconciler/main.tf#L146) - declaring secrets in vault which are copied into google secrets manager (https://gitlab.com/gitlab-com/gl-infra/platform/runway/runwayctl/-/blob/610149a37f49d46a8f0990d905731aad76697d90/reconciler/main.tf#L158) and loaded at deployment
From @ayufan on slack,
As a workaround for config.toml we can build a docker image that expects CONFIG_TOML_BASE64 and decodes this to a file. It makes it not human readable via env, but should be enough for time being to test things end2end.
Given that we are working on the feature for "multiple cloud run services per runway service" (i.e. topology-service
will have a REST deployment and a gRPC deployment) #247 (closed), this is a good opportunity to improve how configs can be applied to runway deployments. /cc @gsgl