Porter Installation File Format 1.0.2

Porter Installation File Format 1.0.2

Installations can be defined in either json or yaml. You can use this json schema to validate an installation file.

Supported Versions

Below are schema versions for installations, and the corresponding Porter version that supports it.

Schema Type Schema Version Porter Version
Installation 1.0.2 v1.0.0-beta.1

Sometimes you may want to work with a different version of a resource than what is supported by Porter, especially when migrating from one version of Porter to another. The schema-check configuration setting allows you to change how Porter behaves when the schemaVersion of a resource doesn’t match Porter’s supported version.

Example

Either the bundle digest, version, or tag must be specified. When more than one is specified, Porter selects the most specific field available, preferring digest the most, then version, and then falling back to tag last.

schemaType: Installation
schemaVersion: 1.0.2
name: myinstallation
namespace: staging
uninstalled: false
labels:
  team: marketing
  customer: bigbucks
bundle:
  repository: ghcr.io/getporter/examples/porter-hello
  # One of the following fields must be specified: digest, version, or tag
  digest: sha256:276b44be3f478b4c8d1f99c1925386d45a878a853f22436ece5589f32e9df384
  version: 0.2.0
  tag: latest
parameterSets:
  - myparams
credentialSets:
  - mycreds
parameters:
  log-level: 11
Field Required Description
schemaType false The type of document.
schemaVersion true The version of the Installation schema used in this file.
name true The name of the installation.
namespace false The namespace in which the installation is defined. Defaults to the empty (global) namespace.
uninstalled false Specifies if the installation should be uninstalled. Defaults to false.
labels false A set of key-value pairs associated with the installation.
bundle true A reference to where the bundle is published
bundle.repository true The repository where the bundle is published.
bundle.digest false* The bundle repository digest.
bundle.version false* The bundle version.
bundle.tag false* The bundle tag. This is useful when you do not use Porter’s convention of defaulting the bundle tag to the bundle version.
parameterSets false A list of parameter set names.
credentialSets false A list of credential set names.
parameters false Additional parameter values to use with the installation. Overrides any parameters defined in the associated parameter sets.

* The bundle section requires a repository and one of the following fields: digest, version, or tag.