Source API reference v1

The GitOps Toolkit Custom Resource Definitions documentation.

Packages:

source.toolkit.fluxcd.io/v1

Package v1 contains API Schema definitions for the source v1 API group

Resource Types:

GitRepository

GitRepository is the Schema for the gitrepositories API.

FieldDescription
apiVersion
string
source.toolkit.fluxcd.io/v1
kind
string
GitRepository
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
GitRepositorySpec


url
string

URL specifies the Git repository URL, it can be an HTTP/S or SSH address.

secretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

SecretRef specifies the Secret containing authentication credentials for the GitRepository. For HTTPS repositories the Secret must contain ‘username’ and ‘password’ fields for basic auth or ‘bearerToken’ field for token auth. For SSH repositories the Secret must contain ‘identity’ and ‘known_hosts’ fields.

interval
Kubernetes meta/v1.Duration

Interval at which the GitRepository URL is checked for updates. This interval is approximate and may be subject to jitter to ensure efficient use of resources.

timeout
Kubernetes meta/v1.Duration
(Optional)

Timeout for Git operations like cloning, defaults to 60s.

ref
GitRepositoryRef
(Optional)

Reference specifies the Git reference to resolve and monitor for changes, defaults to the ‘master’ branch.

verify
GitRepositoryVerification
(Optional)

Verification specifies the configuration to verify the Git commit signature(s).

proxySecretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

ProxySecretRef specifies the Secret containing the proxy configuration to use while communicating with the Git server.

ignore
string
(Optional)

Ignore overrides the set of excluded patterns in the .sourceignore format (which is the same as .gitignore). If not provided, a default will be used, consult the documentation for your version to find out what those are.

suspend
bool
(Optional)

Suspend tells the controller to suspend the reconciliation of this GitRepository.

recurseSubmodules
bool
(Optional)

RecurseSubmodules enables the initialization of all submodules within the GitRepository as cloned from the URL, using their default settings.

include
[]GitRepositoryInclude
(Optional)

Include specifies a list of GitRepository resources which Artifacts should be included in the Artifact produced for this GitRepository.

status
GitRepositoryStatus

HelmChart

HelmChart is the Schema for the helmcharts API.

FieldDescription
apiVersion
string
source.toolkit.fluxcd.io/v1
kind
string
HelmChart
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
HelmChartSpec


chart
string

Chart is the name or path the Helm chart is available at in the SourceRef.

version
string
(Optional)

Version is the chart version semver expression, ignored for charts from GitRepository and Bucket sources. Defaults to latest when omitted.

sourceRef
LocalHelmChartSourceReference

SourceRef is the reference to the Source the chart is available at.

interval
Kubernetes meta/v1.Duration

Interval at which the HelmChart SourceRef is checked for updates. This interval is approximate and may be subject to jitter to ensure efficient use of resources.

reconcileStrategy
string
(Optional)

ReconcileStrategy determines what enables the creation of a new artifact. Valid values are (‘ChartVersion’, ‘Revision’). See the documentation of the values for an explanation on their behavior. Defaults to ChartVersion when omitted.

valuesFiles
[]string
(Optional)

ValuesFiles is an alternative list of values files to use as the chart values (values.yaml is not included by default), expected to be a relative path in the SourceRef. Values files are merged in the order of this list with the last file overriding the first. Ignored when omitted.

ignoreMissingValuesFiles
bool
(Optional)

IgnoreMissingValuesFiles controls whether to silently ignore missing values files rather than failing.

suspend
bool
(Optional)

Suspend tells the controller to suspend the reconciliation of this source.

verify
OCIRepositoryVerification
(Optional)

Verify contains the secret name containing the trusted public keys used to verify the signature and specifies which provider to use to check whether OCI image is authentic. This field is only supported when using HelmRepository source with spec.type ‘oci’. Chart dependencies, which are not bundled in the umbrella chart artifact, are not verified.

status
HelmChartStatus

HelmRepository

HelmRepository is the Schema for the helmrepositories API.

FieldDescription
apiVersion
string
source.toolkit.fluxcd.io/v1
kind
string
HelmRepository
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
HelmRepositorySpec


url
string

URL of the Helm repository, a valid URL contains at least a protocol and host.

secretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

