Documentation
¶
Overview ¶
Package types is a little bit of a hacky way to generate the cargo-ship-config jsonschema
Index ¶
Constants ¶
const ( // LoggingLevelDefault path in config LoggingLevelDefault = "info" // LogLevel path in config LogLevel = "log_level" // LogFormat path in config LogFormat = "log_format" // NoColor path in config NoColor = "no_color" // Architecture path in config Architecture = "architecture" // ZarfCache path in config ZarfCache = "zarf_cache" // TmpDir path in config TmpDir = "tmp_dir" // DistroOutput path in config DistroOutput = "distro.output" // DistroPublishSigningKey path in config DistroPublishSigningKey = "distro.publish.signing_key" // DistroPublishSigningKeyPassword path in config DistroPublishSigningKeyPassword = "distro.publish.signing_key_password" // DistroRetry path in config DistroRetry = "distro.retry" // DistroOCIConcurrency path in config DistroOCIConcurrency = "distro.oci_concurrency" // DistroCreateRegistryOverride path in config DistroCreateRegistryOverride = "distro.create.registry_override" // DistroCreateSkipSbom path in config DistroCreateSkipSbom = "distro.create.skip_sbom" // DistroConcurrency path in config DistroConcurrency = "distro.concurrency" // DistroWorkerConcurrency path in config DistroWorkerConcurrency = "distro.worker_concurrency" // DistroFAPolicy path in config DistroFAPolicy = "distro.fapolicy" // DistroUpdateHost path in config DistroUpdateHost = "distro.host_update" // DistroUpdateFirewall path in config DistroUpdateFirewall = "distro.firewall_update" // DistroType path in config DistroType = "distro.type" // DistroVerify path in config DistroVerify = "distro.verify" // DistroPublicKey path in config DistroPublicKey = "distro.public_key" // DistroCertificateIdentity path in config DistroCertificateIdentity = "distro.certificate_identity" // DistroCertificateIdentityRegexp path in config DistroCertificateIdentityRegexp = "distro.certificate_identity_regexp" // DistroCertificateOIDCIssuer path in config DistroCertificateOIDCIssuer = "distro.certificate_oidc_issuer" // DistroCertificateOIDCIssuerRegexp path in config DistroCertificateOIDCIssuerRegexp = "distro.certificate_oidc_issuer_regexp" // DistroTrustedRoot path in config DistroTrustedRoot = "distro.trusted_root" // DistroInsecureIgnoreTlog path in config DistroInsecureIgnoreTlog = "distro.insecure_ignore_tlog" // DistroUseSignedTimestamps path in config DistroUseSignedTimestamps = "distro.use_signed_timestamps" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplyOptions ¶
type ApplyOptions struct{}
ApplyOptions holds the values for the `.distro.apply` section of the config file
type DistroConfig ¶
type DistroConfig struct {
// CachePath is the folder where oras artifacts are stored
CachePath string `json:"zarf_cache,omitempty"`
// DistroOpts are various options used by the command
DistroOpts DistroOptions `json:"distro,omitempty"`
// LogFormat how the logs are displayed well running
LogFormat string `json:"log_format,omitempty" jsonschema:"enum=console,enum=json,enum=dev,default=console"`
// LogLevel the level of logs that will be displayed
LogLevel string `json:"log_level,omitempty" jsonschema:"enum=warn,enum=info,enum=debug,enum=trace,default=info"`
// TempDirectory the directory where we store stuff before deleting them
TempDirectory string `json:"tmp_dir,omitempty" jsonschema:"default=/tmp"`
// Timeout the longest we will run long ran tasks before failing
Timeout string `json:"timeout,omitempty" jsonschema:"default=20m"`
}
DistroConfig holds the values for the `.`, or root, section of the config file
type DistroCreateOptions ¶
type DistroCreateOptions struct {
// SkipSBOM whether we will scan the images or files
SkipSBOM bool `json:"skip_sbom,omitempty"`
}
DistroCreateOptions holds the values for the `.distro.create` section of the config file
type DistroDeployOptions ¶
type DistroDeployOptions struct {
// Retries how many times we will try to push a package
Retries int `json:"retries,omitempty"`
}
DistroDeployOptions holds the values for the `.distro.deploy` section of the config file
type DistroOptions ¶
type DistroOptions struct {
// CreateOpts are options used by the create subcommand
CreateOpts DistroCreateOptions `json:"create,omitempty"`
// PublishOpts are options used by the publish subcommand
PublishOpts DistroPublishOptions `json:"publish,omitempty"`
// DeployOpts are options used by the deploy subcommand
DeployOpts DistroDeployOptions `json:"deploy,omitempty"`
// ApplyOpts are options used by the apply subcommand
ApplyOpts ApplyOptions `json:"apply,omitempty"`
// ResetOptions are options used by the reset subcommand
ResetOpts ResetOptions `json:"reset,omitempty"`
// OCIConcurrency is how many concurrent oci artifacts that will be pushed at a time
OCIConcurrency int `json:"oci_concurrency,omitempty"`
// Concurrency how many nodes we will try to interact with at a time, 0 means that all nodes will be done at once
Concurrency int `json:"concurrency,omitempty" jsonschema:"minimum=0"`
// FAPolicyd whether we will update hosts with fapolicyd
FAPolicyd bool `json:"fapolicy,omitempty" jsonschema:"default=true"`
// FirewallUpdate whether we will update the host firewall
FirewallUpdate bool `json:"firewall_update,omitempty" jsonschema:"default=true"`
// HostUpdate whether we will update the etc host file
HostUpdate bool `json:"host_update,omitempty" jsonschema:"default=true"`
// WorkerConcurrency number of worker nodes that will be upgraded at once
WorkerConcurrency int `json:"worker_concurrency,omitempty" jsonschema:"minimum=0,maximum=1000"`
// Retry number of retries we will try
Retry int `json:"retry,omitempty" jsonschema:"minimum=0"`
// Type of distro we are interacting with
Type string `json:"type,omitempty" jsonschema:"enum=rke2,enum=k3s"`
// Output the folder that we will create the distro tar balls in
Output string `json:"output,omitempty"`
// Verify the Cargoship package signature
Verify string `json:"verify,omitempty" jsonschema:"enum=never,enum=if-possible,enum=always"`
// PublicKey path to public key file for validating signed packages
PublicKey string `json:"public_key,omitempty"`
// CertificateIdentity required identity claim in the signing certificate
CertificateIdentity string `json:"certificate_identity,omitempty"`
// CertificateIdentityRegexp equired identity claim in the signing certificate, allows usage of regex
CertificateIdentityRegexp string `json:"certificate_identity_regexp,omitempty"`
// CertificateOIDCIssuer required OIDC issuer claim in the signing certificate
CertificateOIDCIssuer string `json:"certificate_oidc_issuer,omitempty"`
// CertificateOIDCIssuerRegexp required OIDC issuer claim in the signing certificate, allows usage of regex
CertificateOIDCIssuerRegexp string `json:"certificate_oidc_issuer_regexp,omitempty"`
// TrustedRoot path to a Sigstore TrustedRoot JSON
TrustedRoot string `json:"trusted_root,omitempty"`
// InsecureIgnoreTLog
InsecureIgnoreTLog string `json:"insecure_ignore_tlog,omitempty"`
// UseSignedTimestamps verify RFC3161 signed timestamps in the bundle. Auto-enabled when the bundle contains TSA timestamp data.
UseSignedTimestamps string `json:"use_signed_timestamps,omitempty"`
}
DistroOptions holds the values for the `.distro` section of the config file
type DistroPublishOptions ¶ added in v0.9.0
type DistroPublishOptions struct {
// SigningKey is the path to the private key, a Cosign-supported key provider, used to sign, or re-sign, the package
SigningKey string `` /* 170-byte string literal not displayed */
// SigningKeyPassword the password for the private key used for signing
SigningKeyPassword string `json:"signing_key_password,omitempty"`
}
DistroPublishOptions holds the values for the `.distro.publish` section of the config file
type ResetOptions ¶
type ResetOptions struct{}
ResetOptions holds the values for the `.distro.reset` section of the config file
Directories
¶
| Path | Synopsis |
|---|---|
|
Package distrocfg defines the standard interface that all distro config settings
|
Package distrocfg defines the standard interface that all distro config settings |
|
registry
Package registry is used to register a distro
|
Package registry is used to register a distro |
|
Package os is for running commands on a remote host
|
Package os is for running commands on a remote host |
|
linux
Package linux is implementing the interface github.com/colonel-byte/cargoship/src/types/os.Configurer for Linux based hosts
|
Package linux is implementing the interface github.com/colonel-byte/cargoship/src/types/os.Configurer for Linux based hosts |
|
linux/enterpriselinux
Package enterpriselinux is implementing the interface github.com/colonel-byte/cargoship/src/types/os.Configurer for Enterprise Linux hosts
|
Package enterpriselinux is implementing the interface github.com/colonel-byte/cargoship/src/types/os.Configurer for Enterprise Linux hosts |