mirror of
https://github.com/containers/podman.git
synced 2025-08-06 19:44:14 +08:00

Mainly needed for buildah testing: the htpasswd command was removed from the upstream registry container image. Making it available on the host-side enables configuring details needed by the registry during it's initial setup. Signed-off-by: Chris Evich <cevich@redhat.com>
87 lines
3.1 KiB
YAML
87 lines
3.1 KiB
YAML
---
|
|
|
|
# All of these are required
|
|
variables:
|
|
BUILT_IMAGE_SUFFIX: '{{env `BUILT_IMAGE_SUFFIX`}}'
|
|
GOPATH: '{{env `GOPATH`}}'
|
|
GOSRC: '{{env `GOSRC`}}'
|
|
PACKER_BASE: '{{env `PACKER_BASE`}}'
|
|
SCRIPT_BASE: '{{env `SCRIPT_BASE`}}'
|
|
|
|
# Base-image names are required. Using image family-names breaks parallelism
|
|
UBUNTU_BASE_IMAGE: '{{env `UBUNTU_BASE_IMAGE`}}'
|
|
PRIOR_UBUNTU_BASE_IMAGE: '{{env `PRIOR_UBUNTU_BASE_IMAGE`}}'
|
|
FEDORA_BASE_IMAGE: '{{env `FEDORA_BASE_IMAGE`}}'
|
|
PRIOR_FEDORA_BASE_IMAGE: '{{env `PRIOR_FEDORA_BASE_IMAGE`}}'
|
|
|
|
# Protected credentials, decrypted by Cirrus at runtime
|
|
GCE_SSH_USERNAME: '{{env `GCE_SSH_USERNAME`}}'
|
|
GCP_PROJECT_ID: '{{env `GCP_PROJECT_ID`}}'
|
|
SERVICE_ACCOUNT: '{{env `SERVICE_ACCOUNT`}}'
|
|
GOOGLE_APPLICATION_CREDENTIALS: '{{env `GOOGLE_APPLICATION_CREDENTIALS`}}'
|
|
|
|
# Don't leak sensitive values in error messages / output
|
|
sensitive-variables:
|
|
- 'GCE_SSH_USERNAME'
|
|
- 'GCP_PROJECT_ID'
|
|
- 'SERVICE_ACCOUNT'
|
|
|
|
# What images to produce in which cloud
|
|
builders:
|
|
# v----- is a YAML anchor, allows referencing this object by name (below)
|
|
- &gce_hosted_image
|
|
name: 'ubuntu-20'
|
|
type: 'googlecompute'
|
|
image_name: '{{build_name}}{{user `BUILT_IMAGE_SUFFIX`}}'
|
|
image_family: '{{build_name}}-cache'
|
|
source_image: '{{user `UBUNTU_BASE_IMAGE`}}' # precedence over family
|
|
source_image_family: 'ubuntu-base' # for ref. only
|
|
disk_size: 20 # REQUIRED: Runtime allocation > this value
|
|
project_id: '{{user `GCP_PROJECT_ID`}}'
|
|
service_account_email: '{{user `SERVICE_ACCOUNT`}}'
|
|
communicator: 'ssh'
|
|
ssh_username: '{{user `GCE_SSH_USERNAME`}}'
|
|
ssh_pty: 'true'
|
|
# The only supported zone in Cirrus-CI, as of addition of this comment
|
|
zone: 'us-central1-a'
|
|
|
|
# v----- is a YAML alias, allows partial re-use of the anchor object
|
|
- <<: *gce_hosted_image
|
|
name: 'ubuntu-19'
|
|
source_image: '{{user `PRIOR_UBUNTU_BASE_IMAGE`}}'
|
|
source_image_family: 'prior-ubuntu-base'
|
|
|
|
- <<: *gce_hosted_image
|
|
name: 'fedora-32'
|
|
source_image: '{{user `FEDORA_BASE_IMAGE`}}'
|
|
source_image_family: 'fedora-base'
|
|
|
|
- <<: *gce_hosted_image
|
|
name: 'fedora-31'
|
|
source_image: '{{user `PRIOR_FEDORA_BASE_IMAGE`}}'
|
|
source_image_family: 'prior-fedora-base'
|
|
|
|
# The brains of the operation, making actual modifications to the base-image.
|
|
provisioners:
|
|
- type: 'shell'
|
|
inline:
|
|
- 'set -ex'
|
|
# The 'file' provisioner item (below) will create the final component
|
|
- 'mkdir -vp $(dirname {{user `GOSRC`}})'
|
|
|
|
- type: 'file'
|
|
source: '{{user `GOSRC`}}'
|
|
destination: '{{user `GOSRC`}}'
|
|
|
|
- type: 'shell'
|
|
script: '{{user `GOSRC`}}/{{user `PACKER_BASE`}}/{{split build_name "-" 0}}_setup.sh'
|
|
environment_vars:
|
|
- 'PACKER_BUILDER_NAME={{build_name}}'
|
|
- 'GOPATH={{user `GOPATH`}}'
|
|
- 'GOSRC={{user `GOSRC`}}'
|
|
- 'PACKER_BASE={{user `PACKER_BASE`}}'
|
|
- 'SCRIPT_BASE={{user `SCRIPT_BASE`}}'
|
|
|
|
post-processors:
|
|
- type: 'manifest' # writes packer-manifest.json
|