SecretRef specifies the Secret containing authentication credentials for the HelmRepository. For HTTP/S basic auth the secret must contain ‘username’ and ‘password’ fields. Support for TLS auth using the ‘certFile’ and ‘keyFile’, and/or ‘caFile’ keys is deprecated. Please use .spec.certSecretRef instead.

certSecretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

CertSecretRef can be given the name of a Secret containing either or both of

  • a PEM-encoded client certificate (tls.crt) and private key (tls.key);
  • a PEM-encoded CA certificate (ca.crt)

and whichever are supplied, will be used for connecting to the registry. The client cert and key are useful if you are authenticating with a certificate; the CA cert is useful if you are using a self-signed server certificate. The Secret must be of type Opaque or kubernetes.io/tls.

It takes precedence over the values specified in the Secret referred to by .spec.secretRef.

passCredentials
bool
(Optional)

PassCredentials allows the credentials from the SecretRef to be passed on to a host that does not match the host as defined in URL. This may be required if the host of the advertised chart URLs in the index differ from the defined URL. Enabling this should be done with caution, as it can potentially result in credentials getting stolen in a MITM-attack.

interval
Kubernetes meta/v1.Duration
(Optional)

Interval at which the HelmRepository URL is checked for updates. This interval is approximate and may be subject to jitter to ensure efficient use of resources.

insecure
bool
(Optional)

Insecure allows connecting to a non-TLS HTTP container registry. This field is only taken into account if the .spec.type field is set to ‘oci’.

timeout
Kubernetes meta/v1.Duration
(Optional)

Timeout is used for the index fetch operation for an HTTPS helm repository, and for remote OCI Repository operations like pulling for an OCI helm chart by the associated HelmChart. Its default value is 60s.

suspend
bool
(Optional)

Suspend tells the controller to suspend the reconciliation of this HelmRepository.

accessFrom
github.com/fluxcd/pkg/apis/acl.AccessFrom
(Optional)

AccessFrom specifies an Access Control List for allowing cross-namespace references to this object. NOTE: Not implemented, provisional as of https://github.com/fluxcd/flux2/pull/2092

type
string
(Optional)

Type of the HelmRepository. When this field is set to “oci”, the URL field value must be prefixed with “oci://”.

provider
string
(Optional)

Provider used for authentication, can be ‘aws’, ‘azure’, ‘gcp’ or ‘generic’. This field is optional, and only taken into account if the .spec.type field is set to ‘oci’. When not specified, defaults to ‘generic’.

status
HelmRepositoryStatus

Artifact

(Appears on: GitRepositoryStatus, HelmChartStatus, HelmRepositoryStatus)

Artifact represents the output of a Source reconciliation.

FieldDescription
path
string

Path is the relative file path of the Artifact. It can be used to locate the file in the root of the Artifact storage on the local file system of the controller managing the Source.

url
string

URL is the HTTP address of the Artifact as exposed by the controller managing the Source. It can be used to retrieve the Artifact for consumption, e.g. by another controller applying the Artifact contents.

revision
string

Revision is a human-readable identifier traceable in the origin source system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.

digest
string
(Optional)

Digest is the digest of the file in the form of ‘:’.

lastUpdateTime
Kubernetes meta/v1.Time

LastUpdateTime is the timestamp corresponding to the last update of the Artifact.

size
int64
(Optional)

Size is the number of bytes in the file.

metadata
map[string]string
(Optional)

Metadata holds upstream information such as OCI annotations.

GitRepositoryInclude

(Appears on: GitRepositorySpec, GitRepositoryStatus)

GitRepositoryInclude specifies a local reference to a GitRepository which Artifact (sub-)contents must be included, and where they should be placed.

FieldDescription
repository
github.com/fluxcd/pkg/apis/meta.LocalObjectReference

GitRepositoryRef specifies the GitRepository which Artifact contents must be included.

fromPath
string
(Optional)

FromPath specifies the path to copy contents from, defaults to the root of the Artifact.

toPath
string
(Optional)

ToPath specifies the path to copy contents to, defaults to the name of the GitRepositoryRef.

GitRepositoryRef

(Appears on: GitRepositorySpec)

GitRepositoryRef specifies the Git reference to resolve and checkout.

FieldDescription
branch
string
(Optional)

Branch to check out, defaults to ‘master’ if no other field is defined.

