Documentation ¶
Overview ¶
Package types contains all the types used by Zarf.
Package types contains all the types used by Zarf.
Package types contains all the types used by Zarf.
Package types contains all the types used by Zarf.
Package types contains all the types used by Zarf.
Package types contains all the types used by Zarf.
Index ¶
- type APIZarfDeployPayload
- type APIZarfPackage
- type ClusterSummary
- type ComponentPaths
- type ComponentSBOM
- type ConnectString
- type ConnectStrings
- type DeployedComponent
- type DeployedPackage
- type DeprecatedZarfComponentScripts
- type GitServerInfo
- type InstalledChart
- type PackagerConfig
- type RegistryInfo
- type RestAPI
- type TempPaths
- type ZarfBuildData
- type ZarfChart
- type ZarfCommonOptions
- type ZarfComponent
- type ZarfComponentAction
- type ZarfComponentActionDefaults
- type ZarfComponentActionSet
- type ZarfComponentActionSetVariable
- type ZarfComponentActionWait
- type ZarfComponentActionWaitCluster
- type ZarfComponentActionWaitNetwork
- type ZarfComponentActions
- type ZarfComponentImport
- type ZarfComponentOnlyCluster
- type ZarfComponentOnlyTarget
- type ZarfContainerTarget
- type ZarfCreateOptions
- type ZarfDataInjection
- type ZarfDeployOptions
- type ZarfFile
- type ZarfInitOptions
- type ZarfManifest
- type ZarfMetadata
- type ZarfPackage
- type ZarfPackageConstant
- type ZarfPackageVariable
- type ZarfPartialPackageData
- type ZarfPublishOptions
- type ZarfPullOptions
- type ZarfSetVariable
- type ZarfState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIZarfDeployPayload ¶ added in v0.23.6
type APIZarfDeployPayload struct { DeployOpts ZarfDeployOptions `json:"deployOpts"` InitOpts *ZarfInitOptions `json:"initOpts,omitempty"` }
APIZarfDeployPayload represents the needed data to deploy a ZarfPackage/ZarfInit
type APIZarfPackage ¶ added in v0.22.0
type APIZarfPackage struct { Path string `json:"path"` ZarfPackage ZarfPackage `json:"zarfPackage"` }
APIZarfPackage represents a ZarfPackage and its path for the API.
type ClusterSummary ¶ added in v0.22.0
type ClusterSummary struct { Reachable bool `json:"reachable"` HasZarf bool `json:"hasZarf"` Distro string `json:"distro"` ZarfState ZarfState `json:"zarfState"` }
ClusterSummary contains the summary of a cluster for the API.
type ComponentPaths ¶ added in v0.23.0
type ComponentPaths struct { Base string Temp string Files string Charts string Values string Repos string Manifests string DataInjections string }
ComponentPaths is a struct that represents all of the subdirectories for a Zarf component.
type ComponentSBOM ¶ added in v0.23.0
type ComponentSBOM struct { Files []string ComponentPath ComponentPaths }
ComponentSBOM contains information related to the files SBOM'ed from a component.
type ConnectString ¶ added in v0.20.0
type ConnectString struct { Description string `` /* 131-byte string literal not displayed */ URL string `json:"url" jsonschema:"description=URL path that gets appended to the k8s port-forward result"` }
ConnectString contains information about a connection made with Zarf connect.
type ConnectStrings ¶ added in v0.20.0
type ConnectStrings map[string]ConnectString
ConnectStrings is a map of connect names to connection information.
type DeployedComponent ¶ added in v0.22.0
type DeployedComponent struct { Name string `json:"name"` InstalledCharts []InstalledChart `json:"installedCharts"` }
DeployedComponent contains information about a Zarf Package Component that has been deployed to a cluster.
type DeployedPackage ¶ added in v0.22.0
type DeployedPackage struct { Name string `json:"name"` Data ZarfPackage `json:"data"` CLIVersion string `json:"cliVersion"` DeployedComponents []DeployedComponent `json:"deployedComponents"` }
DeployedPackage contains information about a Zarf Package that has been deployed to a cluster This object is saved as the data of a k8s secret within the 'Zarf' namespace (not as part of the ZarfState secret).
type DeprecatedZarfComponentScripts ¶ added in v0.24.0
type DeprecatedZarfComponentScripts struct { ShowOutput bool `json:"showOutput,omitempty" jsonschema:"description=Show the output of the script during package deployment"` TimeoutSeconds int `json:"timeoutSeconds,omitempty" jsonschema:"description=Timeout in seconds for the script"` Retry bool `json:"retry,omitempty" jsonschema:"description=Retry the script if it fails"` Prepare []string `json:"prepare,omitempty" jsonschema:"description=Scripts to run before the component is added during package create"` Before []string `json:"before,omitempty" jsonschema:"description=Scripts to run before the component is deployed"` After []string `json:"after,omitempty" jsonschema:"description=Scripts to run after the component successfully deploys"` }
DeprecatedZarfComponentScripts are scripts that run before or after a component is deployed
type GitServerInfo ¶ added in v0.22.0
type GitServerInfo struct { PushUsername string `json:"pushUsername" jsonschema:"description=Username of a user with push access to the git repository"` PushPassword string `json:"pushPassword" jsonschema:"description=Password of a user with push access to the git repository"` PullUsername string `` /* 178-byte string literal not displayed */ PullPassword string `` /* 178-byte string literal not displayed */ Address string `json:"address" jsonschema:"description=URL address of the git server"` InternalServer bool `json:"internalServer" jsonschema:"description=Indicates if we are using a git server that Zarf is directly managing"` }
GitServerInfo contains information Zarf uses to communicate with a git repository to push/pull repositories to.
type InstalledChart ¶ added in v0.22.0
type InstalledChart struct { Namespace string `json:"namespace"` ChartName string `json:"chartName"` }
InstalledChart contains information about a Helm Chart that has been deployed to a cluster.
type PackagerConfig ¶ added in v0.23.0
type PackagerConfig struct { // CreateOpts tracks the user-defined options used to create the package CreateOpts ZarfCreateOptions // DeployOpts tracks user-defined values for the active deployment DeployOpts ZarfDeployOptions // InitOpts tracks user-defined values for the active Zarf initialization. InitOpts ZarfInitOptions // PublishOpts tracks user-defined options used to publish the package PublishOpts ZarfPublishOptions // PullOpts tracks user-defined options used to pull packages PullOpts ZarfPullOptions // Track if CLI prompts should be generated IsInteractive bool // Track if the package is an init package IsInitConfig bool // The package data Pkg ZarfPackage // The active zarf state State ZarfState // Variables set by the user SetVariableMap map[string]*ZarfSetVariable // SBOM file paths in the package SBOMViewFiles []string }
PackagerConfig is the main struct that the packager uses to hold high-level options.
type RegistryInfo ¶ added in v0.22.0
type RegistryInfo struct { PushUsername string `json:"pushUsername" jsonschema:"description=Username of a user with push access to the registry"` PushPassword string `json:"pushPassword" jsonschema:"description=Password of a user with push access to the registry"` PullUsername string `` /* 170-byte string literal not displayed */ PullPassword string `` /* 170-byte string literal not displayed */ Address string `json:"address" jsonschema:"description=URL address of the registry"` NodePort int `` /* 135-byte string literal not displayed */ InternalRegistry bool `json:"internalRegistry" jsonschema:"description=Indicates if we are using a registry that Zarf is directly managing"` Secret string `json:"secret" jsonschema:"description=Secret value that the registry was seeded with"` }
RegistryInfo contains information Zarf uses to communicate with a container registry to push/pull images.
type RestAPI ¶ added in v0.22.0
type RestAPI struct { ZarfPackage ZarfPackage `json:"zarfPackage"` ZarfState ZarfState `json:"zarfState"` ZarfCommonOptions ZarfCommonOptions `json:"zarfCommonOptions"` ZarfCreateOptions ZarfCreateOptions `json:"zarfCreateOptions"` ZarfDeployOptions ZarfDeployOptions `json:"zarfDeployOptions"` ZarfInitOptions ZarfInitOptions `json:"zarfInitOptions"` ConnectStrings ConnectStrings `json:"connectStrings"` ClusterSummary ClusterSummary `json:"clusterSummary"` DeployedPackage DeployedPackage `json:"deployedPackage"` APIZarfPackage APIZarfPackage `json:"apiZarfPackage"` APIZarfDeployPayload APIZarfDeployPayload `json:"apiZarfDeployPayload"` }
RestAPI is the struct that is used to marshal/unmarshal the top-level API objects.
type TempPaths ¶ added in v0.23.0
type TempPaths struct { Base string InjectBinary string SeedImage string Images string Components string SbomTar string Sboms string ZarfYaml string ZarfSig string Checksums string }
TempPaths is a struct that represents all of the subdirectories for a Zarf package.
type ZarfBuildData ¶
type ZarfBuildData struct { Terminal string `json:"terminal" jsonschema:"description=The machine name that created this package"` User string `json:"user" jsonschema:"description=The username who created this package"` Architecture string `json:"architecture" jsonschema:"description=The architecture this package was created on"` Timestamp string `json:"timestamp" jsonschema:"description=The timestamp when this package was created"` Version string `json:"version" jsonschema:"description=The version of Zarf used to build this package"` Migrations []string `json:"migrations" jsonschema:"description=Any migrations that have been run on this package"` }
ZarfBuildData is written during the packager.Create() operation to track details of the created package.
type ZarfChart ¶
type ZarfChart struct { Name string `` /* 142-byte string literal not displayed */ ReleaseName string `json:"releaseName,omitempty" jsonschema:"description=The name of the release to create; defaults to the name of the chart"` URL string `` /* 353-byte string literal not displayed */ Version string `` /* 133-byte string literal not displayed */ Namespace string `json:"namespace" jsonschema:"description=The namespace to deploy the chart to"` ValuesFiles []string `` /* 131-byte string literal not displayed */ GitPath string `` /* 152-byte string literal not displayed */ LocalPath string `json:"localPath,omitempty" jsonschema:"oneof_required=localPath,description=The path to the chart folder"` NoWait bool `json:"noWait,omitempty" jsonschema:"description=Whether to not wait for chart resources to be ready before continuing"` }
ZarfChart defines a helm chart to be deployed.
type ZarfCommonOptions ¶ added in v0.20.0
type ZarfCommonOptions struct { Confirm bool `json:"confirm" jsonschema:"description=Verify that Zarf should perform an action"` Insecure bool `json:"insecure" jsonschema:"description=Allow insecure connections for remote packages"` CachePath string `json:"cachePath" jsonschema:"description=Path to use to cache images and git repos on package create"` TempDirectory string `` /* 157-byte string literal not displayed */ }
ZarfCommonOptions tracks the user-defined preferences used across commands.
type ZarfComponent ¶
type ZarfComponent struct { // Name is the unique identifier for this component Name string `json:"name" jsonschema:"description=The name of the component,pattern=^[a-z0-9\\-]+$"` // Description is a message given to a user when deciding to enable this component or not Description string `` /* 135-byte string literal not displayed */ // Default changes the default option when deploying this component Default bool `` /* 130-byte string literal not displayed */ // Required makes this component mandatory for package deployment Required bool `` /* 129-byte string literal not displayed */ // Only include compatible components during package deployment Only ZarfComponentOnlyTarget `json:"only,omitempty" jsonschema:"description=Filter when this component is included in package creation or deployment"` // Key to match other components to produce a user selector field, used to create a BOOLEAN XOR for a set of components // Note: ignores default and required flags Group string `json:"group,omitempty" jsonschema:"description=Create a user selector field based on all components in the same group"` //Path to cosign publickey for signed online resources CosignKeyPath string `json:"cosignKeyPath,omitempty" jsonschema:"description=Specify a path to a public key to validate signed online resources"` // Import refers to another zarf.yaml package component. Import ZarfComponentImport `json:"import,omitempty" jsonschema:"description=Import a component from another Zarf package"` // (Deprecated) DeprecatedScripts are custom commands that run before or after package deployment DeprecatedScripts DeprecatedZarfComponentScripts `` /* 158-byte string literal not displayed */ // Replaces scripts, fine-grained control over commands to run at various stages of a package lifecycle Actions ZarfComponentActions `json:"actions,omitempty" jsonschema:"description=Custom commands to run at various stages of a package lifecycle"` // Files are files to place on disk during deploy Files []ZarfFile `json:"files,omitempty" jsonschema:"description=Files to place on disk during package deployment"` // Charts are helm charts to install during package deploy Charts []ZarfChart `json:"charts,omitempty" jsonschema:"description=Helm charts to install during package deploy"` // Manifests are raw manifests that get converted into zarf-generated helm charts during deploy Manifests []ZarfManifest `` /* 131-byte string literal not displayed */ // Images are the online images needed to be included in the zarf package Images []string `json:"images,omitempty" jsonschema:"description=List of OCI images to include in the package"` // Repos are any git repos that need to be pushed into the git server Repos []string `json:"repos,omitempty" jsonschema:"description=List of git repos to include in the package"` // Data packages to push into a running cluster DataInjections []ZarfDataInjection `json:"dataInjections,omitempty" jsonschema:"description=Datasets to inject into a container in the target cluster"` // Extensions provide additional functionality to a component Extensions extensions.ZarfComponentExtensions `json:"extensions,omitempty" jsonschema:"description=Extend component functionality with additional features"` }
ZarfComponent is the primary functional grouping of assets to deploy by Zarf.
type ZarfComponentAction ¶ added in v0.24.0
type ZarfComponentAction struct { Mute *bool `json:"mute,omitempty" jsonschema:"description=Hide the output of the command during package deployment (default false)"` MaxTotalSeconds *int `` /* 171-byte string literal not displayed */ MaxRetries *int `json:"maxRetries,omitempty" jsonschema:"description=Retry the command if it fails up to given number of times (default 0)"` Dir *string `json:"dir,omitempty" jsonschema:"description=The working directory to run the command in (default is CWD)"` Env []string `json:"env,omitempty" jsonschema:"description=Additional environment variables to set for the command"` Cmd string `` /* 128-byte string literal not displayed */ DeprecatedSetVariable string `` /* 287-byte string literal not displayed */ SetVariables []ZarfComponentActionSetVariable `` /* 228-byte string literal not displayed */ Description string `` /* 143-byte string literal not displayed */ Wait *ZarfComponentActionWait `` /* 197-byte string literal not displayed */ }
ZarfComponentAction represents a single action to run during a zarf package operation
type ZarfComponentActionDefaults ¶ added in v0.24.0
type ZarfComponentActionDefaults struct { Mute bool `json:"mute,omitempty" jsonschema:"description=Hide the output of commands during execution (default false)"` MaxTotalSeconds int `json:"maxTotalSeconds,omitempty" jsonschema:"description=Default timeout in seconds for commands (default to 0, no timeout)"` MaxRetries int `json:"maxRetries,omitempty" jsonschema:"description=Retry commands given number of times if they fail (default 0)"` Dir string `json:"dir,omitempty" jsonschema:"description=Working directory for commands (default CWD)"` Env []string `json:"env,omitempty" jsonschema:"description=Additional environment variables for commands"` }
ZarfComponentActionDefaults sets the default configs for child actions
type ZarfComponentActionSet ¶ added in v0.24.0
type ZarfComponentActionSet struct { Defaults ZarfComponentActionDefaults `json:"defaults,omitempty" jsonschema:"description=Default configuration for all actions in this set"` Before []ZarfComponentAction `json:"before,omitempty" jsonschema:"description=Actions to run at the start of an operation"` After []ZarfComponentAction `json:"after,omitempty" jsonschema:"description=Actions to run at the end of an operation"` OnSuccess []ZarfComponentAction `json:"onSuccess,omitempty" jsonschema:"description=Actions to run if all operations succeed"` OnFailure []ZarfComponentAction `json:"onFailure,omitempty" jsonschema:"description=Actions to run if all operations fail"` }
ZarfComponentActionSet is a set of actions to run during a zarf package operation
type ZarfComponentActionSetVariable ¶ added in v0.25.1
type ZarfComponentActionWait ¶ added in v0.24.3
type ZarfComponentActionWait struct { Cluster *ZarfComponentActionWaitCluster `` /* 163-byte string literal not displayed */ Network *ZarfComponentActionWaitNetwork `` /* 163-byte string literal not displayed */ }
ZarfComponentActionWait specifies a condition to wait for before continuing
type ZarfComponentActionWaitCluster ¶ added in v0.24.3
type ZarfComponentActionWaitCluster struct { Kind string `json:"kind" jsonschema:"description=The kind of resource to wait for,example=Pod,example=Deployment)"` Identifier string `json:"name" jsonschema:"description=The name of the resource or selector to wait for,example=podinfo,example=app=podinfo"` Namespace string `json:"namespace,omitempty" jsonschema:"description=The namespace of the resource to wait for"` Condition string `` /* 190-byte string literal not displayed */ }
ZarfComponentActionWaitCluster specifies a condition to wait for before continuing
type ZarfComponentActionWaitNetwork ¶ added in v0.24.3
type ZarfComponentActionWaitNetwork struct { Protocol string `json:"protocol" jsonschema:"description=The protocol to wait for,enum=tcp,enum=http,enum=https"` Address string `json:"address" jsonschema:"description=The address to wait for,example=localhost:8080,example=1.1.1.1"` Code int `` /* 126-byte string literal not displayed */ }
ZarfComponentActionWaitNetwork specifies a condition to wait for before continuing
type ZarfComponentActions ¶ added in v0.24.0
type ZarfComponentActions struct { OnCreate ZarfComponentActionSet `json:"onCreate,omitempty" jsonschema:"description=Actions to run during package creation"` OnDeploy ZarfComponentActionSet `json:"onDeploy,omitempty" jsonschema:"description=Actions to run during package deployment"` OnRemove ZarfComponentActionSet `json:"onRemove,omitempty" jsonschema:"description=Actions to run during package removal"` }
ZarfComponentActions are actionsets that map to different zarf package operations
type ZarfComponentImport ¶
type ZarfComponentImport struct { ComponentName string `json:"name,omitempty" jsonschema:"description=The name of the component to import from the referenced zarf.yaml"` // For further explanation see https://regex101.com/library/Ldx8yG and https://regex101.com/r/Ldx8yG/1 Path string `` /* 143-byte string literal not displayed */ }
ZarfComponentImport structure for including imported Zarf components.
type ZarfComponentOnlyCluster ¶ added in v0.20.0
type ZarfComponentOnlyCluster struct { Architecture string `` /* 137-byte string literal not displayed */ Distros []string `` /* 152-byte string literal not displayed */ }
ZarfComponentOnlyCluster represents the architecture and K8s cluster distribution to filter on.
type ZarfComponentOnlyTarget ¶ added in v0.20.0
type ZarfComponentOnlyTarget struct { LocalOS string `json:"localOS,omitempty" jsonschema:"description=Only deploy component to specified OS,enum=linux,enum=darwin,enum=windows"` Cluster ZarfComponentOnlyCluster `json:"cluster,omitempty" jsonschema:"description=Only deploy component to specified clusters"` }
ZarfComponentOnlyTarget filters a component to only show it for a given local OS and cluster.
type ZarfContainerTarget ¶
type ZarfContainerTarget struct { Namespace string `json:"namespace" jsonschema:"description=The namespace to target for data injection"` Selector string `json:"selector" jsonschema:"description=The K8s selector to target for data injection,example=app=data-injection"` Container string `json:"container" jsonschema:"description=The container name to target for data injection"` Path string `json:"path" jsonschema:"description=The path within the container to copy the data into"` }
ZarfContainerTarget defines the destination info for a ZarfData target
type ZarfCreateOptions ¶ added in v0.19.2
type ZarfCreateOptions struct { SkipSBOM bool `json:"skipSBOM" jsonschema:"description=Disable the generation of SBOM materials during package creation"` OutputDirectory string `json:"outputDirectory" jsonschema:"description=Location where the finalized Zarf package will be placed"` ViewSBOM bool `json:"sbom" jsonschema:"description=Whether to pause to allow for viewing the SBOM post-creation"` SBOMOutputDir string `json:"sbomOutput" jsonschema:"description=Location to output an SBOM into after package creation"` SetVariables map[string]string `` /* 173-byte string literal not displayed */ MaxPackageSizeMB int `` /* 133-byte string literal not displayed */ SigningKeyPath string `json:"signingKeyPath" jsonschema:"description=Location where the private key component of a cosign key-pair can be found"` SigningKeyPassword string `` /* 139-byte string literal not displayed */ }
ZarfCreateOptions tracks the user-defined options used to create the package.
type ZarfDataInjection ¶
type ZarfDataInjection struct { Source string `json:"source" jsonschema:"description=A path to a local folder or file to inject into the given target pod + container"` Target ZarfContainerTarget `json:"target" jsonschema:"description=The target pod + container to inject the data into"` Compress bool `` /* 175-byte string literal not displayed */ }
ZarfDataInjection is a data-injection definition.
type ZarfDeployOptions ¶
type ZarfDeployOptions struct { Shasum string `json:"shasum" jsonschema:"description=The SHA256 checksum of the package to deploy"` PackagePath string `json:"packagePath" jsonschema:"description=Location where a Zarf package to deploy can be found"` Components string `json:"components" jsonschema:"description=Comma separated list of optional components to deploy"` SGetKeyPath string `json:"sGetKeyPath" jsonschema:"description=Location where the public key component of a cosign key-pair can be found"` SetVariables map[string]string `` /* 177-byte string literal not displayed */ PublicKeyPath string `json:"publicKeyPath" jsonschema:"description=Location where the public key component of a cosign key-pair can be found"` }
ZarfDeployOptions tracks the user-defined preferences during a package deployment.
type ZarfFile ¶
type ZarfFile struct { Source string `json:"source" jsonschema:"description=Local file path or remote URL to pull into the package"` Shasum string `json:"shasum,omitempty" jsonschema:"description=Optional SHA256 checksum of the file"` Target string `json:"target" jsonschema:"description=The absolute or relative path where the file should be copied to during package deploy"` Executable bool `json:"executable,omitempty" jsonschema:"description=Determines if the file should be made executable during package deploy"` Symlinks []string `json:"symlinks,omitempty" jsonschema:"description=List of symlinks to create during package deploy"` }
ZarfFile defines a file to deploy.
type ZarfInitOptions ¶ added in v0.22.0
type ZarfInitOptions struct { // Zarf init is installing the k3s component ApplianceMode bool `json:"applianceMode" jsonschema:"description=Indicates if Zarf was initialized while deploying its own k8s cluster"` // Using a remote git server GitServer GitServerInfo `json:"gitServer" jsonschema:"description=Information about the repository Zarf is going to be using"` RegistryInfo RegistryInfo `json:"registryInfo" jsonschema:"description=Information about the registry Zarf is going to be using"` StorageClass string `json:"storageClass" jsonschema:"description=StorageClass of the k8s cluster Zarf is initializing"` }
ZarfInitOptions tracks the user-defined options during cluster initialization.
type ZarfManifest ¶
type ZarfManifest struct { Name string `` /* 145-byte string literal not displayed */ Namespace string `json:"namespace,omitempty" jsonschema:"description=The namespace to deploy the manifests to"` Files []string `json:"files,omitempty" jsonschema:"description=List of individual K8s YAML files to deploy (in order)"` KustomizeAllowAnyDirectory bool `` /* 151-byte string literal not displayed */ Kustomizations []string `json:"kustomizations,omitempty" jsonschema:"description=List of kustomization paths to include in the package"` NoWait bool `json:"noWait,omitempty" jsonschema:"description=Whether to not wait for manifest resources to be ready before continuing"` }
ZarfManifest defines raw manifests Zarf will deploy as a helm chart.
type ZarfMetadata ¶
type ZarfMetadata struct { Name string `json:"name" jsonschema:"description=Name to identify this Zarf package,pattern=^[a-z0-9\\-]+$"` Description string `json:"description,omitempty" jsonschema:"description=Additional information about this package"` Version string `json:"version,omitempty" jsonschema:"description=Generic string to track the package version by a package author"` URL string `json:"url,omitempty" jsonschema:"description=Link to package information when online"` Image string `json:"image,omitempty" jsonschema:"description=An image URL to embed in this package (Reserved for future use in Zarf UI)"` Uncompressed bool `json:"uncompressed,omitempty" jsonschema:"description=Disable compression of this package"` Architecture string `` /* 131-byte string literal not displayed */ YOLO bool `` /* 264-byte string literal not displayed */ Authors string `json:"authors,omitempty" jsonschema:"description=List of package authors (including contact info)"` Documentation string `json:"documentation,omitempty" jsonschema:"description=Link to package documentation when online"` Source string `json:"source,omitempty" jsonschema:"description=Link to package source code when online"` Vendor string `json:"vendor,omitempty" jsonschema_description:"Name of the distributing entity, organization or individual."` AggregateChecksum string `` /* 151-byte string literal not displayed */ }
ZarfMetadata lists information about the current ZarfPackage.
type ZarfPackage ¶
type ZarfPackage struct { Kind string `` /* 130-byte string literal not displayed */ Metadata ZarfMetadata `json:"metadata,omitempty" jsonschema:"description=Package metadata"` Build ZarfBuildData `json:"build,omitempty" jsonschema:"description=Zarf-generated package build data"` Components []ZarfComponent `json:"components" jsonschema:"description=List of components to deploy in this package"` Variables []ZarfPackageVariable `json:"variables,omitempty" jsonschema:"description=Variable template values applied on deploy for K8s resources"` Constants []ZarfPackageConstant `json:"constants,omitempty" jsonschema:"description=Constant template values applied on deploy for K8s resources"` }
ZarfPackage the top-level structure of a Zarf config file.
type ZarfPackageConstant ¶ added in v0.21.0
type ZarfPackageConstant struct { Name string `json:"name" jsonschema:"description=The name to be used for the constant,pattern=^[A-Z0-9_]+$"` Value string `json:"value" jsonschema:"description=The value to set for the constant during deploy"` // Include a description that will only be displayed during package create/deploy confirm prompts Description string `` /* 155-byte string literal not displayed */ AutoIndent bool `` /* 202-byte string literal not displayed */ }
ZarfPackageConstant are constants that can be used to dynamically template K8s resources.
type ZarfPackageVariable ¶ added in v0.21.0
type ZarfPackageVariable struct { Name string `json:"name" jsonschema:"description=The name to be used for the variable,pattern=^[A-Z0-9_]+$"` Description string `` /* 126-byte string literal not displayed */ Default string `json:"default,omitempty" jsonschema:"description=The default value to use for the variable"` Prompt bool `json:"prompt,omitempty" jsonschema:"description=Whether to prompt the user for input for this variable"` Sensitive bool `` /* 126-byte string literal not displayed */ AutoIndent bool `` /* 200-byte string literal not displayed */ }
ZarfPackageVariable are variables that can be used to dynamically template K8s resources.
type ZarfPartialPackageData ¶ added in v0.23.0
type ZarfPartialPackageData struct { Sha256Sum string `json:"sha256Sum" jsonschema:"description=The sha256sum of the package"` Bytes int64 `json:"bytes" jsonschema:"description=The size of the package in bytes"` Count int `json:"count" jsonschema:"description=The number of parts the package is split into"` }
ZarfPartialPackageData contains info about a partial package.
type ZarfPublishOptions ¶ added in v0.25.0
type ZarfPublishOptions struct { Reference registry.Reference `jsonschema:"description=Remote registry reference"` CopyOptions oras.CopyOptions `jsonschema:"description=Options for the copy operation"` PackOptions oras.PackOptions `jsonschema:"description=Options for the pack operation"` PackagePath string `json:"packagePath" jsonschema:"description=Location where a Zarf package to publish can be found"` SigningKeyPassword string `` /* 141-byte string literal not displayed */ SigningKeyPath string `json:"signingKeyPath" jsonschema:"description=Location where the private key component of a cosign key-pair can be found"` }
ZarfPublishOptions tracks the user-defined preferences during a package publish.
type ZarfPullOptions ¶ added in v0.25.1
type ZarfPullOptions struct { Reference registry.Reference `jsonschema:"description=Remote registry reference"` CopyOptions oras.CopyOptions `jsonschema:"description=Options for the copy operation"` PackOptions oras.PackOptions `jsonschema:"description=Options for the pack operation"` PackagePath string `json:"packagePath" jsonschema:"description=Location where a Zarf package to publish can be found"` PublicKeyPath string `json:"publicKeyPath" jsonschema:"description=Location where the public key component of a cosign key-pair can be found"` }
ZarfPublishOptions tracks the user-defined preferences during a package publish.
type ZarfSetVariable ¶ added in v0.25.1
type ZarfSetVariable struct { Name string `json:"name" jsonschema:"description=The name to be used for the variable,pattern=^[A-Z0-9_]+$"` Sensitive bool `` /* 126-byte string literal not displayed */ AutoIndent bool `` /* 200-byte string literal not displayed */ Value string `json:"value" jsonschema:"description=The value the variable is currently set with"` }
type ZarfState ¶
type ZarfState struct { ZarfAppliance bool `json:"zarfAppliance" jsonschema:"description=Indicates if Zarf was initialized while deploying its own k8s cluster"` Distro string `json:"distro" jsonschema:"description=K8s distribution of the cluster Zarf was deployed to"` Architecture string `json:"architecture" jsonschema:"description=Machine architecture of the k8s node(s)"` StorageClass string `json:"storageClass" jsonschema:"Default StorageClass value Zarf uses for variable templating"` AgentTLS k8s.GeneratedPKI `json:"agentTLS" jsonschema:"PKI certificate information for the agent pods Zarf manages"` GitServer GitServerInfo `json:"gitServer" jsonschema:"description=Information about the repository Zarf is configured to use"` RegistryInfo RegistryInfo `json:"registryInfo" jsonschema:"description=Information about the registry Zarf is configured to use"` LoggingSecret string `json:"loggingSecret" jsonschema:"description=Secret value that the internal Grafana server was seeded with"` }
ZarfState is maintained as a secret in the Zarf namespace to track Zarf init data.
Directories ¶
Path | Synopsis |
---|---|
Package extensions contains the types for all official extensions.
|
Package extensions contains the types for all official extensions. |