Volume

Stay organized with collections Save and categorize content based on your preferences.

Volume represents a named volume in a container.

JSON representation
{
  "name": string,

  // Union field volume_type can be only one of the following:
  "secret": {
    object (SecretVolumeSource)
  },
  "cloudSqlInstance": {
    object (CloudSqlInstance)
  }
  // End of list of possible types for union field volume_type.
}
Fields
name

string

Required. Volume's name.

Union field volume_type.

volume_type can be only one of the following:

secret

object (SecretVolumeSource)

Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

cloudSqlInstance

object (CloudSqlInstance)

For Cloud SQL volumes, contains the specific instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run.

SecretVolumeSource

The secret's value will be presented as the content of a file whose name is defined in the item path. If no items are defined, the name of the file is the secret.

JSON representation
{
  "secret": string,
  "items": [
    {
      object (VersionToPath)
    }
  ],
  "defaultMode": integer
}
Fields
secret

string

Required. The name of the secret in Cloud Secret Manager. Format: {secret} if the secret is in the same project. projects/{project}/secrets/{secret} if the secret is in a different project.

items[]

object (VersionToPath)

If unspecified, the volume will expose a file whose name is the secret, relative to VolumeMount.mount_path. If specified, the key will be used as the version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in the volume. When items are defined, they must specify a path and a version.

defaultMode

integer

Integer representation of mode bits to use on created files by default. Must be a value between 0000 and 0777 (octal), defaulting to 0444. Directories within the path are not affected by this setting.

Notes

  • Internally, a umask of 0222 will be applied to any non-zero value.
  • This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10).
  • This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

This might be in conflict with other options that affect the file mode, like fsGroup, and as a result, other mode bits could be set.

VersionToPath

VersionToPath maps a specific version of a secret to a relative file to mount to, relative to VolumeMount's mountPath.

JSON representation
{
  "path": string,
  "version": string,
  "mode": integer
}
Fields
path

string

Required. The relative path of the secret in the container.

version

string

The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version.

mode

integer

Integer octal mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used.

Notes

  • Internally, a umask of 0222 will be applied to any non-zero value.
  • This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10).
  • This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

CloudSqlInstance

Represents a specific Cloud SQL instance.

JSON representation
{
  "instances": [
    string
  ]
}
Fields
instances[]

string

The Cloud SQL instance connection names, as can be found in https://console.cloud.google.com/sql/instances. Visit https://cloud.google.com/sql/docs/mysql/connect-run for more information on how to connect Cloud SQL and Cloud Run. Format: {project}:{location}:{instance}