tag
string
(Optional)

Tag to check out, takes precedence over Branch.

semver
string
(Optional)

SemVer tag expression to check out, takes precedence over Tag.

name
string
(Optional)

Name of the reference to check out; takes precedence over Branch, Tag and SemVer.

It must be a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description Examples: “refs/heads/main”, “refs/tags/v0.1.0”, “refs/pull/420/head”, “refs/merge-requests/1/head”

commit
string
(Optional)

Commit SHA to check out, takes precedence over all reference fields.

This can be combined with Branch to shallow clone the branch, in which the commit is expected to exist.

GitRepositorySpec

(Appears on: GitRepository)

GitRepositorySpec specifies the required configuration to produce an Artifact for a Git repository.

FieldDescription
url
string

URL specifies the Git repository URL, it can be an HTTP/S or SSH address.

secretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

SecretRef specifies the Secret containing authentication credentials for the GitRepository. For HTTPS repositories the Secret must contain ‘username’ and ‘password’ fields for basic auth or ‘bearerToken’ field for token auth. For SSH repositories the Secret must contain ‘identity’ and ‘known_hosts’ fields.

interval
Kubernetes meta/v1.Duration

Interval at which the GitRepository URL is checked for updates. This interval is approximate and may be subject to jitter to ensure efficient use of resources.

timeout
Kubernetes meta/v1.Duration
(Optional)

Timeout for Git operations like cloning, defaults to 60s.

ref
GitRepositoryRef
(Optional)

Reference specifies the Git reference to resolve and monitor for changes, defaults to the ‘master’ branch.

verify
GitRepositoryVerification
(Optional)

Verification specifies the configuration to verify the Git commit signature(s).

proxySecretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

ProxySecretRef specifies the Secret containing the proxy configuration to use while communicating with the Git server.

ignore
string
(Optional)

Ignore overrides the set of excluded patterns in the .sourceignore format (which is the same as .gitignore). If not provided, a default will be used, consult the documentation for your version to find out what those are.

suspend
bool
(Optional)

Suspend tells the controller to suspend the reconciliation of this GitRepository.

recurseSubmodules
bool
(Optional)

RecurseSubmodules enables the initialization of all submodules within the GitRepository as cloned from the URL, using their default settings.

include
[]GitRepositoryInclude
(Optional)

Include specifies a list of GitRepository resources which Artifacts should be included in the Artifact produced for this GitRepository.

GitRepositoryStatus

(Appears on: GitRepository)

GitRepositoryStatus records the observed state of a Git repository.

FieldDescription
observedGeneration
int64
(Optional)

ObservedGeneration is the last observed generation of the GitRepository object.

conditions
[]Kubernetes meta/v1.Condition
(Optional)

Conditions holds the conditions for the GitRepository.

artifact
Artifact
(Optional)

Artifact represents the last successful GitRepository reconciliation.

includedArtifacts
[]Artifact
(Optional)

IncludedArtifacts contains a list of the last successfully included Artifacts as instructed by GitRepositorySpec.Include.

observedIgnore
string
(Optional)

ObservedIgnore is the observed exclusion patterns used for constructing the source artifact.

observedRecurseSubmodules
bool
(Optional)

ObservedRecurseSubmodules is the observed resource submodules configuration used to produce the current Artifact.

observedInclude
[]GitRepositoryInclude
(Optional)

ObservedInclude is the observed list of GitRepository resources used to produce the current Artifact.

sourceVerificationMode
GitVerificationMode
(Optional)

SourceVerificationMode is the last used verification mode indicating which Git object(s) have been verified.

ReconcileRequestStatus
github.com/fluxcd/pkg/apis/meta.ReconcileRequestStatus

(Members of ReconcileRequestStatus are embedded into this type.)

GitRepositoryVerification

(Appears on: GitRepositorySpec)

GitRepositoryVerification specifies the Git commit signature verification strategy.

FieldDescription
mode
GitVerificationMode
(Optional)

Mode specifies which Git object(s) should be verified.

The variants “head” and “HEAD” both imply the same thing, i.e. verify the commit that the HEAD of the Git repository points to. The variant “head” solely exists to ensure backwards compatibility.

secretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference

SecretRef specifies the Secret containing the public keys of trusted Git authors.

