image_ref field.
Images are typically produced by the bake process. When you run murmur bake, the platform executes a recipe against a base image and writes the resulting image back to the catalog with provenance metadata. Baked images are immutable — you cannot update or delete them. You can also author images manually to reference existing AMIs, GCE images, or Docker containers that you manage outside Murmur.
Fields
| Name | Type | Required | Description |
|---|---|---|---|
name | string | yes | Unique identifier. DNS label format: [a-z][a-z0-9-]{0,62}. For baked images the name is generated automatically. |
description | string | no | Human-readable description shown in the dashboard. Maximum 1024 bytes. |
architecture | string | yes | CPU architecture. Values: ARCHITECTURE_AMD64, ARCHITECTURE_ARM64. |
preinstalled | string | no | Summary of preinstalled software on this image. Set on platform-managed images. |
aws | object | one of | AWS AMI source. See AWS source fields. |
gce | object | one of | GCE image source. See GCE source fields. |
docker | object | one of | Docker container source. See Docker source fields. |
aws, gce, or docker must be set.
AWS source fields
Setaws to reference one or more AMIs:
| Name | Type | Required | Description |
|---|---|---|---|
aws.ami_ids | map<string, string> | yes | Region-to-AMI-ID map. Each key is an AWS region (e.g. us-east-1), each value is an AMI ID (e.g. ami-0abc123def456789a). Must have at least one entry. |
aws.provenance | object | no | Bake provenance. Set automatically when the image is produced by a recipe bake. Cannot be set via murmur set. |
GCE source fields
Setgce to reference a GCE disk image or image family:
| Name | Type | Required | Description |
|---|---|---|---|
gce.self_link | string | yes | GCE image self-link. Format: projects/<project>/global/images/<name> or projects/<project>/global/images/family/<family>. |
gce.provenance | object | no | Bake provenance. Set automatically when the image is produced by a recipe bake. Cannot be set via murmur set. |
Docker source fields
Setdocker to reference a container image:
| Name | Type | Required | Description |
|---|---|---|---|
docker.image_ref | string | yes | OCI image reference (e.g. ghcr.io/foo/bar:v1.2). |
docker.pull_credential_secret | string | no | Name of a tenant secret used for container registry authentication. |
docker.provenance | object | no | Bake provenance. Reserved for container bakes. Cannot be set via murmur set. |
Provenance fields
Provenance is present on baked images and records what produced them. It is set automatically by the bake process and cannot be set viamurmur set.
Examples
Hand-authored GCE image
Hand-authored AWS image
Hand-authored Docker image
Baked image (generated by the platform)
Baked images appear in the catalog after a successfulmurmur bake. Their names are generated and they carry provenance metadata:
Listing images
Reading a single image
Errors
| Code | Meaning | What to do |
|---|---|---|
INVALID_ARGUMENT | name is required | Provide a name field. |
INVALID_ARGUMENT | name must match [a-z][a-z0-9-]{0,62} | Use a valid DNS label for the name. |
INVALID_ARGUMENT | description exceeds 1024 byte limit | Shorten the description to 1024 bytes or fewer. |
INVALID_ARGUMENT | architecture is required | Set architecture to ARCHITECTURE_AMD64 or ARCHITECTURE_ARM64. |
INVALID_ARGUMENT | unknown architecture value | Use a valid architecture enum value. |
INVALID_ARGUMENT | source is required (aws, gce, or docker) | Provide exactly one of aws, gce, or docker. |
INVALID_ARGUMENT | aws.ami_ids must be non-empty | Add at least one region-to-AMI entry in aws.ami_ids. |
INVALID_ARGUMENT | aws.ami_ids: region key must be non-empty | Every key in aws.ami_ids must be a non-empty region string. |
INVALID_ARGUMENT | aws.ami_ids[<region>]: must match ami-[0-9a-f]{8,17} | Each AMI ID must be a valid AWS AMI identifier (e.g. ami-0abc123def456789a). |
INVALID_ARGUMENT | gce.self_link is required | Provide a gce.self_link value. |
INVALID_ARGUMENT | gce.self_link: invalid GCE image reference | Use the format projects/<project>/global/images/<name> or projects/<project>/global/images/family/<family>. |
INVALID_ARGUMENT | docker.image_ref is required | Provide a docker.image_ref value. |
INVALID_ARGUMENT | provenance cannot be set via SetResource | Provenance is set by the bake process. Remove the provenance field from your input. |
FAILED_PRECONDITION | baked images are immutable | Baked images cannot be updated or deleted. Bake a new image from the recipe instead. |
Related
- Images — concept overview
- Recipes — the provisioning template that produces baked images
- Workspaces — the resource that references an image via
image_ref murmur set— CLI command for creating and updating catalog resourcesmurmur get— CLI command for reading catalog resourcesmurmur bake— CLI command for baking images from recipes