From dbf311ee0082416c2b61fa65ca0e2b4780bc99c9 Mon Sep 17 00:00:00 2001 From: Nick Beenham <1985327+superbeeny@users.noreply.github.com> Date: Wed, 28 Aug 2024 13:38:49 -0400 Subject: [PATCH 1/4] Fixes #1205 - updating bicep files for new container environment variable schema Signed-off-by: Nick Beenham <1985327+superbeeny@users.noreply.github.com> --- .../aws/howto-aws-resources/snippets/app.bicep | 16 ++++++++++++---- .../aws/howto-aws-resources/snippets/s3app.bicep | 16 ++++++++++++---- .../author-apps/aws/overview/snippets/aws.bicep | 16 ++++++++++++---- .../snippets/container-wi.bicep | 12 +++++++++--- .../overview/snippets/azure-connection.bicep | 4 +++- .../howto-extenders/snippets/app-container.bicep | 16 ++++++++++++---- .../overview/snippets/dapr-componentname.bicep | 4 +++- .../overview/snippets/service-invocation.bicep | 4 +++- .../snippets/app-kubernetes.bicep | 4 +++- .../snippets/kubernetes-connection.bicep | 4 +++- .../snippets/app-redis-manual.bicep | 4 +++- .../container-schema/snippets/container.bicep | 8 ++++++-- .../extender/snippets/extender-manual.bicep | 12 +++++++++--- .../extender/snippets/extender-recipe.bicep | 12 +++++++++--- .../tutorials/new-app/snippets/2-app-mongo.bicep | 4 +++- .../new-app/snippets/3-app-backend.bicep | 4 +++- .../new-app/snippets/4-app-gateway.bicep | 4 +++- .../tutorials/tutorial-dapr/snippets/dapr.bicep | 8 ++++++-- .../reference-apps/aws-rds/snippets/app.bicep | 16 ++++++++++++---- .../reference-apps/aws-sqs/snippets/app.bicep | 16 ++++++++++++---- 20 files changed, 138 insertions(+), 46 deletions(-) diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/app.bicep b/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/app.bicep index 818e482b7..b152b2a8b 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/app.bicep +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/app.bicep @@ -40,10 +40,18 @@ resource frontend 'Applications.Core/containers@2023-10-01-preview' = { application: app.id container: { env: { - BUCKET_NAME: s3.properties.BucketName - AWS_ACCESS_KEY_ID: aws_access_key_id - AWS_SECRET_ACCESS_KEY: aws_secret_access_key - AWS_DEFAULT_REGION: aws_region + BUCKET_NAME: { + value: s3.properties.BucketName + } + AWS_ACCESS_KEY_ID: { + value: aws_access_key_id + } + AWS_SECRET_ACCESS_KEY: { + value: aws_secret_access_key + } + AWS_DEFAULT_REGION: { + value: aws_region + } } image: 'ghcr.io/radius-project/samples/aws:latest' } diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3app.bicep b/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3app.bicep index 59c154e54..d0cb3e1cc 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3app.bicep +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3app.bicep @@ -41,10 +41,18 @@ resource frontend 'Applications.Core/containers@2023-10-01-preview' = { application: app.id container: { env: { - BUCKET_NAME: s3.properties.BucketName - AWS_ACCESS_KEY_ID: aws_access_key_id - AWS_SECRET_ACCESS_KEY: aws_secret_access_key - AWS_DEFAULT_REGION: aws_region + BUCKET_NAME: { + value: s3.properties.BucketName + } + AWS_ACCESS_KEY_ID: { + value: aws_access_key_id + } + AWS_SECRET_ACCESS_KEY: { + value: aws_secret_access_key + } + AWS_DEFAULT_REGION: { + vaue: aws_region + } } image: 'ghcr.io/radius-project/samples/aws:latest' } diff --git a/docs/content/guides/author-apps/aws/overview/snippets/aws.bicep b/docs/content/guides/author-apps/aws/overview/snippets/aws.bicep index 8dfcfda1e..943cc5171 100644 --- a/docs/content/guides/author-apps/aws/overview/snippets/aws.bicep +++ b/docs/content/guides/author-apps/aws/overview/snippets/aws.bicep @@ -36,10 +36,18 @@ resource frontend 'Applications.Core/containers@2023-10-01-preview' = { application: app.id container: { env: { - BUCKET_NAME: s3.properties.BucketName - AWS_ACCESS_KEY_ID: aws_access_key_id - AWS_SECRET_ACCESS_KEY: aws_secret_access_key - AWS_DEFAULT_REGION: aws_region + BUCKET_NAME: { + value: s3.properties.BucketName + } + AWS_ACCESS_KEY_ID: { + value: aws_access_key_id + } + AWS_SECRET_ACCESS_KEY: { + value: aws_secret_access_key + } + AWS_DEFAULT_REGION: { + value: aws_region + } } image: 'ghcr.io/radius-project/samples/aws:latest' } diff --git a/docs/content/guides/author-apps/azure/howto-azure-resources/snippets/container-wi.bicep b/docs/content/guides/author-apps/azure/howto-azure-resources/snippets/container-wi.bicep index a6aa33097..ba161e594 100644 --- a/docs/content/guides/author-apps/azure/howto-azure-resources/snippets/container-wi.bicep +++ b/docs/content/guides/author-apps/azure/howto-azure-resources/snippets/container-wi.bicep @@ -43,9 +43,15 @@ resource container 'Applications.Core/containers@2023-10-01-preview' = { container: { image: 'ghcr.io/azure/azure-workload-identity/msal-go:latest' env: { - KEYVAULT_NAME: keyvault.name - KEYVAULT_URL: keyvault.properties.vaultUri - SECRET_NAME: 'mysecret' + KEYVAULT_NAME: { + value: keyvault.name + } + KEYVAULT_URL: { + value: keyvault.properties.vaultUri + } + SECRET_NAME: { + value: 'mysecret' + } } } connections: { diff --git a/docs/content/guides/author-apps/azure/overview/snippets/azure-connection.bicep b/docs/content/guides/author-apps/azure/overview/snippets/azure-connection.bicep index 51b857e96..a30e02434 100644 --- a/docs/content/guides/author-apps/azure/overview/snippets/azure-connection.bicep +++ b/docs/content/guides/author-apps/azure/overview/snippets/azure-connection.bicep @@ -31,7 +31,9 @@ resource container 'Applications.Core/containers@2023-10-01-preview' = { container: { image: 'myimage' env: { - REDIS_HOST: cache.properties.hostName + REDIS_HOST: { + value: cache.properties.hostName + } } } connections: { diff --git a/docs/content/guides/author-apps/custom/howto-extenders/snippets/app-container.bicep b/docs/content/guides/author-apps/custom/howto-extenders/snippets/app-container.bicep index 6f946c74d..b640b39a2 100644 --- a/docs/content/guides/author-apps/custom/howto-extenders/snippets/app-container.bicep +++ b/docs/content/guides/author-apps/custom/howto-extenders/snippets/app-container.bicep @@ -25,10 +25,18 @@ resource demo 'Applications.Core/containers@2023-10-01-preview' = { container: { image: 'ghcr.io/radius-project/samples/demo:latest' env: { - POSTGRESQL_HOST: extender.properties.host - POSTGRESQL_PORT: extender.properties.port - POSTGRESQL_USERNAME: extender.properties.username - POSTGRESQL_PASSWORD: extender.listSecrets().password + POSTGRESQL_HOST: { + value: extender.properties.host + } + POSTGRESQL_PORT: { + value: extender.properties.port + } + POSTGRESQL_USERNAME: { + value: extender.properties.username + } + POSTGRESQL_PASSWORD: { + value: extender.listSecrets().password + } } ports: { web: { diff --git a/docs/content/guides/author-apps/dapr/overview/snippets/dapr-componentname.bicep b/docs/content/guides/author-apps/dapr/overview/snippets/dapr-componentname.bicep index cd4f9b7d2..d9cbd7a6c 100644 --- a/docs/content/guides/author-apps/dapr/overview/snippets/dapr-componentname.bicep +++ b/docs/content/guides/author-apps/dapr/overview/snippets/dapr-componentname.bicep @@ -30,7 +30,9 @@ resource container 'Applications.Core/containers@2023-10-01-preview' = { image: 'myimage' env: { // Option 1: Manually set component name as an environment variable - DAPR_COMPONENTNAME: statestore.name + DAPR_COMPONENTNAME: { + value: statestore.name + } } } connections: { diff --git a/docs/content/guides/author-apps/dapr/overview/snippets/service-invocation.bicep b/docs/content/guides/author-apps/dapr/overview/snippets/service-invocation.bicep index 1728853a6..1e8b3c565 100644 --- a/docs/content/guides/author-apps/dapr/overview/snippets/service-invocation.bicep +++ b/docs/content/guides/author-apps/dapr/overview/snippets/service-invocation.bicep @@ -32,7 +32,9 @@ resource frontend 'Applications.Core/containers@2023-10-01-preview' = { image: 'frontend:latest' env: { // Configures the appID of the backend service. - CONNECTION_BACKEND_APPID: 'backend' + CONNECTION_BACKEND_APPID: { + value: 'backend' + } } } extensions: [ diff --git a/docs/content/guides/author-apps/kubernetes/how-to-kubernetes-resource/snippets/app-kubernetes.bicep b/docs/content/guides/author-apps/kubernetes/how-to-kubernetes-resource/snippets/app-kubernetes.bicep index bae91823e..5ccca757a 100644 --- a/docs/content/guides/author-apps/kubernetes/how-to-kubernetes-resource/snippets/app-kubernetes.bicep +++ b/docs/content/guides/author-apps/kubernetes/how-to-kubernetes-resource/snippets/app-kubernetes.bicep @@ -27,7 +27,9 @@ resource demo 'Applications.Core/containers@2023-10-01-preview' = { } } env: { - SECRET: base64ToString(secret.data['my-secret-key']) + SECRET: { + value: base64ToString(secret.data['my-secret-key']) + } } } } diff --git a/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-connection.bicep b/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-connection.bicep index 5de98a196..ff6b76a6c 100644 --- a/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-connection.bicep +++ b/docs/content/guides/author-apps/kubernetes/overview/snippets/kubernetes-connection.bicep @@ -29,7 +29,9 @@ resource container 'Applications.Core/containers@2023-10-01-preview' = { container: { image: 'nginx:latest' env: { - SECRET: base64ToString(secret.data.key) + SECRET: { + value: base64ToString(secret.data.key) + } } } } diff --git a/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/snippets/app-redis-manual.bicep b/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/snippets/app-redis-manual.bicep index 64d3664ae..58c768fd0 100644 --- a/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/snippets/app-redis-manual.bicep +++ b/docs/content/guides/author-apps/portable-resources/howto-author-portable-resources/snippets/app-redis-manual.bicep @@ -32,7 +32,9 @@ resource container 'Applications.Core/containers@2023-10-01-preview' = { image: 'ghcr.io/radius-project/samples/demo:latest' env: { // Manually access Redis connection information - REDIS_CONNECTION: redis.listSecrets().connectionString + REDIS_CONNECTION: { + value: redis.listSecrets().connectionString + } } ports: { web: { diff --git a/docs/content/reference/resource-schema/core-schema/container-schema/snippets/container.bicep b/docs/content/reference/resource-schema/core-schema/container-schema/snippets/container.bicep index 2ce1dfb56..3542433f4 100644 --- a/docs/content/reference/resource-schema/core-schema/container-schema/snippets/container.bicep +++ b/docs/content/reference/resource-schema/core-schema/container-schema/snippets/container.bicep @@ -23,8 +23,12 @@ resource frontend 'Applications.Core/containers@2023-10-01-preview' = { container: { image: 'registry/container:tag' env:{ - DEPLOYMENT_ENV: 'prod' - DB_CONNECTION: db.listSecrets().connectionString + DEPLOYMENT_ENV: { + value: 'prod' + } + DB_CONNECTION: { + value: db.listSecrets().connectionString + } } ports: { http: { diff --git a/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-manual.bicep b/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-manual.bicep index 7bd90a8be..629cafb35 100644 --- a/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-manual.bicep +++ b/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-manual.bicep @@ -32,9 +32,15 @@ resource publisher 'Applications.Core/containers@2023-10-01-preview' = { container: { image: 'ghcr.io/radius-project/magpiego:latest' env: { - TWILIO_NUMBER: twilio.properties.fromNumber - TWILIO_SID: twilio.listSecrets().accountSid - TWILIO_ACCOUNT: twilio.listSecrets().authToken + TWILIO_NUMBER: { + value: twilio.properties.fromNumber + } + TWILIO_SID: { + value: twilio.listSecrets().accountSid + } + TWILIO_ACCOUNT: { + value: twilio.listSecrets().authToken + } } } } diff --git a/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-recipe.bicep b/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-recipe.bicep index e5c7bac07..0af42826a 100644 --- a/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-recipe.bicep +++ b/docs/content/reference/resource-schema/core-schema/extender/snippets/extender-recipe.bicep @@ -23,9 +23,15 @@ resource publisher 'Applications.Core/containers@2023-10-01-preview' = { container: { image: 'ghcr.io/radius-project/magpiego:latest' env: { - TWILIO_NUMBER: twilio.properties.fromNumber - TWILIO_SID: twilio.listSecrets().accountSid - TWILIO_ACCOUNT: twilio.listSecrets().authToken + TWILIO_NUMBER: { + value: twilio.properties.fromNumber + } + TWILIO_SID: { + value: twilio.listSecrets().accountSid + } + TWILIO_ACCOUNT: { + value: twilio.listSecrets().authToken + } } } } diff --git a/docs/content/tutorials/new-app/snippets/2-app-mongo.bicep b/docs/content/tutorials/new-app/snippets/2-app-mongo.bicep index 44924ab8d..71fad3fdb 100644 --- a/docs/content/tutorials/new-app/snippets/2-app-mongo.bicep +++ b/docs/content/tutorials/new-app/snippets/2-app-mongo.bicep @@ -12,7 +12,9 @@ resource demo 'Applications.Core/containers@2023-10-01-preview' = { container: { image: 'ghcr.io/radius-project/samples/tutorial/demo:edge' env: { - FOO: 'bar' + FOO: { + value: 'bar' + } } ports: { web: { diff --git a/docs/content/tutorials/new-app/snippets/3-app-backend.bicep b/docs/content/tutorials/new-app/snippets/3-app-backend.bicep index 0e34c79d0..cfcd6fc9e 100644 --- a/docs/content/tutorials/new-app/snippets/3-app-backend.bicep +++ b/docs/content/tutorials/new-app/snippets/3-app-backend.bicep @@ -15,7 +15,9 @@ resource demo 'Applications.Core/containers@2023-10-01-preview' = { container: { image: 'ghcr.io/radius-project/samples/tutorial/demo:edge' env: { - FOO: 'bar' + FOO: { + value: 'bar' + } } ports: { web: { diff --git a/docs/content/tutorials/new-app/snippets/4-app-gateway.bicep b/docs/content/tutorials/new-app/snippets/4-app-gateway.bicep index 60443e24e..2cc822376 100644 --- a/docs/content/tutorials/new-app/snippets/4-app-gateway.bicep +++ b/docs/content/tutorials/new-app/snippets/4-app-gateway.bicep @@ -15,7 +15,9 @@ resource demo 'Applications.Core/containers@2023-10-01-preview' = { container: { image: 'ghcr.io/radius-project/samples/tutorial/demo:edge' env: { - FOO: 'bar' + FOO: { + value: 'bar' + } } ports: { web: { diff --git a/docs/content/tutorials/tutorial-dapr/snippets/dapr.bicep b/docs/content/tutorials/tutorial-dapr/snippets/dapr.bicep index ae0a8c95b..c3ee94432 100644 --- a/docs/content/tutorials/tutorial-dapr/snippets/dapr.bicep +++ b/docs/content/tutorials/tutorial-dapr/snippets/dapr.bicep @@ -58,9 +58,13 @@ resource frontend 'Applications.Core/containers@2023-10-01-preview' = { image: 'ghcr.io/radius-project/samples/dapr-frontend:latest' env: { // An environment variable to tell the frontend container where to find the backend - CONNECTION_BACKEND_APPID: 'backend' + CONNECTION_BACKEND_APPID: { + value: 'backend' + } // An environment variable to override the default port that .NET Core listens on - ASPNETCORE_URLS: 'http://*:8080' + ASPNETCORE_URLS: { + value: 'http://*:8080' + } } // The frontend container exposes port 8080, which is used to serve the UI ports: { diff --git a/holding-pen/reference-apps/aws-rds/snippets/app.bicep b/holding-pen/reference-apps/aws-rds/snippets/app.bicep index 1fcfcee96..912f28e89 100644 --- a/holding-pen/reference-apps/aws-rds/snippets/app.bicep +++ b/holding-pen/reference-apps/aws-rds/snippets/app.bicep @@ -49,10 +49,18 @@ resource wordpress 'Applications.Core/containers@2023-10-01-preview' = { } } env: { - WORDPRESS_DB_HOST: '${db.properties.Endpoint.Address}:${db.properties.Endpoint.Port}' - WORDPRESS_DB_USER: databaseUsername - WORDPRESS_DB_PASSWORD: databasePassword - WORDPRESS_DB_NAME: databaseName + WORDPRESS_DB_HOST: { + value: '${db.properties.Endpoint.Address}:${db.properties.Endpoint.Port}' + } + WORDPRESS_DB_USER: { + value: databaseUsername + } + WORDPRESS_DB_PASSWORD: { + value: databasePassword + } + WORDPRESS_DB_NAME: { + value: databaseName + } } } } diff --git a/holding-pen/reference-apps/aws-sqs/snippets/app.bicep b/holding-pen/reference-apps/aws-sqs/snippets/app.bicep index c25cf1aa8..6e0f7da4d 100644 --- a/holding-pen/reference-apps/aws-sqs/snippets/app.bicep +++ b/holding-pen/reference-apps/aws-sqs/snippets/app.bicep @@ -39,8 +39,12 @@ resource producer 'Applications.Core/containers@2023-10-01-preview' = { container: { env: union( { - SQS_QUEUE_URL: queue.properties.QueueUrl - HTTP_SERVER_PORT: '3000' + SQS_QUEUE_URL: { + value: queue.properties.QueueUrl + } + HTTP_SERVER_PORT: { + value: '3000' + } }, aws_credential ) @@ -56,8 +60,12 @@ resource consumer 'Applications.Core/containers@2023-10-01-preview' = { container: { env: union( { - SQS_QUEUE_URL: queue.properties.QueueUrl - HTTP_SERVER_PORT: '4000' + SQS_QUEUE_URL: { + value: queue.properties.QueueUrl + } + HTTP_SERVER_PORT: { + value: '4000' + } }, aws_credential ) From d93818c05995c557a6b948ffcae2dfd3eb7fa0d6 Mon Sep 17 00:00:00 2001 From: Nick Beenham <1985327+superbeeny@users.noreply.github.com> Date: Wed, 4 Sep 2024 09:16:44 -0400 Subject: [PATCH 2/4] updating container schema page Signed-off-by: Nick Beenham <1985327+superbeeny@users.noreply.github.com> --- .../resource-schema/core-schema/container-schema/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/reference/resource-schema/core-schema/container-schema/index.md b/docs/content/reference/resource-schema/core-schema/container-schema/index.md index 4c74dc6b7..f4cb35fea 100644 --- a/docs/content/reference/resource-schema/core-schema/container-schema/index.md +++ b/docs/content/reference/resource-schema/core-schema/container-schema/index.md @@ -35,7 +35,7 @@ weight: 300 | Key | Required | Description | Example | |------|:--------:|-------------|---------| | image | y | The registry and image to download and run in your container. Follows the format `:/:` where registry hostname is optional and defaults to the Docker public registry, port is optional and defaults to 443, tag is optional and defaults to `latest`.| `ghcr.io/USERNAME/myimage:latest` -| env | n | A list of environment variables to be set for the container. | `'ENV_VAR': 'value'` +| env | n | A list of environment variables to be set for the container. Environment variables can either be of `value` or a reference so a kubernetes secret in the format `valueFrom`. | `'ENV_VAR': { value: 'value' }` or `'ENV_VAR': { valueFrom: { secretRef: { source: secret.id key: 'SECRET_KEY' } } }` | command | n | Entrypoint array. Overrides the container image's ENTRYPOINT. | `['/bin/sh']` | args | n | Arguments to the entrypoint. Overrides the container image's CMD. | `['-c', 'while true; do echo hello; sleep 10;done']` | imagePullPolicy | n | How to pull images. Defaults to the runtime's default behavior. For Kubernetes behavior refer to https://kubernetes.io/docs/concepts/containers/images/#required-image-pull | `'Always'` From 21b5c456619bc52e7d5500ba86a582879c0c01f0 Mon Sep 17 00:00:00 2001 From: Nick Beenham <1985327+superbeeny@users.noreply.github.com> Date: Wed, 4 Sep 2024 10:38:32 -0400 Subject: [PATCH 3/4] fixing typo Signed-off-by: Nick Beenham <1985327+superbeeny@users.noreply.github.com> --- .../author-apps/aws/howto-aws-resources/snippets/s3app.bicep | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3app.bicep b/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3app.bicep index d0cb3e1cc..1c308e3d5 100644 --- a/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3app.bicep +++ b/docs/content/guides/author-apps/aws/howto-aws-resources/snippets/s3app.bicep @@ -51,7 +51,7 @@ resource frontend 'Applications.Core/containers@2023-10-01-preview' = { value: aws_secret_access_key } AWS_DEFAULT_REGION: { - vaue: aws_region + value: aws_region } } image: 'ghcr.io/radius-project/samples/aws:latest' From dcf439b88b3390fc90f5a20420df3c70d2e2c28d Mon Sep 17 00:00:00 2001 From: Nick Beenham <1985327+superbeeny@users.noreply.github.com> Date: Tue, 10 Sep 2024 15:56:37 -0400 Subject: [PATCH 4/4] Updating env schema with suggestion Signed-off-by: Nick Beenham <1985327+superbeeny@users.noreply.github.com> --- .../resource-schema/core-schema/container-schema/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/reference/resource-schema/core-schema/container-schema/index.md b/docs/content/reference/resource-schema/core-schema/container-schema/index.md index f4cb35fea..28a086201 100644 --- a/docs/content/reference/resource-schema/core-schema/container-schema/index.md +++ b/docs/content/reference/resource-schema/core-schema/container-schema/index.md @@ -35,7 +35,7 @@ weight: 300 | Key | Required | Description | Example | |------|:--------:|-------------|---------| | image | y | The registry and image to download and run in your container. Follows the format `:/:` where registry hostname is optional and defaults to the Docker public registry, port is optional and defaults to 443, tag is optional and defaults to `latest`.| `ghcr.io/USERNAME/myimage:latest` -| env | n | A list of environment variables to be set for the container. Environment variables can either be of `value` or a reference so a kubernetes secret in the format `valueFrom`. | `'ENV_VAR': { value: 'value' }` or `'ENV_VAR': { valueFrom: { secretRef: { source: secret.id key: 'SECRET_KEY' } } }` +| env | n | A list of environment variables to be set for the container. Environment variables can either be of `value` or a reference to a Application.Core/SecretStore resource id in the format `valueFrom`. | `'ENV_VAR': { value: 'value' }` or `'ENV_VAR': { valueFrom: { secretRef: { source: secret.id key: 'SECRET_KEY' } } }` | command | n | Entrypoint array. Overrides the container image's ENTRYPOINT. | `['/bin/sh']` | args | n | Arguments to the entrypoint. Overrides the container image's CMD. | `['-c', 'while true; do echo hello; sleep 10;done']` | imagePullPolicy | n | How to pull images. Defaults to the runtime's default behavior. For Kubernetes behavior refer to https://kubernetes.io/docs/concepts/containers/images/#required-image-pull | `'Always'`