GitVerificationMode (string alias)

(Appears on: GitRepositoryStatus, GitRepositoryVerification)

GitVerificationMode specifies the verification mode for a Git repository.

HelmChartSpec

(Appears on: HelmChart)

HelmChartSpec specifies the desired state of a Helm chart.

FieldDescription
chart
string

Chart is the name or path the Helm chart is available at in the SourceRef.

version
string
(Optional)

Version is the chart version semver expression, ignored for charts from GitRepository and Bucket sources. Defaults to latest when omitted.

sourceRef
LocalHelmChartSourceReference

SourceRef is the reference to the Source the chart is available at.

interval
Kubernetes meta/v1.Duration

Interval at which the HelmChart SourceRef is checked for updates. This interval is approximate and may be subject to jitter to ensure efficient use of resources.

reconcileStrategy
string
(Optional)

ReconcileStrategy determines what enables the creation of a new artifact. Valid values are (‘ChartVersion’, ‘Revision’). See the documentation of the values for an explanation on their behavior. Defaults to ChartVersion when omitted.

valuesFiles
[]string
(Optional)

ValuesFiles is an alternative list of values files to use as the chart values (values.yaml is not included by default), expected to be a relative path in the SourceRef. Values files are merged in the order of this list with the last file overriding the first. Ignored when omitted.

ignoreMissingValuesFiles
bool
(Optional)

IgnoreMissingValuesFiles controls whether to silently ignore missing values files rather than failing.

suspend
bool
(Optional)

Suspend tells the controller to suspend the reconciliation of this source.

verify
OCIRepositoryVerification
(Optional)

Verify contains the secret name containing the trusted public keys used to verify the signature and specifies which provider to use to check whether OCI image is authentic. This field is only supported when using HelmRepository source with spec.type ‘oci’. Chart dependencies, which are not bundled in the umbrella chart artifact, are not verified.

HelmChartStatus

(Appears on: HelmChart)

HelmChartStatus records the observed state of the HelmChart.

FieldDescription
observedGeneration
int64
(Optional)

ObservedGeneration is the last observed generation of the HelmChart object.

observedSourceArtifactRevision
string
(Optional)

ObservedSourceArtifactRevision is the last observed Artifact.Revision of the HelmChartSpec.SourceRef.

observedChartName
string
(Optional)

ObservedChartName is the last observed chart name as specified by the resolved chart reference.

observedValuesFiles
[]string
(Optional)

ObservedValuesFiles are the observed value files of the last successful reconciliation. It matches the chart in the last successfully reconciled artifact.

conditions
[]Kubernetes meta/v1.Condition
(Optional)

Conditions holds the conditions for the HelmChart.

url
string
(Optional)

URL is the dynamic fetch link for the latest Artifact. It is provided on a “best effort” basis, and using the precise BucketStatus.Artifact data is recommended.

artifact
Artifact
(Optional)

Artifact represents the output of the last successful reconciliation.

ReconcileRequestStatus
github.com/fluxcd/pkg/apis/meta.ReconcileRequestStatus

(Members of ReconcileRequestStatus are embedded into this type.)

HelmRepositorySpec

(Appears on: HelmRepository)

HelmRepositorySpec specifies the required configuration to produce an Artifact for a Helm repository index YAML.

FieldDescription
url
string

URL of the Helm repository, a valid URL contains at least a protocol and host.

secretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

SecretRef specifies the Secret containing authentication credentials for the HelmRepository. For HTTP/S basic auth the secret must contain ‘username’ and ‘password’ fields. Support for TLS auth using the ‘certFile’ and ‘keyFile’, and/or ‘caFile’ keys is deprecated. Please use .spec.certSecretRef instead.

certSecretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

CertSecretRef can be given the name of a Secret containing either or both of

  • a PEM-encoded client certificate (tls.crt) and private key (tls.key);
  • a PEM-encoded CA certificate (ca.crt)

and whichever are supplied, will be used for connecting to the registry. The client cert and key are useful if you are authenticating with a certificate; the CA cert is useful if you are using a self-signed server certificate. The Secret must be of type Opaque or kubernetes.io/tls.

It takes precedence over the values specified in the Secret referred to by .spec.secretRef.

passCredentials
bool
(Optional)

PassCredentials allows the credentials from the SecretRef to be passed on to a host that does not match the host as defined in URL. This may be required if the host of the advertised chart URLs in the index differ from the defined URL. Enabling this should be done with caution, as it can potentially result in credentials getting stolen in a MITM-attack.

interval
Kubernetes meta/v1.Duration
(Optional)

Interval at which the HelmRepository URL is checked for updates. This interval is approximate and may be subject to jitter to ensure efficient use of resources.

insecure
bool
(Optional)

Insecure allows connecting to a non-TLS HTTP container registry. This field is only taken into account if the .spec.type field is set to ‘oci’.

timeout
Kubernetes meta/v1.Duration
(Optional)

Timeout is used for the index fetch operation for an HTTPS helm repository, and for remote OCI Repository operations like pulling for an OCI helm chart by the associated HelmChart. Its default value is 60s.

suspend
bool
(Optional)

Suspend tells the controller to suspend the reconciliation of this HelmRepository.

accessFrom
github.com/fluxcd/pkg/apis/acl.AccessFrom
(Optional)

AccessFrom specifies an Access Control List for allowing cross-namespace references to this object. NOTE: Not implemented, provisional as of https://github.com/fluxcd/flux2/pull/2092

type
string
(Optional)

Type of the HelmRepository. When this field is set to “oci”, the URL field value must be prefixed with “oci://”.

provider
string
(Optional)

Provider used for authentication, can be ‘aws’, ‘azure’, ‘gcp’ or ‘generic’. This field is optional, and only taken into account if the .spec.type field is set to ‘oci’. When not specified, defaults to ‘generic’.

HelmRepositoryStatus

(Appears on: HelmRepository)

HelmRepositoryStatus records the observed state of the HelmRepository.

FieldDescription
observedGeneration
int64
(Optional)

ObservedGeneration is the last observed generation of the HelmRepository object.

conditions
[]Kubernetes meta/v1.Condition
(Optional)

Conditions holds the conditions for the HelmRepository.

url
string
(Optional)

URL is the dynamic fetch link for the latest Artifact. It is provided on a “best effort” basis, and using the precise HelmRepositoryStatus.Artifact data is recommended.

artifact
Artifact
(Optional)

Artifact represents the last successful HelmRepository reconciliation.

ReconcileRequestStatus
github.com/fluxcd/pkg/apis/meta.ReconcileRequestStatus

(Members of ReconcileRequestStatus are embedded into this type.)

LocalHelmChartSourceReference

(Appears on: HelmChartSpec)

LocalHelmChartSourceReference contains enough information to let you locate the typed referenced object at namespace level.

FieldDescription
apiVersion
string
(Optional)

APIVersion of the referent.

kind
string

Kind of the referent, valid values are (‘HelmRepository’, ‘GitRepository’, ‘Bucket’).

name
string

Name of the referent.

OCIRepositoryVerification

(Appears on: HelmChartSpec)

OCIRepositoryVerification verifies the authenticity of an OCI Artifact

FieldDescription
provider
string

Provider specifies the technology used to sign the OCI Artifact.

secretRef
github.com/fluxcd/pkg/apis/meta.LocalObjectReference
(Optional)

SecretRef specifies the Kubernetes Secret containing the trusted public keys.

matchOIDCIdentity
[]OIDCIdentityMatch
(Optional)

MatchOIDCIdentity specifies the identity matching criteria to use while verifying an OCI artifact which was signed using Cosign keyless signing. The artifact’s identity is deemed to be verified if any of the specified matchers match against the identity.

OIDCIdentityMatch

(Appears on: OCIRepositoryVerification)

OIDCIdentityMatch specifies options for verifying the certificate identity, i.e. the issuer and the subject of the certificate.

FieldDescription
issuer
string

Issuer specifies the regex pattern to match against to verify the OIDC issuer in the Fulcio certificate. The pattern must be a valid Go regular expression.

subject
string

Subject specifies the regex pattern to match against to verify the identity subject in the Fulcio certificate. The pattern must be a valid Go regular expression.

Source

Source interface must be supported by all API types. Source is the interface that provides generic access to the Artifact and interval. It must be supported by all kinds of the source.toolkit.fluxcd.io API group.

This page was automatically generated with gen-crd-api-reference-docs