k8ts
Version:
Powerful framework for building Kubernetes manifests in TypeScript.
4,158 lines • 144 kB
TypeScript
import { ApiObject, ApiObjectMetadata, GroupVersionKind } from 'cdk8s';
import { Construct } from 'constructs';
/**
* Bucket is the Schema for the buckets API.
*
* @schema Bucket
*/
export declare class Bucket extends ApiObject {
/**
* Returns the apiVersion and kind for "Bucket"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "Bucket".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: BucketProps): any;
/**
* Defines a "Bucket" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: BucketProps);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* Bucket is the Schema for the buckets API.
*
* @schema Bucket
*/
export interface BucketProps {
/**
* @schema Bucket#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* BucketSpec specifies the required configuration to produce an Artifact for
* an object storage bucket.
*
* @schema Bucket#spec
*/
readonly spec?: BucketSpec;
}
/**
* Converts an object of type 'BucketProps' to JSON representation.
*/
export declare function toJson_BucketProps(obj: BucketProps | undefined): Record<string, any> | undefined;
/**
* BucketSpec specifies the required configuration to produce an Artifact for
* an object storage bucket.
*
* @schema BucketSpec
*/
export interface BucketSpec {
/**
* BucketName is the name of the object storage bucket.
*
* @schema BucketSpec#bucketName
*/
readonly bucketName: string;
/**
* 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
* bucket. 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`.
*
* This field is only supported for the `generic` provider.
*
* @schema BucketSpec#certSecretRef
*/
readonly certSecretRef?: BucketSpecCertSecretRef;
/**
* Endpoint is the object storage address the BucketName is located at.
*
* @schema BucketSpec#endpoint
*/
readonly endpoint: string;
/**
* 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.
*
* @schema BucketSpec#ignore
*/
readonly ignore?: string;
/**
* Insecure allows connecting to a non-TLS HTTP Endpoint.
*
* @schema BucketSpec#insecure
*/
readonly insecure?: boolean;
/**
* Interval at which the Bucket Endpoint is checked for updates.
* This interval is approximate and may be subject to jitter to ensure
* efficient use of resources.
*
* @schema BucketSpec#interval
*/
readonly interval: string;
/**
* Prefix to use for server-side filtering of files in the Bucket.
*
* @schema BucketSpec#prefix
*/
readonly prefix?: string;
/**
* Provider of the object storage bucket.
* Defaults to 'generic', which expects an S3 (API) compatible object
* storage.
*
* @default generic', which expects an S3 (API) compatible object
* @schema BucketSpec#provider
*/
readonly provider?: BucketSpecProvider;
/**
* ProxySecretRef specifies the Secret containing the proxy configuration
* to use while communicating with the Bucket server.
*
* @schema BucketSpec#proxySecretRef
*/
readonly proxySecretRef?: BucketSpecProxySecretRef;
/**
* Region of the Endpoint where the BucketName is located in.
*
* @schema BucketSpec#region
*/
readonly region?: string;
/**
* SecretRef specifies the Secret containing authentication credentials
* for the Bucket.
*
* @schema BucketSpec#secretRef
*/
readonly secretRef?: BucketSpecSecretRef;
/**
* STS specifies the required configuration to use a Security Token
* Service for fetching temporary credentials to authenticate in a
* Bucket provider.
*
* This field is only supported for the `aws` and `generic` providers.
*
* @schema BucketSpec#sts
*/
readonly sts?: BucketSpecSts;
/**
* Suspend tells the controller to suspend the reconciliation of this
* Bucket.
*
* @schema BucketSpec#suspend
*/
readonly suspend?: boolean;
/**
* Timeout for fetch operations, defaults to 60s.
*
* @schema BucketSpec#timeout
*/
readonly timeout?: string;
}
/**
* Converts an object of type 'BucketSpec' to JSON representation.
*/
export declare function toJson_BucketSpec(obj: BucketSpec | undefined): Record<string, any> | undefined;
/**
* 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
* bucket. 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`.
*
* This field is only supported for the `generic` provider.
*
* @schema BucketSpecCertSecretRef
*/
export interface BucketSpecCertSecretRef {
/**
* Name of the referent.
*
* @schema BucketSpecCertSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'BucketSpecCertSecretRef' to JSON representation.
*/
export declare function toJson_BucketSpecCertSecretRef(obj: BucketSpecCertSecretRef | undefined): Record<string, any> | undefined;
/**
* Provider of the object storage bucket.
* Defaults to 'generic', which expects an S3 (API) compatible object
* storage.
*
* @default generic', which expects an S3 (API) compatible object
* @schema BucketSpecProvider
*/
export declare enum BucketSpecProvider {
/** generic */
GENERIC = "generic",
/** aws */
AWS = "aws",
/** gcp */
GCP = "gcp",
/** azure */
AZURE = "azure"
}
/**
* ProxySecretRef specifies the Secret containing the proxy configuration
* to use while communicating with the Bucket server.
*
* @schema BucketSpecProxySecretRef
*/
export interface BucketSpecProxySecretRef {
/**
* Name of the referent.
*
* @schema BucketSpecProxySecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'BucketSpecProxySecretRef' to JSON representation.
*/
export declare function toJson_BucketSpecProxySecretRef(obj: BucketSpecProxySecretRef | undefined): Record<string, any> | undefined;
/**
* SecretRef specifies the Secret containing authentication credentials
* for the Bucket.
*
* @schema BucketSpecSecretRef
*/
export interface BucketSpecSecretRef {
/**
* Name of the referent.
*
* @schema BucketSpecSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'BucketSpecSecretRef' to JSON representation.
*/
export declare function toJson_BucketSpecSecretRef(obj: BucketSpecSecretRef | undefined): Record<string, any> | undefined;
/**
* STS specifies the required configuration to use a Security Token
* Service for fetching temporary credentials to authenticate in a
* Bucket provider.
*
* This field is only supported for the `aws` and `generic` providers.
*
* @schema BucketSpecSts
*/
export interface BucketSpecSts {
/**
* 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
* STS endpoint. 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`.
*
* This field is only supported for the `ldap` provider.
*
* @schema BucketSpecSts#certSecretRef
*/
readonly certSecretRef?: BucketSpecStsCertSecretRef;
/**
* Endpoint is the HTTP/S endpoint of the Security Token Service from
* where temporary credentials will be fetched.
*
* @schema BucketSpecSts#endpoint
*/
readonly endpoint: string;
/**
* Provider of the Security Token Service.
*
* @schema BucketSpecSts#provider
*/
readonly provider: BucketSpecStsProvider;
/**
* SecretRef specifies the Secret containing authentication credentials
* for the STS endpoint. This Secret must contain the fields `username`
* and `password` and is supported only for the `ldap` provider.
*
* @schema BucketSpecSts#secretRef
*/
readonly secretRef?: BucketSpecStsSecretRef;
}
/**
* Converts an object of type 'BucketSpecSts' to JSON representation.
*/
export declare function toJson_BucketSpecSts(obj: BucketSpecSts | undefined): Record<string, any> | undefined;
/**
* 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
* STS endpoint. 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`.
*
* This field is only supported for the `ldap` provider.
*
* @schema BucketSpecStsCertSecretRef
*/
export interface BucketSpecStsCertSecretRef {
/**
* Name of the referent.
*
* @schema BucketSpecStsCertSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'BucketSpecStsCertSecretRef' to JSON representation.
*/
export declare function toJson_BucketSpecStsCertSecretRef(obj: BucketSpecStsCertSecretRef | undefined): Record<string, any> | undefined;
/**
* Provider of the Security Token Service.
*
* @schema BucketSpecStsProvider
*/
export declare enum BucketSpecStsProvider {
/** aws */
AWS = "aws",
/** ldap */
LDAP = "ldap"
}
/**
* SecretRef specifies the Secret containing authentication credentials
* for the STS endpoint. This Secret must contain the fields `username`
* and `password` and is supported only for the `ldap` provider.
*
* @schema BucketSpecStsSecretRef
*/
export interface BucketSpecStsSecretRef {
/**
* Name of the referent.
*
* @schema BucketSpecStsSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'BucketSpecStsSecretRef' to JSON representation.
*/
export declare function toJson_BucketSpecStsSecretRef(obj: BucketSpecStsSecretRef | undefined): Record<string, any> | undefined;
/**
* Bucket is the Schema for the buckets API
*
* @schema BucketV1Beta1
*/
export declare class BucketV1Beta1 extends ApiObject {
/**
* Returns the apiVersion and kind for "BucketV1Beta1"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "BucketV1Beta1".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: BucketV1Beta1Props): any;
/**
* Defines a "BucketV1Beta1" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: BucketV1Beta1Props);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* Bucket is the Schema for the buckets API
*
* @schema BucketV1Beta1
*/
export interface BucketV1Beta1Props {
/**
* @schema BucketV1Beta1#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* BucketSpec defines the desired state of an S3 compatible bucket
*
* @schema BucketV1Beta1#spec
*/
readonly spec?: BucketV1Beta1Spec;
}
/**
* Converts an object of type 'BucketV1Beta1Props' to JSON representation.
*/
export declare function toJson_BucketV1Beta1Props(obj: BucketV1Beta1Props | undefined): Record<string, any> | undefined;
/**
* BucketSpec defines the desired state of an S3 compatible bucket
*
* @schema BucketV1Beta1Spec
*/
export interface BucketV1Beta1Spec {
/**
* AccessFrom defines an Access Control List for allowing cross-namespace references to this object.
*
* @schema BucketV1Beta1Spec#accessFrom
*/
readonly accessFrom?: BucketV1Beta1SpecAccessFrom;
/**
* The bucket name.
*
* @schema BucketV1Beta1Spec#bucketName
*/
readonly bucketName: string;
/**
* The bucket endpoint address.
*
* @schema BucketV1Beta1Spec#endpoint
*/
readonly endpoint: string;
/**
* 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.
*
* @schema BucketV1Beta1Spec#ignore
*/
readonly ignore?: string;
/**
* Insecure allows connecting to a non-TLS S3 HTTP endpoint.
*
* @schema BucketV1Beta1Spec#insecure
*/
readonly insecure?: boolean;
/**
* The interval at which to check for bucket updates.
*
* @schema BucketV1Beta1Spec#interval
*/
readonly interval: string;
/**
* The S3 compatible storage provider name, default ('generic').
*
* @schema BucketV1Beta1Spec#provider
*/
readonly provider?: BucketV1Beta1SpecProvider;
/**
* The bucket region.
*
* @schema BucketV1Beta1Spec#region
*/
readonly region?: string;
/**
* The name of the secret containing authentication credentials
* for the Bucket.
*
* @schema BucketV1Beta1Spec#secretRef
*/
readonly secretRef?: BucketV1Beta1SpecSecretRef;
/**
* This flag tells the controller to suspend the reconciliation of this source.
*
* @schema BucketV1Beta1Spec#suspend
*/
readonly suspend?: boolean;
/**
* The timeout for download operations, defaults to 60s.
*
* @schema BucketV1Beta1Spec#timeout
*/
readonly timeout?: string;
}
/**
* Converts an object of type 'BucketV1Beta1Spec' to JSON representation.
*/
export declare function toJson_BucketV1Beta1Spec(obj: BucketV1Beta1Spec | undefined): Record<string, any> | undefined;
/**
* AccessFrom defines an Access Control List for allowing cross-namespace references to this object.
*
* @schema BucketV1Beta1SpecAccessFrom
*/
export interface BucketV1Beta1SpecAccessFrom {
/**
* NamespaceSelectors is the list of namespace selectors to which this ACL applies.
* Items in this list are evaluated using a logical OR operation.
*
* @schema BucketV1Beta1SpecAccessFrom#namespaceSelectors
*/
readonly namespaceSelectors: BucketV1Beta1SpecAccessFromNamespaceSelectors[];
}
/**
* Converts an object of type 'BucketV1Beta1SpecAccessFrom' to JSON representation.
*/
export declare function toJson_BucketV1Beta1SpecAccessFrom(obj: BucketV1Beta1SpecAccessFrom | undefined): Record<string, any> | undefined;
/**
* The S3 compatible storage provider name, default ('generic').
*
* @schema BucketV1Beta1SpecProvider
*/
export declare enum BucketV1Beta1SpecProvider {
/** generic */
GENERIC = "generic",
/** aws */
AWS = "aws",
/** gcp */
GCP = "gcp"
}
/**
* The name of the secret containing authentication credentials
* for the Bucket.
*
* @schema BucketV1Beta1SpecSecretRef
*/
export interface BucketV1Beta1SpecSecretRef {
/**
* Name of the referent.
*
* @schema BucketV1Beta1SpecSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'BucketV1Beta1SpecSecretRef' to JSON representation.
*/
export declare function toJson_BucketV1Beta1SpecSecretRef(obj: BucketV1Beta1SpecSecretRef | undefined): Record<string, any> | undefined;
/**
* NamespaceSelector selects the namespaces to which this ACL applies.
* An empty map of MatchLabels matches all namespaces in a cluster.
*
* @schema BucketV1Beta1SpecAccessFromNamespaceSelectors
*/
export interface BucketV1Beta1SpecAccessFromNamespaceSelectors {
/**
* MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*
* @schema BucketV1Beta1SpecAccessFromNamespaceSelectors#matchLabels
*/
readonly matchLabels?: {
[key: string]: string;
};
}
/**
* Converts an object of type 'BucketV1Beta1SpecAccessFromNamespaceSelectors' to JSON representation.
*/
export declare function toJson_BucketV1Beta1SpecAccessFromNamespaceSelectors(obj: BucketV1Beta1SpecAccessFromNamespaceSelectors | undefined): Record<string, any> | undefined;
/**
* Bucket is the Schema for the buckets API.
*
* @schema BucketV1Beta2
*/
export declare class BucketV1Beta2 extends ApiObject {
/**
* Returns the apiVersion and kind for "BucketV1Beta2"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "BucketV1Beta2".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: BucketV1Beta2Props): any;
/**
* Defines a "BucketV1Beta2" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: BucketV1Beta2Props);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* Bucket is the Schema for the buckets API.
*
* @schema BucketV1Beta2
*/
export interface BucketV1Beta2Props {
/**
* @schema BucketV1Beta2#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* BucketSpec specifies the required configuration to produce an Artifact for
* an object storage bucket.
*
* @schema BucketV1Beta2#spec
*/
readonly spec?: BucketV1Beta2Spec;
}
/**
* Converts an object of type 'BucketV1Beta2Props' to JSON representation.
*/
export declare function toJson_BucketV1Beta2Props(obj: BucketV1Beta2Props | undefined): Record<string, any> | undefined;
/**
* BucketSpec specifies the required configuration to produce an Artifact for
* an object storage bucket.
*
* @schema BucketV1Beta2Spec
*/
export interface BucketV1Beta2Spec {
/**
* 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
*
* @schema BucketV1Beta2Spec#accessFrom
*/
readonly accessFrom?: BucketV1Beta2SpecAccessFrom;
/**
* BucketName is the name of the object storage bucket.
*
* @schema BucketV1Beta2Spec#bucketName
*/
readonly bucketName: string;
/**
* 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
* bucket. 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`.
*
* This field is only supported for the `generic` provider.
*
* @schema BucketV1Beta2Spec#certSecretRef
*/
readonly certSecretRef?: BucketV1Beta2SpecCertSecretRef;
/**
* Endpoint is the object storage address the BucketName is located at.
*
* @schema BucketV1Beta2Spec#endpoint
*/
readonly endpoint: string;
/**
* 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.
*
* @schema BucketV1Beta2Spec#ignore
*/
readonly ignore?: string;
/**
* Insecure allows connecting to a non-TLS HTTP Endpoint.
*
* @schema BucketV1Beta2Spec#insecure
*/
readonly insecure?: boolean;
/**
* Interval at which the Bucket Endpoint is checked for updates.
* This interval is approximate and may be subject to jitter to ensure
* efficient use of resources.
*
* @schema BucketV1Beta2Spec#interval
*/
readonly interval: string;
/**
* Prefix to use for server-side filtering of files in the Bucket.
*
* @schema BucketV1Beta2Spec#prefix
*/
readonly prefix?: string;
/**
* Provider of the object storage bucket.
* Defaults to 'generic', which expects an S3 (API) compatible object
* storage.
*
* @default generic', which expects an S3 (API) compatible object
* @schema BucketV1Beta2Spec#provider
*/
readonly provider?: BucketV1Beta2SpecProvider;
/**
* ProxySecretRef specifies the Secret containing the proxy configuration
* to use while communicating with the Bucket server.
*
* @schema BucketV1Beta2Spec#proxySecretRef
*/
readonly proxySecretRef?: BucketV1Beta2SpecProxySecretRef;
/**
* Region of the Endpoint where the BucketName is located in.
*
* @schema BucketV1Beta2Spec#region
*/
readonly region?: string;
/**
* SecretRef specifies the Secret containing authentication credentials
* for the Bucket.
*
* @schema BucketV1Beta2Spec#secretRef
*/
readonly secretRef?: BucketV1Beta2SpecSecretRef;
/**
* STS specifies the required configuration to use a Security Token
* Service for fetching temporary credentials to authenticate in a
* Bucket provider.
*
* This field is only supported for the `aws` and `generic` providers.
*
* @schema BucketV1Beta2Spec#sts
*/
readonly sts?: BucketV1Beta2SpecSts;
/**
* Suspend tells the controller to suspend the reconciliation of this
* Bucket.
*
* @schema BucketV1Beta2Spec#suspend
*/
readonly suspend?: boolean;
/**
* Timeout for fetch operations, defaults to 60s.
*
* @schema BucketV1Beta2Spec#timeout
*/
readonly timeout?: string;
}
/**
* Converts an object of type 'BucketV1Beta2Spec' to JSON representation.
*/
export declare function toJson_BucketV1Beta2Spec(obj: BucketV1Beta2Spec | undefined): Record<string, any> | undefined;
/**
* 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
*
* @schema BucketV1Beta2SpecAccessFrom
*/
export interface BucketV1Beta2SpecAccessFrom {
/**
* NamespaceSelectors is the list of namespace selectors to which this ACL applies.
* Items in this list are evaluated using a logical OR operation.
*
* @schema BucketV1Beta2SpecAccessFrom#namespaceSelectors
*/
readonly namespaceSelectors: BucketV1Beta2SpecAccessFromNamespaceSelectors[];
}
/**
* Converts an object of type 'BucketV1Beta2SpecAccessFrom' to JSON representation.
*/
export declare function toJson_BucketV1Beta2SpecAccessFrom(obj: BucketV1Beta2SpecAccessFrom | undefined): Record<string, any> | undefined;
/**
* 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
* bucket. 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`.
*
* This field is only supported for the `generic` provider.
*
* @schema BucketV1Beta2SpecCertSecretRef
*/
export interface BucketV1Beta2SpecCertSecretRef {
/**
* Name of the referent.
*
* @schema BucketV1Beta2SpecCertSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'BucketV1Beta2SpecCertSecretRef' to JSON representation.
*/
export declare function toJson_BucketV1Beta2SpecCertSecretRef(obj: BucketV1Beta2SpecCertSecretRef | undefined): Record<string, any> | undefined;
/**
* Provider of the object storage bucket.
* Defaults to 'generic', which expects an S3 (API) compatible object
* storage.
*
* @default generic', which expects an S3 (API) compatible object
* @schema BucketV1Beta2SpecProvider
*/
export declare enum BucketV1Beta2SpecProvider {
/** generic */
GENERIC = "generic",
/** aws */
AWS = "aws",
/** gcp */
GCP = "gcp",
/** azure */
AZURE = "azure"
}
/**
* ProxySecretRef specifies the Secret containing the proxy configuration
* to use while communicating with the Bucket server.
*
* @schema BucketV1Beta2SpecProxySecretRef
*/
export interface BucketV1Beta2SpecProxySecretRef {
/**
* Name of the referent.
*
* @schema BucketV1Beta2SpecProxySecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'BucketV1Beta2SpecProxySecretRef' to JSON representation.
*/
export declare function toJson_BucketV1Beta2SpecProxySecretRef(obj: BucketV1Beta2SpecProxySecretRef | undefined): Record<string, any> | undefined;
/**
* SecretRef specifies the Secret containing authentication credentials
* for the Bucket.
*
* @schema BucketV1Beta2SpecSecretRef
*/
export interface BucketV1Beta2SpecSecretRef {
/**
* Name of the referent.
*
* @schema BucketV1Beta2SpecSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'BucketV1Beta2SpecSecretRef' to JSON representation.
*/
export declare function toJson_BucketV1Beta2SpecSecretRef(obj: BucketV1Beta2SpecSecretRef | undefined): Record<string, any> | undefined;
/**
* STS specifies the required configuration to use a Security Token
* Service for fetching temporary credentials to authenticate in a
* Bucket provider.
*
* This field is only supported for the `aws` and `generic` providers.
*
* @schema BucketV1Beta2SpecSts
*/
export interface BucketV1Beta2SpecSts {
/**
* 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
* STS endpoint. 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`.
*
* This field is only supported for the `ldap` provider.
*
* @schema BucketV1Beta2SpecSts#certSecretRef
*/
readonly certSecretRef?: BucketV1Beta2SpecStsCertSecretRef;
/**
* Endpoint is the HTTP/S endpoint of the Security Token Service from
* where temporary credentials will be fetched.
*
* @schema BucketV1Beta2SpecSts#endpoint
*/
readonly endpoint: string;
/**
* Provider of the Security Token Service.
*
* @schema BucketV1Beta2SpecSts#provider
*/
readonly provider: BucketV1Beta2SpecStsProvider;
/**
* SecretRef specifies the Secret containing authentication credentials
* for the STS endpoint. This Secret must contain the fields `username`
* and `password` and is supported only for the `ldap` provider.
*
* @schema BucketV1Beta2SpecSts#secretRef
*/
readonly secretRef?: BucketV1Beta2SpecStsSecretRef;
}
/**
* Converts an object of type 'BucketV1Beta2SpecSts' to JSON representation.
*/
export declare function toJson_BucketV1Beta2SpecSts(obj: BucketV1Beta2SpecSts | undefined): Record<string, any> | undefined;
/**
* NamespaceSelector selects the namespaces to which this ACL applies.
* An empty map of MatchLabels matches all namespaces in a cluster.
*
* @schema BucketV1Beta2SpecAccessFromNamespaceSelectors
*/
export interface BucketV1Beta2SpecAccessFromNamespaceSelectors {
/**
* MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*
* @schema BucketV1Beta2SpecAccessFromNamespaceSelectors#matchLabels
*/
readonly matchLabels?: {
[key: string]: string;
};
}
/**
* Converts an object of type 'BucketV1Beta2SpecAccessFromNamespaceSelectors' to JSON representation.
*/
export declare function toJson_BucketV1Beta2SpecAccessFromNamespaceSelectors(obj: BucketV1Beta2SpecAccessFromNamespaceSelectors | undefined): Record<string, any> | undefined;
/**
* 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
* STS endpoint. 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`.
*
* This field is only supported for the `ldap` provider.
*
* @schema BucketV1Beta2SpecStsCertSecretRef
*/
export interface BucketV1Beta2SpecStsCertSecretRef {
/**
* Name of the referent.
*
* @schema BucketV1Beta2SpecStsCertSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'BucketV1Beta2SpecStsCertSecretRef' to JSON representation.
*/
export declare function toJson_BucketV1Beta2SpecStsCertSecretRef(obj: BucketV1Beta2SpecStsCertSecretRef | undefined): Record<string, any> | undefined;
/**
* Provider of the Security Token Service.
*
* @schema BucketV1Beta2SpecStsProvider
*/
export declare enum BucketV1Beta2SpecStsProvider {
/** aws */
AWS = "aws",
/** ldap */
LDAP = "ldap"
}
/**
* SecretRef specifies the Secret containing authentication credentials
* for the STS endpoint. This Secret must contain the fields `username`
* and `password` and is supported only for the `ldap` provider.
*
* @schema BucketV1Beta2SpecStsSecretRef
*/
export interface BucketV1Beta2SpecStsSecretRef {
/**
* Name of the referent.
*
* @schema BucketV1Beta2SpecStsSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'BucketV1Beta2SpecStsSecretRef' to JSON representation.
*/
export declare function toJson_BucketV1Beta2SpecStsSecretRef(obj: BucketV1Beta2SpecStsSecretRef | undefined): Record<string, any> | undefined;
/**
* GitRepository is the Schema for the gitrepositories API.
*
* @schema GitRepository
*/
export declare class GitRepository extends ApiObject {
/**
* Returns the apiVersion and kind for "GitRepository"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "GitRepository".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: GitRepositoryProps): any;
/**
* Defines a "GitRepository" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: GitRepositoryProps);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* GitRepository is the Schema for the gitrepositories API.
*
* @schema GitRepository
*/
export interface GitRepositoryProps {
/**
* @schema GitRepository#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* GitRepositorySpec specifies the required configuration to produce an
* Artifact for a Git repository.
*
* @schema GitRepository#spec
*/
readonly spec?: GitRepositorySpec;
}
/**
* Converts an object of type 'GitRepositoryProps' to JSON representation.
*/
export declare function toJson_GitRepositoryProps(obj: GitRepositoryProps | undefined): Record<string, any> | undefined;
/**
* GitRepositorySpec specifies the required configuration to produce an
* Artifact for a Git repository.
*
* @schema GitRepositorySpec
*/
export interface GitRepositorySpec {
/**
* 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.
*
* @schema GitRepositorySpec#ignore
*/
readonly ignore?: string;
/**
* Include specifies a list of GitRepository resources which Artifacts
* should be included in the Artifact produced for this GitRepository.
*
* @schema GitRepositorySpec#include
*/
readonly include?: GitRepositorySpecInclude[];
/**
* 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.
*
* @schema GitRepositorySpec#interval
*/
readonly interval: string;
/**
* Provider used for authentication, can be 'azure', 'github', 'generic'.
* When not specified, defaults to 'generic'.
*
* @schema GitRepositorySpec#provider
*/
readonly provider?: GitRepositorySpecProvider;
/**
* ProxySecretRef specifies the Secret containing the proxy configuration
* to use while communicating with the Git server.
*
* @schema GitRepositorySpec#proxySecretRef
*/
readonly proxySecretRef?: GitRepositorySpecProxySecretRef;
/**
* RecurseSubmodules enables the initialization of all submodules within
* the GitRepository as cloned from the URL, using their default settings.
*
* @schema GitRepositorySpec#recurseSubmodules
*/
readonly recurseSubmodules?: boolean;
/**
* Reference specifies the Git reference to resolve and monitor for
* changes, defaults to the 'master' branch.
*
* @schema GitRepositorySpec#ref
*/
readonly ref?: GitRepositorySpecRef;
/**
* 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.
*
* @schema GitRepositorySpec#secretRef
*/
readonly secretRef?: GitRepositorySpecSecretRef;
/**
* Suspend tells the controller to suspend the reconciliation of this
* GitRepository.
*
* @schema GitRepositorySpec#suspend
*/
readonly suspend?: boolean;
/**
* Timeout for Git operations like cloning, defaults to 60s.
*
* @schema GitRepositorySpec#timeout
*/
readonly timeout?: string;
/**
* URL specifies the Git repository URL, it can be an HTTP/S or SSH address.
*
* @schema GitRepositorySpec#url
*/
readonly url: string;
/**
* Verification specifies the configuration to verify the Git commit
* signature(s).
*
* @schema GitRepositorySpec#verify
*/
readonly verify?: GitRepositorySpecVerify;
}
/**
* Converts an object of type 'GitRepositorySpec' to JSON representation.
*/
export declare function toJson_GitRepositorySpec(obj: GitRepositorySpec | undefined): Record<string, any> | undefined;
/**
* GitRepositoryInclude specifies a local reference to a GitRepository which
* Artifact (sub-)contents must be included, and where they should be placed.
*
* @schema GitRepositorySpecInclude
*/
export interface GitRepositorySpecInclude {
/**
* FromPath specifies the path to copy contents from, defaults to the root
* of the Artifact.
*
* @schema GitRepositorySpecInclude#fromPath
*/
readonly fromPath?: string;
/**
* GitRepositoryRef specifies the GitRepository which Artifact contents
* must be included.
*
* @schema GitRepositorySpecInclude#repository
*/
readonly repository: GitRepositorySpecIncludeRepository;
/**
* ToPath specifies the path to copy contents to, defaults to the name of
* the GitRepositoryRef.
*
* @schema GitRepositorySpecInclude#toPath
*/
readonly toPath?: string;
}
/**
* Converts an object of type 'GitRepositorySpecInclude' to JSON representation.
*/
export declare function toJson_GitRepositorySpecInclude(obj: GitRepositorySpecInclude | undefined): Record<string, any> | undefined;
/**
* Provider used for authentication, can be 'azure', 'github', 'generic'.
* When not specified, defaults to 'generic'.
*
* @schema GitRepositorySpecProvider
*/
export declare enum GitRepositorySpecProvider {
/** generic */
GENERIC = "generic",
/** azure */
AZURE = "azure",
/** github */
GITHUB = "github"
}
/**
* ProxySecretRef specifies the Secret containing the proxy configuration
* to use while communicating with the Git server.
*
* @schema GitRepositorySpecProxySecretRef
*/
export interface GitRepositorySpecProxySecretRef {
/**
* Name of the referent.
*
* @schema GitRepositorySpecProxySecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'GitRepositorySpecProxySecretRef' to JSON representation.
*/
export declare function toJson_GitRepositorySpecProxySecretRef(obj: GitRepositorySpecProxySecretRef | undefined): Record<string, any> | undefined;
/**
* Reference specifies the Git reference to resolve and monitor for
* changes, defaults to the 'master' branch.
*
* @schema GitRepositorySpecRef
*/
export interface GitRepositorySpecRef {
/**
* Branch to check out, defaults to 'master' if no other field is defined.
*
* @schema GitRepositorySpecRef#branch
*/
readonly branch?: string;
/**
* 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.
*
* @schema GitRepositorySpecRef#commit
*/
readonly commit?: string;
/**
* 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"
*
* @schema GitRepositorySpecRef#name
*/
readonly name?: string;
/**
* SemVer tag expression to check out, takes precedence over Tag.
*
* @schema GitRepositorySpecRef#semver
*/
readonly semver?: string;
/**
* Tag to check out, takes precedence over Branch.
*
* @schema GitRepositorySpecRef#tag
*/
readonly tag?: string;
}
/**
* Converts an object of type 'GitRepositorySpecRef' to JSON representation.
*/
export declare function toJson_GitRepositorySpecRef(obj: GitRepositorySpecRef | undefined): Record<string, any> | undefined;
/**
* 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.
*
* @schema GitRepositorySpecSecretRef
*/
export interface GitRepositorySpecSecretRef {
/**
* Name of the referent.
*
* @schema GitRepositorySpecSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'GitRepositorySpecSecretRef' to JSON representation.
*/
export declare function toJson_GitRepositorySpecSecretRef(obj: GitRepositorySpecSecretRef | undefined): Record<string, any> | undefined;
/**
* Verification specifies the configuration to verify the Git commit
* signature(s).
*
* @schema GitRepositorySpecVerify
*/
export interface GitRepositorySpecVerify {
/**
* 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.
*
* @schema GitRepositorySpecVerify#mode
*/
readonly mode?: GitRepositorySpecVerifyMode;
/**
* SecretRef specifies the Secret containing the public keys of trusted Git
* authors.
*
* @schema GitRepositorySpecVerify#secretRef
*/
readonly secretRef: GitRepositorySpecVerifySecretRef;
}
/**
* Converts an object of type 'GitRepositorySpecVerify' to JSON representation.
*/
export declare function toJson_GitRepositorySpecVerify(obj: GitRepositorySpecVerify | undefined): Record<string, any> | undefined;
/**
* GitRepositoryRef specifies the GitRepository which Artifact contents
* must be included.
*
* @schema GitRepositorySpecIncludeRepository
*/
export interface GitRepositorySpecIncludeRepository {
/**
* Name of the referent.
*
* @schema GitRepositorySpecIncludeRepository#name
*/
readonly name: string;
}
/**
* Converts an object of type 'GitRepositorySpecIncludeRepository' to JSON representation.
*/
export declare function toJson_GitRepositorySpecIncludeRepository(obj: GitRepositorySpecIncludeRepository | undefined): Record<string, any> | undefined;
/**
* 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.
*
* @schema GitRepositorySpecVerifyMode
*/
export declare enum GitRepositorySpecVerifyMode {
/** head */
HEAD = "head",
/** Tag */
TAG = "Tag",
/** TagAndHEAD */
TAG_AND_HEAD = "TagAndHEAD"
}
/**
* SecretRef specifies the Secret containing the public keys of trusted Git
* authors.
*
* @schema GitRepositorySpecVerifySecretRef
*/
export interface GitRepositorySpecVerifySecretRef {
/**
* Name of the referent.
*
* @schema GitRepositorySpecVerifySecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'GitRepositorySpecVerifySecretRef' to JSON representation.
*/
export declare function toJson_GitRepositorySpecVerifySecretRef(obj: GitRepositorySpecVerifySecretRef | undefined): Record<string, any> | undefined;
/**
* GitRepository is the Schema for the gitrepositories API
*
* @schema GitRepositoryV1Beta1
*/
export declare class GitRepositoryV1Beta1 extends ApiObject {
/**
* Returns the apiVersion and kind for "GitRepositoryV1Beta1"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "GitRepositoryV1Beta1".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: GitRepositoryV1Beta1Props): any;
/**
* Defines a "GitRepositoryV1Beta1" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: GitRepositoryV1Beta1Props);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* GitRepository is the Schema for the gitrepositories API
*
* @schema GitRepositoryV1Beta1
*/
export interface GitRepositoryV1Beta1Props {
/**
* @schema GitRepositoryV1Beta1#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* GitRepositorySpec defines the desired state of a Git repository.
*
* @schema GitRepositoryV1Beta1#spec
*/
readonly spec?: GitRepositoryV1Beta1Spec;
}
/**
* Converts an object of type 'GitRepositoryV1Beta1Props' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta1Props(obj: GitRepositoryV1Beta1Props | undefined): Record<string, any> | undefined;
/**
* GitRepositorySpec defines the desired state of a Git repository.
*
* @schema GitRepositoryV1Beta1Spec
*/
export interface GitRepositoryV1Beta1Spec {
/**
* AccessFrom defines an Access Control List for allowing cross-namespace references to this object.
*
* @schema GitRepositoryV1Beta1Spec#accessFrom
*/
readonly accessFrom?: GitRepositoryV1Beta1SpecAccessFrom;
/**
* Determines which git client library to use.
* Defaults to go-git, valid values are ('go-git', 'libgit2').
*
* @default go-git, valid values are ('go-git', 'libgit2').
* @schema GitRepositoryV1Beta1Spec#gitImplementation
*/
readonly gitImplementation?: GitRepositoryV1Beta1SpecGitImplementation;
/**
* 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.
*
* @schema GitRepositoryV1Beta1Spec#ignore
*/
readonly ignore?: string;
/**
* Extra git repositories to map into the repository
*
* @schema GitRepositoryV1Beta1Spec#include
*/
readonly include?: GitRepositoryV1Beta1SpecInclude[];
/**
* The interval at which to check for repository updates.
*
* @schema GitRepositoryV1Beta1Spec#interval
*/
readonly interval: string;
/**
* When enabled, after the clone is created, initializes all submodules within,
* using their default settings.
* This option is available only when using the 'go-git' GitImplementation.
*
* @schema GitRepositoryV1Beta1Spec#recurseSubmodules
*/
readonly recurseSubmodules?: boolean;
/**
* The Git reference to checkout and monitor for changes, defaults to
* master branch.
*
* @schema GitRepositoryV1Beta1Spec#ref
*/
readonly ref?: GitRepositoryV1Beta1SpecRef;
/**
* The secret name containing the Git credentials.
* For HTTPS repositories the secret must contain username and password
* fields.
* For SSH repositories the secret must contain identity and known_hosts
* fields.
*
* @schema GitRepositoryV1Beta1Spec#secretRef
*/
readonly secretRef?: GitRepositoryV1Beta1SpecSecretRef;
/**
* This flag tells the controller to suspend the reconciliation of this source.
*
* @schema GitRepositoryV1Beta1Spec#suspend
*/
readonly suspend?: boolean;
/**
* The timeout for remote Git operations like cloning, defaults to 60s.
*
* @schema GitRepositoryV1Beta1Spec#timeout
*/
readonly timeout?: string;
/**
* The repository URL, can be a HTTP/S or SSH address.
*
* @schema GitRepositoryV1Beta1Spec#url
*/
readonly url: string;
/**
* Verify OpenPGP signature for the Git commit HEAD points to.
*
* @schema GitRepositoryV1Beta1Spec#verify
*/
readonly verify?: GitRepositoryV1Beta1SpecVerify;
}
/**
* Converts an object of type 'GitRepositoryV1Beta1Spec' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta1Spec(obj: GitRepositoryV1Beta1Spec | undefined): Record<string, any> | undefined;
/**
* AccessFrom defines an Access Control List for allowing cross-namespace references to this object.
*
* @schema GitRepositoryV1Beta1SpecAccessFrom
*/
export interface GitRepositoryV1Beta1SpecAccessFrom {
/**
* NamespaceSelectors is the list of namespace selectors to which this ACL applies.
* Items in this list are evaluated using a logical OR operation.
*
* @schema GitRepositoryV1Beta1SpecAccessFrom#namespaceSelectors
*/
readonly namespaceSelectors: GitRepositoryV1Beta1SpecAccessFromNamespaceSelectors[];
}
/**
* Converts an object of type 'GitRepositoryV1Beta1SpecAccessFrom' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta1SpecAccessFrom(obj: GitRepositoryV1Beta1SpecAccessFrom | undefined): Record<string, any> | undefined;
/**
* Determines which git client library to use.
* Defaults to go-git, valid values are ('go-git', 'libgit2').
*
* @default go-git, valid values are ('go-git', 'libgit2').
* @schema GitRepositoryV1Beta1SpecGitImplementation
*/
export declare enum GitRepositoryV1Beta1SpecGitImplementation {
/** go-git */
GO_HYPHEN_GIT = "go-git",
/** libgit2 */
LIBGIT2 = "libgit2"
}
/**
* GitRepositoryInclude defines a source with a from and to path.
*
* @schema GitRepositoryV1Beta1SpecInclude
*/
export interface GitRepositoryV1Beta1SpecInclude {
/**
* The path to copy contents from, defaults to the root directory.
*
* @schema GitRepositoryV1Beta1SpecInclude#fromPath
*/
readonly fromPath?: string;
/**
* Reference to a GitRepository to include.
*
* @schema GitRepositoryV1Beta1SpecInclude#repository
*/
readonly repository: GitRepositoryV1Beta1SpecIncludeRepository;
/**
* The path to copy contents to, defaults to the name of the source ref.
*
* @schema GitRepositoryV1Beta1SpecInclude#toPath
*/
readonly toPath?: string;
}
/**
* Converts an object of type 'GitRepositoryV1Beta1SpecInclude' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta1SpecInclude(obj: GitRepositoryV1Beta1SpecInclude | undefined): Record<string, any> | undefined;
/**
* The Git reference to checkout and monitor for changes, defaults to
* master branch.
*
* @schema GitRepositoryV1Beta1SpecRef
*/
export interface GitRepositoryV1Beta1SpecRef {
/**
* The Git branch to checkout, defaults to master.
*
* @schema GitRepositoryV1Beta1SpecRef#branch
*/
readonly branch?: string;
/**
* The Git commit SHA to checkout, if specified Tag filters will be ignored.
*
* @schema GitRepositoryV1Beta1SpecRef#commit
*/
readonly commit?: string;
/**
* The Git tag semver expression, takes precedence over Tag.
*
* @schema GitRepositoryV1Beta1SpecRef#semver
*/
readonly semver?: string;
/**
* The Git tag to checkout, takes precedence over Branch.
*
* @schema GitRepositoryV1Beta1SpecRef#tag
*/
readonly tag?: string;
}
/**
* Converts an object of type 'GitRepositoryV1Beta1SpecRef' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta1SpecRef(obj: GitRepositoryV1Beta1SpecRef | undefined): Record<string, any> | undefined;
/**
* The secret name containing the Git credentials.
* For HTTPS repositories the secret must contain username and password
* fields.
* For SSH repositories the secret must contain identity and known_hosts
* fields.
*
* @schema GitRepositoryV1Beta1SpecSecretRef
*/
export interface GitRepositoryV1Beta1SpecSecretRef {
/**
* Name of the referent.
*
* @schema GitRepositoryV1Beta1SpecSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'GitRepositoryV1Beta1SpecSecretRef' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta1SpecSecretRef(obj: GitRepositoryV1Beta1SpecSecretRef | undefined): Record<string, any> | undefined;
/**
* Verify OpenPGP signature for the Git commit HEAD points to.
*
* @schema GitRepositoryV1Beta1SpecVerify
*/
export interface GitRepositoryV1Beta1SpecVerify {
/**
* Mode describes what git object should be verified, currently ('head').
*
* @schema GitRepositoryV1Beta1SpecVerify#mode
*/
readonly mode: GitRepositoryV1Beta1SpecVerifyMode;
/**
* The secret name containing the public keys of all trusted Git authors.
*
* @schema GitRepositoryV1Beta1SpecVerify#secretRef
*/
readonly secretRef?: GitRepositoryV1Beta1SpecVerifySecretRef;
}
/**
* Converts an object of type 'GitRepositoryV1Beta1SpecVerify' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta1SpecVerify(obj: GitRepositoryV1Beta1SpecVerify | undefined): Record<string, any> | undefined;
/**
* NamespaceSelector selects the namespaces to which this ACL applies.
* An empty map of MatchLabels matches all namespaces in a cluster.
*
* @schema GitRepositoryV1Beta1SpecAccessFromNamespaceSelectors
*/
export interface GitRepositoryV1Beta1SpecAccessFromNamespaceSelectors {
/**
* MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*
* @schema GitRepositoryV1Beta1SpecAccessFromNamespaceSelectors#matchLabels
*/
readonly matchLabels?: {
[key: string]: string;
};
}
/**
* Converts an object of type 'GitRepositoryV1Beta1SpecAccessFromNamespaceSelectors' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta1SpecAccessFromNamespaceSelectors(obj: GitRepositoryV1Beta1SpecAccessFromNamespaceSelectors | undefined): Record<string, any> | undefined;
/**
* Reference to a GitRepository to include.
*
* @schema GitRepositoryV1Beta1SpecIncludeRepository
*/
export interface GitRepositoryV1Beta1SpecIncludeRepository {
/**
* Name of the referent.
*
* @schema GitRepositoryV1Beta1SpecIncludeRepository#name
*/
readonly name: string;
}
/**
* Converts an object of type 'GitRepositoryV1Beta1SpecIncludeRepository' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta1SpecIncludeRepository(obj: GitRepositoryV1Beta1SpecIncludeRepository | undefined): Record<string, any> | undefined;
/**
* Mode describes what git object should be verified, currently ('head').
*
* @schema GitRepositoryV1Beta1SpecVerifyMode
*/
export declare enum GitRepositoryV1Beta1SpecVerifyMode {
/** head */
HEAD = "head"
}
/**
* The secret name containing the public keys of all trusted Git authors.
*
* @schema GitRepositoryV1Beta1SpecVerifySecretRef
*/
export interface GitRepositoryV1Beta1SpecVerifySecretRef {
/**
* Name of the referent.
*
* @schema GitRepositoryV1Beta1SpecVerifySecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'GitRepositoryV1Beta1SpecVerifySecretRef' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta1SpecVerifySecretRef(obj: GitRepositoryV1Beta1SpecVerifySecretRef | undefined): Record<string, any> | undefined;
/**
* GitRepository is the Schema for the gitrepositories API.
*
* @schema GitRepositoryV1Beta2
*/
export declare class GitRepositoryV1Beta2 extends ApiObject {
/**
* Returns the apiVersion and kind for "GitRepositoryV1Beta2"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "GitRepositoryV1Beta2".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: GitRepositoryV1Beta2Props): any;
/**
* Defines a "GitRepositoryV1Beta2" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: GitRepositoryV1Beta2Props);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* GitRepository is the Schema for the gitrepositories API.
*
* @schema GitRepositoryV1Beta2
*/
export interface GitRepositoryV1Beta2Props {
/**
* @schema GitRepositoryV1Beta2#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* GitRepositorySpec specifies the required configuration to produce an
* Artifact for a Git repository.
*
* @schema GitRepositoryV1Beta2#spec
*/
readonly spec?: GitRepositoryV1Beta2Spec;
}
/**
* Converts an object of type 'GitRepositoryV1Beta2Props' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta2Props(obj: GitRepositoryV1Beta2Props | undefined): Record<string, any> | undefined;
/**
* GitRepositorySpec specifies the required configuration to produce an
* Artifact for a Git repository.
*
* @schema GitRepositoryV1Beta2Spec
*/
export interface GitRepositoryV1Beta2Spec {
/**
* 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
*
* @schema GitRepositoryV1Beta2Spec#accessFrom
*/
readonly accessFrom?: GitRepositoryV1Beta2SpecAccessFrom;
/**
* GitImplementation specifies which Git client library implementation to
* use. Defaults to 'go-git', valid values are ('go-git', 'libgit2').
* Deprecated: gitImplementation is deprecated now that 'go-git' is the
* only supported implementation.
*
* @default go-git', valid values are ('go-git', 'libgit2').
* @schema GitRepositoryV1Beta2Spec#gitImplementation
*/
readonly gitImplementation?: GitRepositoryV1Beta2SpecGitImplementation;
/**
* 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.
*
* @schema GitRepositoryV1Beta2Spec#ignore
*/
readonly ignore?: string;
/**
* Include specifies a list of GitRepository resources which Artifacts
* should be included in the Artifact produced for this GitRepository.
*
* @schema GitRepositoryV1Beta2Spec#include
*/
readonly include?: GitRepositoryV1Beta2SpecInclude[];
/**
* Interval at which to check the GitRepository for updates.
*
* @schema GitRepositoryV1Beta2Spec#interval
*/
readonly interval: string;
/**
* RecurseSubmodules enables the initialization of all submodules within
* the GitRepository as cloned from the URL, using their default settings.
*
* @schema GitRepositoryV1Beta2Spec#recurseSubmodules
*/
readonly recurseSubmodules?: boolean;
/**
* Reference specifies the Git reference to resolve and monitor for
* changes, defaults to the 'master' branch.
*
* @schema GitRepositoryV1Beta2Spec#ref
*/
readonly ref?: GitRepositoryV1Beta2SpecRef;
/**
* 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.
*
* @schema GitRepositoryV1Beta2Spec#secretRef
*/
readonly secretRef?: GitRepositoryV1Beta2SpecSecretRef;
/**
* Suspend tells the controller to suspend the reconciliation of this
* GitRepository.
*
* @schema GitRepositoryV1Beta2Spec#suspend
*/
readonly suspend?: boolean;
/**
* Timeout for Git operations like cloning, defaults to 60s.
*
* @schema GitRepositoryV1Beta2Spec#timeout
*/
readonly timeout?: string;
/**
* URL specifies the Git repository URL, it can be an HTTP/S or SSH address.
*
* @schema GitRepositoryV1Beta2Spec#url
*/
readonly url: string;
/**
* Verification specifies the configuration to verify the Git commit
* signature(s).
*
* @schema GitRepositoryV1Beta2Spec#verify
*/
readonly verify?: GitRepositoryV1Beta2SpecVerify;
}
/**
* Converts an object of type 'GitRepositoryV1Beta2Spec' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta2Spec(obj: GitRepositoryV1Beta2Spec | undefined): Record<string, any> | undefined;
/**
* 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
*
* @schema GitRepositoryV1Beta2SpecAccessFrom
*/
export interface GitRepositoryV1Beta2SpecAccessFrom {
/**
* NamespaceSelectors is the list of namespace selectors to which this ACL applies.
* Items in this list are evaluated using a logical OR operation.
*
* @schema GitRepositoryV1Beta2SpecAccessFrom#namespaceSelectors
*/
readonly namespaceSelectors: GitRepositoryV1Beta2SpecAccessFromNamespaceSelectors[];
}
/**
* Converts an object of type 'GitRepositoryV1Beta2SpecAccessFrom' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta2SpecAccessFrom(obj: GitRepositoryV1Beta2SpecAccessFrom | undefined): Record<string, any> | undefined;
/**
* GitImplementation specifies which Git client library implementation to
* use. Defaults to 'go-git', valid values are ('go-git', 'libgit2').
* Deprecated: gitImplementation is deprecated now that 'go-git' is the
* only supported implementation.
*
* @default go-git', valid values are ('go-git', 'libgit2').
* @schema GitRepositoryV1Beta2SpecGitImplementation
*/
export declare enum GitRepositoryV1Beta2SpecGitImplementation {
/** go-git */
GO_HYPHEN_GIT = "go-git",
/** libgit2 */
LIBGIT2 = "libgit2"
}
/**
* GitRepositoryInclude specifies a local reference to a GitRepository which
* Artifact (sub-)contents must be included, and where they should be placed.
*
* @schema GitRepositoryV1Beta2SpecInclude
*/
export interface GitRepositoryV1Beta2SpecInclude {
/**
* FromPath specifies the path to copy contents from, defaults to the root
* of the Artifact.
*
* @schema GitRepositoryV1Beta2SpecInclude#fromPath
*/
readonly fromPath?: string;
/**
* GitRepositoryRef specifies the GitRepository which Artifact contents
* must be included.
*
* @schema GitRepositoryV1Beta2SpecInclude#repository
*/
readonly repository: GitRepositoryV1Beta2SpecIncludeRepository;
/**
* ToPath specifies the path to copy contents to, defaults to the name of
* the GitRepositoryRef.
*
* @schema GitRepositoryV1Beta2SpecInclude#toPath
*/
readonly toPath?: string;
}
/**
* Converts an object of type 'GitRepositoryV1Beta2SpecInclude' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta2SpecInclude(obj: GitRepositoryV1Beta2SpecInclude | undefined): Record<string, any> | undefined;
/**
* Reference specifies the Git reference to resolve and monitor for
* changes, defaults to the 'master' branch.
*
* @schema GitRepositoryV1Beta2SpecRef
*/
export interface GitRepositoryV1Beta2SpecRef {
/**
* Branch to check out, defaults to 'master' if no other field is defined.
*
* @schema GitRepositoryV1Beta2SpecRef#branch
*/
readonly branch?: string;
/**
* 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.
*
* @schema GitRepositoryV1Beta2SpecRef#commit
*/
readonly commit?: string;
/**
* 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"
*
* @schema GitRepositoryV1Beta2SpecRef#name
*/
readonly name?: string;
/**
* SemVer tag expression to check out, takes precedence over Tag.
*
* @schema GitRepositoryV1Beta2SpecRef#semver
*/
readonly semver?: string;
/**
* Tag to check out, takes precedence over Branch.
*
* @schema GitRepositoryV1Beta2SpecRef#tag
*/
readonly tag?: string;
}
/**
* Converts an object of type 'GitRepositoryV1Beta2SpecRef' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta2SpecRef(obj: GitRepositoryV1Beta2SpecRef | undefined): Record<string, any> | undefined;
/**
* 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.
*
* @schema GitRepositoryV1Beta2SpecSecretRef
*/
export interface GitRepositoryV1Beta2SpecSecretRef {
/**
* Name of the referent.
*
* @schema GitRepositoryV1Beta2SpecSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'GitRepositoryV1Beta2SpecSecretRef' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta2SpecSecretRef(obj: GitRepositoryV1Beta2SpecSecretRef | undefined): Record<string, any> | undefined;
/**
* Verification specifies the configuration to verify the Git commit
* signature(s).
*
* @schema GitRepositoryV1Beta2SpecVerify
*/
export interface GitRepositoryV1Beta2SpecVerify {
/**
* Mode specifies what Git object should be verified, currently ('head').
*
* @schema GitRepositoryV1Beta2SpecVerify#mode
*/
readonly mode: GitRepositoryV1Beta2SpecVerifyMode;
/**
* SecretRef specifies the Secret containing the public keys of trusted Git
* authors.
*
* @schema GitRepositoryV1Beta2SpecVerify#secretRef
*/
readonly secretRef: GitRepositoryV1Beta2SpecVerifySecretRef;
}
/**
* Converts an object of type 'GitRepositoryV1Beta2SpecVerify' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta2SpecVerify(obj: GitRepositoryV1Beta2SpecVerify | undefined): Record<string, any> | undefined;
/**
* NamespaceSelector selects the namespaces to which this ACL applies.
* An empty map of MatchLabels matches all namespaces in a cluster.
*
* @schema GitRepositoryV1Beta2SpecAccessFromNamespaceSelectors
*/
export interface GitRepositoryV1Beta2SpecAccessFromNamespaceSelectors {
/**
* MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*
* @schema GitRepositoryV1Beta2SpecAccessFromNamespaceSelectors#matchLabels
*/
readonly matchLabels?: {
[key: string]: string;
};
}
/**
* Converts an object of type 'GitRepositoryV1Beta2SpecAccessFromNamespaceSelectors' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta2SpecAccessFromNamespaceSelectors(obj: GitRepositoryV1Beta2SpecAccessFromNamespaceSelectors | undefined): Record<string, any> | undefined;
/**
* GitRepositoryRef specifies the GitRepository which Artifact contents
* must be included.
*
* @schema GitRepositoryV1Beta2SpecIncludeRepository
*/
export interface GitRepositoryV1Beta2SpecIncludeRepository {
/**
* Name of the referent.
*
* @schema GitRepositoryV1Beta2SpecIncludeRepository#name
*/
readonly name: string;
}
/**
* Converts an object of type 'GitRepositoryV1Beta2SpecIncludeRepository' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta2SpecIncludeRepository(obj: GitRepositoryV1Beta2SpecIncludeRepository | undefined): Record<string, any> | undefined;
/**
* Mode specifies what Git object should be verified, currently ('head').
*
* @schema GitRepositoryV1Beta2SpecVerifyMode
*/
export declare enum GitRepositoryV1Beta2SpecVerifyMode {
/** head */
HEAD = "head"
}
/**
* SecretRef specifies the Secret containing the public keys of trusted Git
* authors.
*
* @schema GitRepositoryV1Beta2SpecVerifySecretRef
*/
export interface GitRepositoryV1Beta2SpecVerifySecretRef {
/**
* Name of the referent.
*
* @schema GitRepositoryV1Beta2SpecVerifySecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'GitRepositoryV1Beta2SpecVerifySecretRef' to JSON representation.
*/
export declare function toJson_GitRepositoryV1Beta2SpecVerifySecretRef(obj: GitRepositoryV1Beta2SpecVerifySecretRef | undefined): Record<string, any> | undefined;
/**
* HelmChart is the Schema for the helmcharts API.
*
* @schema HelmChart
*/
export declare class HelmChart extends ApiObject {
/**
* Returns the apiVersion and kind for "HelmChart"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "HelmChart".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: HelmChartProps): any;
/**
* Defines a "HelmChart" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: HelmChartProps);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* HelmChart is the Schema for the helmcharts API.
*
* @schema HelmChart
*/
export interface HelmChartProps {
/**
* @schema HelmChart#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* HelmChartSpec specifies the desired state of a Helm chart.
*
* @schema HelmChart#spec
*/
readonly spec?: HelmChartSpec;
}
/**
* Converts an object of type 'HelmChartProps' to JSON representation.
*/
export declare function toJson_HelmChartProps(obj: HelmChartProps | undefined): Record<string, any> | undefined;
/**
* HelmChartSpec specifies the desired state of a Helm chart.
*
* @schema HelmChartSpec
*/
export interface HelmChartSpec {
/**
* Chart is the name or path the Helm chart is available at in the
* SourceRef.
*
* @schema HelmChartSpec#chart
*/
readonly chart: string;
/**
* IgnoreMissingValuesFiles controls whether to silently ignore missing values
* files rather than failing.
*
* @schema HelmChartSpec#ignoreMissingValuesFiles
*/
readonly ignoreMissingValuesFiles?: boolean;
/**
* 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.
*
* @schema HelmChartSpec#interval
*/
readonly interval: string;
/**
* 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.
*
* @default ChartVersion when omitted.
* @schema HelmChartSpec#reconcileStrategy
*/
readonly reconcileStrategy?: HelmChartSpecReconcileStrategy;
/**
* SourceRef is the reference to the Source the chart is available at.
*
* @schema HelmChartSpec#sourceRef
*/
readonly sourceRef: HelmChartSpecSourceRef;
/**
* Suspend tells the controller to suspend the reconciliation of this
* source.
*
* @schema HelmChartSpec#suspend
*/
readonly suspend?: boolean;
/**
* 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.
*
* @schema HelmChartSpec#valuesFiles
*/
readonly valuesFiles?: string[];
/**
* 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.
*
* @schema HelmChartSpec#verify
*/
readonly verify?: HelmChartSpecVerify;
/**
* Version is the chart version semver expression, ignored for charts from
* GitRepository and Bucket sources. Defaults to latest when omitted.
*
* @default latest when omitted.
* @schema HelmChartSpec#version
*/
readonly version?: string;
}
/**
* Converts an object of type 'HelmChartSpec' to JSON representation.
*/
export declare function toJson_HelmChartSpec(obj: HelmChartSpec | undefined): Record<string, any> | undefined;
/**
* 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.
*
* @default ChartVersion when omitted.
* @schema HelmChartSpecReconcileStrategy
*/
export declare enum HelmChartSpecReconcileStrategy {
/** ChartVersion */
CHART_VERSION = "ChartVersion",
/** Revision */
REVISION = "Revision"
}
/**
* SourceRef is the reference to the Source the chart is available at.
*
* @schema HelmChartSpecSourceRef
*/
export interface HelmChartSpecSourceRef {
/**
* APIVersion of the referent.
*
* @schema HelmChartSpecSourceRef#apiVersion
*/
readonly apiVersion?: string;
/**
* Kind of the referent, valid values are ('HelmRepository', 'GitRepository',
* 'Bucket').
*
* @schema HelmChartSpecSourceRef#kind
*/
readonly kind: HelmChartSpecSourceRefKind;
/**
* Name of the referent.
*
* @schema HelmChartSpecSourceRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'HelmChartSpecSourceRef' to JSON representation.
*/
export declare function toJson_HelmChartSpecSourceRef(obj: HelmChartSpecSourceRef | undefined): Record<string, any> | undefined;
/**
* 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.
*
* @schema HelmChartSpecVerify
*/
export interface HelmChartSpecVerify {
/**
* 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.
*
* @schema HelmChartSpecVerify#matchOIDCIdentity
*/
readonly matchOidcIdentity?: HelmChartSpecVerifyMatchOidcIdentity[];
/**
* Provider specifies the technology used to sign the OCI Artifact.
*
* @schema HelmChartSpecVerify#provider
*/
readonly provider: HelmChartSpecVerifyProvider;
/**
* SecretRef specifies the Kubernetes Secret containing the
* trusted public keys.
*
* @schema HelmChartSpecVerify#secretRef
*/
readonly secretRef?: HelmChartSpecVerifySecretRef;
}
/**
* Converts an object of type 'HelmChartSpecVerify' to JSON representation.
*/
export declare function toJson_HelmChartSpecVerify(obj: HelmChartSpecVerify | undefined): Record<string, any> | undefined;
/**
* Kind of the referent, valid values are ('HelmRepository', 'GitRepository',
* 'Bucket').
*
* @schema HelmChartSpecSourceRefKind
*/
export declare enum HelmChartSpecSourceRefKind {
/** HelmRepository */
HELM_REPOSITORY = "HelmRepository",
/** GitRepository */
GIT_REPOSITORY = "GitRepository",
/** Bucket */
BUCKET = "Bucket"
}
/**
* OIDCIdentityMatch specifies options for verifying the certificate identity,
* i.e. the issuer and the subject of the certificate.
*
* @schema HelmChartSpecVerifyMatchOidcIdentity
*/
export interface HelmChartSpecVerifyMatchOidcIdentity {
/**
* 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.
*
* @schema HelmChartSpecVerifyMatchOidcIdentity#issuer
*/
readonly issuer: 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.
*
* @schema HelmChartSpecVerifyMatchOidcIdentity#subject
*/
readonly subject: string;
}
/**
* Converts an object of type 'HelmChartSpecVerifyMatchOidcIdentity' to JSON representation.
*/
export declare function toJson_HelmChartSpecVerifyMatchOidcIdentity(obj: HelmChartSpecVerifyMatchOidcIdentity | undefined): Record<string, any> | undefined;
/**
* Provider specifies the technology used to sign the OCI Artifact.
*
* @schema HelmChartSpecVerifyProvider
*/
export declare enum HelmChartSpecVerifyProvider {
/** cosign */
COSIGN = "cosign",
/** notation */
NOTATION = "notation"
}
/**
* SecretRef specifies the Kubernetes Secret containing the
* trusted public keys.
*
* @schema HelmChartSpecVerifySecretRef
*/
export interface HelmChartSpecVerifySecretRef {
/**
* Name of the referent.
*
* @schema HelmChartSpecVerifySecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'HelmChartSpecVerifySecretRef' to JSON representation.
*/
export declare function toJson_HelmChartSpecVerifySecretRef(obj: HelmChartSpecVerifySecretRef | undefined): Record<string, any> | undefined;
/**
* HelmChart is the Schema for the helmcharts API
*
* @schema HelmChartV1Beta1
*/
export declare class HelmChartV1Beta1 extends ApiObject {
/**
* Returns the apiVersion and kind for "HelmChartV1Beta1"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "HelmChartV1Beta1".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: HelmChartV1Beta1Props): any;
/**
* Defines a "HelmChartV1Beta1" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: HelmChartV1Beta1Props);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* HelmChart is the Schema for the helmcharts API
*
* @schema HelmChartV1Beta1
*/
export interface HelmChartV1Beta1Props {
/**
* @schema HelmChartV1Beta1#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* HelmChartSpec defines the desired state of a Helm chart.
*
* @schema HelmChartV1Beta1#spec
*/
readonly spec?: HelmChartV1Beta1Spec;
}
/**
* Converts an object of type 'HelmChartV1Beta1Props' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta1Props(obj: HelmChartV1Beta1Props | undefined): Record<string, any> | undefined;
/**
* HelmChartSpec defines the desired state of a Helm chart.
*
* @schema HelmChartV1Beta1Spec
*/
export interface HelmChartV1Beta1Spec {
/**
* AccessFrom defines an Access Control List for allowing cross-namespace references to this object.
*
* @schema HelmChartV1Beta1Spec#accessFrom
*/
readonly accessFrom?: HelmChartV1Beta1SpecAccessFrom;
/**
* The name or path the Helm chart is available at in the SourceRef.
*
* @schema HelmChartV1Beta1Spec#chart
*/
readonly chart: string;
/**
* The interval at which to check the Source for updates.
*
* @schema HelmChartV1Beta1Spec#interval
*/
readonly interval: string;
/**
* 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.
*
* @default ChartVersion when omitted.
* @schema HelmChartV1Beta1Spec#reconcileStrategy
*/
readonly reconcileStrategy?: HelmChartV1Beta1SpecReconcileStrategy;
/**
* The reference to the Source the chart is available at.
*
* @schema HelmChartV1Beta1Spec#sourceRef
*/
readonly sourceRef: HelmChartV1Beta1SpecSourceRef;
/**
* This flag tells the controller to suspend the reconciliation of this source.
*
* @schema HelmChartV1Beta1Spec#suspend
*/
readonly suspend?: boolean;
/**
* Alternative values file to use as the default chart values, expected to
* be a relative path in the SourceRef. Deprecated in favor of ValuesFiles,
* for backwards compatibility the file defined here is merged before the
* ValuesFiles items. Ignored when omitted.
*
* @schema HelmChartV1Beta1Spec#valuesFile
*/
readonly valuesFile?: string;
/**
* 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.
*
* @schema HelmChartV1Beta1Spec#valuesFiles
*/
readonly valuesFiles?: string[];
/**
* The chart version semver expression, ignored for charts from GitRepository
* and Bucket sources. Defaults to latest when omitted.
*
* @default latest when omitted.
* @schema HelmChartV1Beta1Spec#version
*/
readonly version?: string;
}
/**
* Converts an object of type 'HelmChartV1Beta1Spec' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta1Spec(obj: HelmChartV1Beta1Spec | undefined): Record<string, any> | undefined;
/**
* AccessFrom defines an Access Control List for allowing cross-namespace references to this object.
*
* @schema HelmChartV1Beta1SpecAccessFrom
*/
export interface HelmChartV1Beta1SpecAccessFrom {
/**
* NamespaceSelectors is the list of namespace selectors to which this ACL applies.
* Items in this list are evaluated using a logical OR operation.
*
* @schema HelmChartV1Beta1SpecAccessFrom#namespaceSelectors
*/
readonly namespaceSelectors: HelmChartV1Beta1SpecAccessFromNamespaceSelectors[];
}
/**
* Converts an object of type 'HelmChartV1Beta1SpecAccessFrom' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta1SpecAccessFrom(obj: HelmChartV1Beta1SpecAccessFrom | undefined): Record<string, any> | undefined;
/**
* 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.
*
* @default ChartVersion when omitted.
* @schema HelmChartV1Beta1SpecReconcileStrategy
*/
export declare enum HelmChartV1Beta1SpecReconcileStrategy {
/** ChartVersion */
CHART_VERSION = "ChartVersion",
/** Revision */
REVISION = "Revision"
}
/**
* The reference to the Source the chart is available at.
*
* @schema HelmChartV1Beta1SpecSourceRef
*/
export interface HelmChartV1Beta1SpecSourceRef {
/**
* APIVersion of the referent.
*
* @schema HelmChartV1Beta1SpecSourceRef#apiVersion
*/
readonly apiVersion?: string;
/**
* Kind of the referent, valid values are ('HelmRepository', 'GitRepository',
* 'Bucket').
*
* @schema HelmChartV1Beta1SpecSourceRef#kind
*/
readonly kind: HelmChartV1Beta1SpecSourceRefKind;
/**
* Name of the referent.
*
* @schema HelmChartV1Beta1SpecSourceRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'HelmChartV1Beta1SpecSourceRef' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta1SpecSourceRef(obj: HelmChartV1Beta1SpecSourceRef | undefined): Record<string, any> | undefined;
/**
* NamespaceSelector selects the namespaces to which this ACL applies.
* An empty map of MatchLabels matches all namespaces in a cluster.
*
* @schema HelmChartV1Beta1SpecAccessFromNamespaceSelectors
*/
export interface HelmChartV1Beta1SpecAccessFromNamespaceSelectors {
/**
* MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*
* @schema HelmChartV1Beta1SpecAccessFromNamespaceSelectors#matchLabels
*/
readonly matchLabels?: {
[key: string]: string;
};
}
/**
* Converts an object of type 'HelmChartV1Beta1SpecAccessFromNamespaceSelectors' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta1SpecAccessFromNamespaceSelectors(obj: HelmChartV1Beta1SpecAccessFromNamespaceSelectors | undefined): Record<string, any> | undefined;
/**
* Kind of the referent, valid values are ('HelmRepository', 'GitRepository',
* 'Bucket').
*
* @schema HelmChartV1Beta1SpecSourceRefKind
*/
export declare enum HelmChartV1Beta1SpecSourceRefKind {
/** HelmRepository */
HELM_REPOSITORY = "HelmRepository",
/** GitRepository */
GIT_REPOSITORY = "GitRepository",
/** Bucket */
BUCKET = "Bucket"
}
/**
* HelmChart is the Schema for the helmcharts API.
*
* @schema HelmChartV1Beta2
*/
export declare class HelmChartV1Beta2 extends ApiObject {
/**
* Returns the apiVersion and kind for "HelmChartV1Beta2"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "HelmChartV1Beta2".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: HelmChartV1Beta2Props): any;
/**
* Defines a "HelmChartV1Beta2" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: HelmChartV1Beta2Props);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* HelmChart is the Schema for the helmcharts API.
*
* @schema HelmChartV1Beta2
*/
export interface HelmChartV1Beta2Props {
/**
* @schema HelmChartV1Beta2#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* HelmChartSpec specifies the desired state of a Helm chart.
*
* @schema HelmChartV1Beta2#spec
*/
readonly spec?: HelmChartV1Beta2Spec;
}
/**
* Converts an object of type 'HelmChartV1Beta2Props' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta2Props(obj: HelmChartV1Beta2Props | undefined): Record<string, any> | undefined;
/**
* HelmChartSpec specifies the desired state of a Helm chart.
*
* @schema HelmChartV1Beta2Spec
*/
export interface HelmChartV1Beta2Spec {
/**
* 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
*
* @schema HelmChartV1Beta2Spec#accessFrom
*/
readonly accessFrom?: HelmChartV1Beta2SpecAccessFrom;
/**
* Chart is the name or path the Helm chart is available at in the
* SourceRef.
*
* @schema HelmChartV1Beta2Spec#chart
*/
readonly chart: string;
/**
* IgnoreMissingValuesFiles controls whether to silently ignore missing values
* files rather than failing.
*
* @schema HelmChartV1Beta2Spec#ignoreMissingValuesFiles
*/
readonly ignoreMissingValuesFiles?: boolean;
/**
* 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.
*
* @schema HelmChartV1Beta2Spec#interval
*/
readonly interval: string;
/**
* 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.
*
* @default ChartVersion when omitted.
* @schema HelmChartV1Beta2Spec#reconcileStrategy
*/
readonly reconcileStrategy?: HelmChartV1Beta2SpecReconcileStrategy;
/**
* SourceRef is the reference to the Source the chart is available at.
*
* @schema HelmChartV1Beta2Spec#sourceRef
*/
readonly sourceRef: HelmChartV1Beta2SpecSourceRef;
/**
* Suspend tells the controller to suspend the reconciliation of this
* source.
*
* @schema HelmChartV1Beta2Spec#suspend
*/
readonly suspend?: boolean;
/**
* ValuesFile is an alternative values file to use as the default chart
* values, expected to be a relative path in the SourceRef. Deprecated in
* favor of ValuesFiles, for backwards compatibility the file specified here
* is merged before the ValuesFiles items. Ignored when omitted.
*
* @schema HelmChartV1Beta2Spec#valuesFile
*/
readonly valuesFile?: string;
/**
* 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.
*
* @schema HelmChartV1Beta2Spec#valuesFiles
*/
readonly valuesFiles?: string[];
/**
* 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.
*
* @schema HelmChartV1Beta2Spec#verify
*/
readonly verify?: HelmChartV1Beta2SpecVerify;
/**
* Version is the chart version semver expression, ignored for charts from
* GitRepository and Bucket sources. Defaults to latest when omitted.
*
* @default latest when omitted.
* @schema HelmChartV1Beta2Spec#version
*/
readonly version?: string;
}
/**
* Converts an object of type 'HelmChartV1Beta2Spec' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta2Spec(obj: HelmChartV1Beta2Spec | undefined): Record<string, any> | undefined;
/**
* 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
*
* @schema HelmChartV1Beta2SpecAccessFrom
*/
export interface HelmChartV1Beta2SpecAccessFrom {
/**
* NamespaceSelectors is the list of namespace selectors to which this ACL applies.
* Items in this list are evaluated using a logical OR operation.
*
* @schema HelmChartV1Beta2SpecAccessFrom#namespaceSelectors
*/
readonly namespaceSelectors: HelmChartV1Beta2SpecAccessFromNamespaceSelectors[];
}
/**
* Converts an object of type 'HelmChartV1Beta2SpecAccessFrom' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta2SpecAccessFrom(obj: HelmChartV1Beta2SpecAccessFrom | undefined): Record<string, any> | undefined;
/**
* 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.
*
* @default ChartVersion when omitted.
* @schema HelmChartV1Beta2SpecReconcileStrategy
*/
export declare enum HelmChartV1Beta2SpecReconcileStrategy {
/** ChartVersion */
CHART_VERSION = "ChartVersion",
/** Revision */
REVISION = "Revision"
}
/**
* SourceRef is the reference to the Source the chart is available at.
*
* @schema HelmChartV1Beta2SpecSourceRef
*/
export interface HelmChartV1Beta2SpecSourceRef {
/**
* APIVersion of the referent.
*
* @schema HelmChartV1Beta2SpecSourceRef#apiVersion
*/
readonly apiVersion?: string;
/**
* Kind of the referent, valid values are ('HelmRepository', 'GitRepository',
* 'Bucket').
*
* @schema HelmChartV1Beta2SpecSourceRef#kind
*/
readonly kind: HelmChartV1Beta2SpecSourceRefKind;
/**
* Name of the referent.
*
* @schema HelmChartV1Beta2SpecSourceRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'HelmChartV1Beta2SpecSourceRef' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta2SpecSourceRef(obj: HelmChartV1Beta2SpecSourceRef | undefined): Record<string, any> | undefined;
/**
* 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.
*
* @schema HelmChartV1Beta2SpecVerify
*/
export interface HelmChartV1Beta2SpecVerify {
/**
* 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.
*
* @schema HelmChartV1Beta2SpecVerify#matchOIDCIdentity
*/
readonly matchOidcIdentity?: HelmChartV1Beta2SpecVerifyMatchOidcIdentity[];
/**
* Provider specifies the technology used to sign the OCI Artifact.
*
* @schema HelmChartV1Beta2SpecVerify#provider
*/
readonly provider: HelmChartV1Beta2SpecVerifyProvider;
/**
* SecretRef specifies the Kubernetes Secret containing the
* trusted public keys.
*
* @schema HelmChartV1Beta2SpecVerify#secretRef
*/
readonly secretRef?: HelmChartV1Beta2SpecVerifySecretRef;
}
/**
* Converts an object of type 'HelmChartV1Beta2SpecVerify' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta2SpecVerify(obj: HelmChartV1Beta2SpecVerify | undefined): Record<string, any> | undefined;
/**
* NamespaceSelector selects the namespaces to which this ACL applies.
* An empty map of MatchLabels matches all namespaces in a cluster.
*
* @schema HelmChartV1Beta2SpecAccessFromNamespaceSelectors
*/
export interface HelmChartV1Beta2SpecAccessFromNamespaceSelectors {
/**
* MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*
* @schema HelmChartV1Beta2SpecAccessFromNamespaceSelectors#matchLabels
*/
readonly matchLabels?: {
[key: string]: string;
};
}
/**
* Converts an object of type 'HelmChartV1Beta2SpecAccessFromNamespaceSelectors' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta2SpecAccessFromNamespaceSelectors(obj: HelmChartV1Beta2SpecAccessFromNamespaceSelectors | undefined): Record<string, any> | undefined;
/**
* Kind of the referent, valid values are ('HelmRepository', 'GitRepository',
* 'Bucket').
*
* @schema HelmChartV1Beta2SpecSourceRefKind
*/
export declare enum HelmChartV1Beta2SpecSourceRefKind {
/** HelmRepository */
HELM_REPOSITORY = "HelmRepository",
/** GitRepository */
GIT_REPOSITORY = "GitRepository",
/** Bucket */
BUCKET = "Bucket"
}
/**
* OIDCIdentityMatch specifies options for verifying the certificate identity,
* i.e. the issuer and the subject of the certificate.
*
* @schema HelmChartV1Beta2SpecVerifyMatchOidcIdentity
*/
export interface HelmChartV1Beta2SpecVerifyMatchOidcIdentity {
/**
* 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.
*
* @schema HelmChartV1Beta2SpecVerifyMatchOidcIdentity#issuer
*/
readonly issuer: 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.
*
* @schema HelmChartV1Beta2SpecVerifyMatchOidcIdentity#subject
*/
readonly subject: string;
}
/**
* Converts an object of type 'HelmChartV1Beta2SpecVerifyMatchOidcIdentity' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta2SpecVerifyMatchOidcIdentity(obj: HelmChartV1Beta2SpecVerifyMatchOidcIdentity | undefined): Record<string, any> | undefined;
/**
* Provider specifies the technology used to sign the OCI Artifact.
*
* @schema HelmChartV1Beta2SpecVerifyProvider
*/
export declare enum HelmChartV1Beta2SpecVerifyProvider {
/** cosign */
COSIGN = "cosign",
/** notation */
NOTATION = "notation"
}
/**
* SecretRef specifies the Kubernetes Secret containing the
* trusted public keys.
*
* @schema HelmChartV1Beta2SpecVerifySecretRef
*/
export interface HelmChartV1Beta2SpecVerifySecretRef {
/**
* Name of the referent.
*
* @schema HelmChartV1Beta2SpecVerifySecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'HelmChartV1Beta2SpecVerifySecretRef' to JSON representation.
*/
export declare function toJson_HelmChartV1Beta2SpecVerifySecretRef(obj: HelmChartV1Beta2SpecVerifySecretRef | undefined): Record<string, any> | undefined;
/**
* HelmRepository is the Schema for the helmrepositories API.
*
* @schema HelmRepository
*/
export declare class HelmRepository extends ApiObject {
/**
* Returns the apiVersion and kind for "HelmRepository"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "HelmRepository".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: HelmRepositoryProps): any;
/**
* Defines a "HelmRepository" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: HelmRepositoryProps);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* HelmRepository is the Schema for the helmrepositories API.
*
* @schema HelmRepository
*/
export interface HelmRepositoryProps {
/**
* @schema HelmRepository#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* HelmRepositorySpec specifies the required configuration to produce an
* Artifact for a Helm repository index YAML.
*
* @schema HelmRepository#spec
*/
readonly spec?: HelmRepositorySpec;
}
/**
* Converts an object of type 'HelmRepositoryProps' to JSON representation.
*/
export declare function toJson_HelmRepositoryProps(obj: HelmRepositoryProps | undefined): Record<string, any> | undefined;
/**
* HelmRepositorySpec specifies the required configuration to produce an
* Artifact for a Helm repository index YAML.
*
* @schema HelmRepositorySpec
*/
export interface HelmRepositorySpec {
/**
* 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
*
* @schema HelmRepositorySpec#accessFrom
*/
readonly accessFrom?: HelmRepositorySpecAccessFrom;
/**
* 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`.
*
* @schema HelmRepositorySpec#certSecretRef
*/
readonly certSecretRef?: HelmRepositorySpecCertSecretRef;
/**
* 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'.
*
* @schema HelmRepositorySpec#insecure
*/
readonly insecure?: boolean;
/**
* 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.
*
* @schema HelmRepositorySpec#interval
*/
readonly interval?: string;
/**
* 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.
*
* @schema HelmRepositorySpec#passCredentials
*/
readonly passCredentials?: boolean;
/**
* 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'.
*
* @schema HelmRepositorySpec#provider
*/
readonly provider?: HelmRepositorySpecProvider;
/**
* 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.
*
* @schema HelmRepositorySpec#secretRef
*/
readonly secretRef?: HelmRepositorySpecSecretRef;
/**
* Suspend tells the controller to suspend the reconciliation of this
* HelmRepository.
*
* @schema HelmRepositorySpec#suspend
*/
readonly suspend?: boolean;
/**
* 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.
*
* @schema HelmRepositorySpec#timeout
*/
readonly timeout?: string;
/**
* Type of the HelmRepository.
* When this field is set to "oci", the URL field value must be prefixed with "oci://".
*
* @schema HelmRepositorySpec#type
*/
readonly type?: HelmRepositorySpecType;
/**
* URL of the Helm repository, a valid URL contains at least a protocol and
* host.
*
* @schema HelmRepositorySpec#url
*/
readonly url: string;
}
/**
* Converts an object of type 'HelmRepositorySpec' to JSON representation.
*/
export declare function toJson_HelmRepositorySpec(obj: HelmRepositorySpec | undefined): Record<string, any> | undefined;
/**
* 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
*
* @schema HelmRepositorySpecAccessFrom
*/
export interface HelmRepositorySpecAccessFrom {
/**
* NamespaceSelectors is the list of namespace selectors to which this ACL applies.
* Items in this list are evaluated using a logical OR operation.
*
* @schema HelmRepositorySpecAccessFrom#namespaceSelectors
*/
readonly namespaceSelectors: HelmRepositorySpecAccessFromNamespaceSelectors[];
}
/**
* Converts an object of type 'HelmRepositorySpecAccessFrom' to JSON representation.
*/
export declare function toJson_HelmRepositorySpecAccessFrom(obj: HelmRepositorySpecAccessFrom | undefined): Record<string, any> | undefined;
/**
* 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`.
*
* @schema HelmRepositorySpecCertSecretRef
*/
export interface HelmRepositorySpecCertSecretRef {
/**
* Name of the referent.
*
* @schema HelmRepositorySpecCertSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'HelmRepositorySpecCertSecretRef' to JSON representation.
*/
export declare function toJson_HelmRepositorySpecCertSecretRef(obj: HelmRepositorySpecCertSecretRef | undefined): Record<string, any> | undefined;
/**
* 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'.
*
* @schema HelmRepositorySpecProvider
*/
export declare enum HelmRepositorySpecProvider {
/** generic */
GENERIC = "generic",
/** aws */
AWS = "aws",
/** azure */
AZURE = "azure",
/** gcp */
GCP = "gcp"
}
/**
* 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.
*
* @schema HelmRepositorySpecSecretRef
*/
export interface HelmRepositorySpecSecretRef {
/**
* Name of the referent.
*
* @schema HelmRepositorySpecSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'HelmRepositorySpecSecretRef' to JSON representation.
*/
export declare function toJson_HelmRepositorySpecSecretRef(obj: HelmRepositorySpecSecretRef | undefined): Record<string, any> | undefined;
/**
* Type of the HelmRepository.
* When this field is set to "oci", the URL field value must be prefixed with "oci://".
*
* @schema HelmRepositorySpecType
*/
export declare enum HelmRepositorySpecType {
/** default */
DEFAULT = "default",
/** oci */
OCI = "oci"
}
/**
* NamespaceSelector selects the namespaces to which this ACL applies.
* An empty map of MatchLabels matches all namespaces in a cluster.
*
* @schema HelmRepositorySpecAccessFromNamespaceSelectors
*/
export interface HelmRepositorySpecAccessFromNamespaceSelectors {
/**
* MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*
* @schema HelmRepositorySpecAccessFromNamespaceSelectors#matchLabels
*/
readonly matchLabels?: {
[key: string]: string;
};
}
/**
* Converts an object of type 'HelmRepositorySpecAccessFromNamespaceSelectors' to JSON representation.
*/
export declare function toJson_HelmRepositorySpecAccessFromNamespaceSelectors(obj: HelmRepositorySpecAccessFromNamespaceSelectors | undefined): Record<string, any> | undefined;
/**
* HelmRepository is the Schema for the helmrepositories API
*
* @schema HelmRepositoryV1Beta1
*/
export declare class HelmRepositoryV1Beta1 extends ApiObject {
/**
* Returns the apiVersion and kind for "HelmRepositoryV1Beta1"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "HelmRepositoryV1Beta1".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: HelmRepositoryV1Beta1Props): any;
/**
* Defines a "HelmRepositoryV1Beta1" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: HelmRepositoryV1Beta1Props);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* HelmRepository is the Schema for the helmrepositories API
*
* @schema HelmRepositoryV1Beta1
*/
export interface HelmRepositoryV1Beta1Props {
/**
* @schema HelmRepositoryV1Beta1#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* HelmRepositorySpec defines the reference to a Helm repository.
*
* @schema HelmRepositoryV1Beta1#spec
*/
readonly spec?: HelmRepositoryV1Beta1Spec;
}
/**
* Converts an object of type 'HelmRepositoryV1Beta1Props' to JSON representation.
*/
export declare function toJson_HelmRepositoryV1Beta1Props(obj: HelmRepositoryV1Beta1Props | undefined): Record<string, any> | undefined;
/**
* HelmRepositorySpec defines the reference to a Helm repository.
*
* @schema HelmRepositoryV1Beta1Spec
*/
export interface HelmRepositoryV1Beta1Spec {
/**
* AccessFrom defines an Access Control List for allowing cross-namespace references to this object.
*
* @schema HelmRepositoryV1Beta1Spec#accessFrom
*/
readonly accessFrom?: HelmRepositoryV1Beta1SpecAccessFrom;
/**
* The interval at which to check the upstream for updates.
*
* @schema HelmRepositoryV1Beta1Spec#interval
*/
readonly interval: string;
/**
* 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.
*
* @schema HelmRepositoryV1Beta1Spec#passCredentials
*/
readonly passCredentials?: boolean;
/**
* The name of the secret containing authentication credentials for the Helm
* repository.
* For HTTP/S basic auth the secret must contain username and
* password fields.
* For TLS the secret must contain a certFile and keyFile, and/or
* caFile fields.
*
* @schema HelmRepositoryV1Beta1Spec#secretRef
*/
readonly secretRef?: HelmRepositoryV1Beta1SpecSecretRef;
/**
* This flag tells the controller to suspend the reconciliation of this source.
*
* @schema HelmRepositoryV1Beta1Spec#suspend
*/
readonly suspend?: boolean;
/**
* The timeout of index downloading, defaults to 60s.
*
* @schema HelmRepositoryV1Beta1Spec#timeout
*/
readonly timeout?: string;
/**
* The Helm repository URL, a valid URL contains at least a protocol and host.
*
* @schema HelmRepositoryV1Beta1Spec#url
*/
readonly url: string;
}
/**
* Converts an object of type 'HelmRepositoryV1Beta1Spec' to JSON representation.
*/
export declare function toJson_HelmRepositoryV1Beta1Spec(obj: HelmRepositoryV1Beta1Spec | undefined): Record<string, any> | undefined;
/**
* AccessFrom defines an Access Control List for allowing cross-namespace references to this object.
*
* @schema HelmRepositoryV1Beta1SpecAccessFrom
*/
export interface HelmRepositoryV1Beta1SpecAccessFrom {
/**
* NamespaceSelectors is the list of namespace selectors to which this ACL applies.
* Items in this list are evaluated using a logical OR operation.
*
* @schema HelmRepositoryV1Beta1SpecAccessFrom#namespaceSelectors
*/
readonly namespaceSelectors: HelmRepositoryV1Beta1SpecAccessFromNamespaceSelectors[];
}
/**
* Converts an object of type 'HelmRepositoryV1Beta1SpecAccessFrom' to JSON representation.
*/
export declare function toJson_HelmRepositoryV1Beta1SpecAccessFrom(obj: HelmRepositoryV1Beta1SpecAccessFrom | undefined): Record<string, any> | undefined;
/**
* The name of the secret containing authentication credentials for the Helm
* repository.
* For HTTP/S basic auth the secret must contain username and
* password fields.
* For TLS the secret must contain a certFile and keyFile, and/or
* caFile fields.
*
* @schema HelmRepositoryV1Beta1SpecSecretRef
*/
export interface HelmRepositoryV1Beta1SpecSecretRef {
/**
* Name of the referent.
*
* @schema HelmRepositoryV1Beta1SpecSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'HelmRepositoryV1Beta1SpecSecretRef' to JSON representation.
*/
export declare function toJson_HelmRepositoryV1Beta1SpecSecretRef(obj: HelmRepositoryV1Beta1SpecSecretRef | undefined): Record<string, any> | undefined;
/**
* NamespaceSelector selects the namespaces to which this ACL applies.
* An empty map of MatchLabels matches all namespaces in a cluster.
*
* @schema HelmRepositoryV1Beta1SpecAccessFromNamespaceSelectors
*/
export interface HelmRepositoryV1Beta1SpecAccessFromNamespaceSelectors {
/**
* MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*
* @schema HelmRepositoryV1Beta1SpecAccessFromNamespaceSelectors#matchLabels
*/
readonly matchLabels?: {
[key: string]: string;
};
}
/**
* Converts an object of type 'HelmRepositoryV1Beta1SpecAccessFromNamespaceSelectors' to JSON representation.
*/
export declare function toJson_HelmRepositoryV1Beta1SpecAccessFromNamespaceSelectors(obj: HelmRepositoryV1Beta1SpecAccessFromNamespaceSelectors | undefined): Record<string, any> | undefined;
/**
* HelmRepository is the Schema for the helmrepositories API.
*
* @schema HelmRepositoryV1Beta2
*/
export declare class HelmRepositoryV1Beta2 extends ApiObject {
/**
* Returns the apiVersion and kind for "HelmRepositoryV1Beta2"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "HelmRepositoryV1Beta2".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: HelmRepositoryV1Beta2Props): any;
/**
* Defines a "HelmRepositoryV1Beta2" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: HelmRepositoryV1Beta2Props);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* HelmRepository is the Schema for the helmrepositories API.
*
* @schema HelmRepositoryV1Beta2
*/
export interface HelmRepositoryV1Beta2Props {
/**
* @schema HelmRepositoryV1Beta2#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* HelmRepositorySpec specifies the required configuration to produce an
* Artifact for a Helm repository index YAML.
*
* @schema HelmRepositoryV1Beta2#spec
*/
readonly spec?: HelmRepositoryV1Beta2Spec;
}
/**
* Converts an object of type 'HelmRepositoryV1Beta2Props' to JSON representation.
*/
export declare function toJson_HelmRepositoryV1Beta2Props(obj: HelmRepositoryV1Beta2Props | undefined): Record<string, any> | undefined;
/**
* HelmRepositorySpec specifies the required configuration to produce an
* Artifact for a Helm repository index YAML.
*
* @schema HelmRepositoryV1Beta2Spec
*/
export interface HelmRepositoryV1Beta2Spec {
/**
* 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
*
* @schema HelmRepositoryV1Beta2Spec#accessFrom
*/
readonly accessFrom?: HelmRepositoryV1Beta2SpecAccessFrom;
/**
* 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`.
*
* @schema HelmRepositoryV1Beta2Spec#certSecretRef
*/
readonly certSecretRef?: HelmRepositoryV1Beta2SpecCertSecretRef;
/**
* 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'.
*
* @schema HelmRepositoryV1Beta2Spec#insecure
*/
readonly insecure?: boolean;
/**
* 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.
*
* @schema HelmRepositoryV1Beta2Spec#interval
*/
readonly interval?: string;
/**
* 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.
*
* @schema HelmRepositoryV1Beta2Spec#passCredentials
*/
readonly passCredentials?: boolean;
/**
* 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'.
*
* @schema HelmRepositoryV1Beta2Spec#provider
*/
readonly provider?: HelmRepositoryV1Beta2SpecProvider;
/**
* 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.
*
* @schema HelmRepositoryV1Beta2Spec#secretRef
*/
readonly secretRef?: HelmRepositoryV1Beta2SpecSecretRef;
/**
* Suspend tells the controller to suspend the reconciliation of this
* HelmRepository.
*
* @schema HelmRepositoryV1Beta2Spec#suspend
*/
readonly suspend?: boolean;
/**
* 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.
*
* @schema HelmRepositoryV1Beta2Spec#timeout
*/
readonly timeout?: string;
/**
* Type of the HelmRepository.
* When this field is set to "oci", the URL field value must be prefixed with "oci://".
*
* @schema HelmRepositoryV1Beta2Spec#type
*/
readonly type?: HelmRepositoryV1Beta2SpecType;
/**
* URL of the Helm repository, a valid URL contains at least a protocol and
* host.
*
* @schema HelmRepositoryV1Beta2Spec#url
*/
readonly url: string;
}
/**
* Converts an object of type 'HelmRepositoryV1Beta2Spec' to JSON representation.
*/
export declare function toJson_HelmRepositoryV1Beta2Spec(obj: HelmRepositoryV1Beta2Spec | undefined): Record<string, any> | undefined;
/**
* 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
*
* @schema HelmRepositoryV1Beta2SpecAccessFrom
*/
export interface HelmRepositoryV1Beta2SpecAccessFrom {
/**
* NamespaceSelectors is the list of namespace selectors to which this ACL applies.
* Items in this list are evaluated using a logical OR operation.
*
* @schema HelmRepositoryV1Beta2SpecAccessFrom#namespaceSelectors
*/
readonly namespaceSelectors: HelmRepositoryV1Beta2SpecAccessFromNamespaceSelectors[];
}
/**
* Converts an object of type 'HelmRepositoryV1Beta2SpecAccessFrom' to JSON representation.
*/
export declare function toJson_HelmRepositoryV1Beta2SpecAccessFrom(obj: HelmRepositoryV1Beta2SpecAccessFrom | undefined): Record<string, any> | undefined;
/**
* 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`.
*
* @schema HelmRepositoryV1Beta2SpecCertSecretRef
*/
export interface HelmRepositoryV1Beta2SpecCertSecretRef {
/**
* Name of the referent.
*
* @schema HelmRepositoryV1Beta2SpecCertSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'HelmRepositoryV1Beta2SpecCertSecretRef' to JSON representation.
*/
export declare function toJson_HelmRepositoryV1Beta2SpecCertSecretRef(obj: HelmRepositoryV1Beta2SpecCertSecretRef | undefined): Record<string, any> | undefined;
/**
* 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'.
*
* @schema HelmRepositoryV1Beta2SpecProvider
*/
export declare enum HelmRepositoryV1Beta2SpecProvider {
/** generic */
GENERIC = "generic",
/** aws */
AWS = "aws",
/** azure */
AZURE = "azure",
/** gcp */
GCP = "gcp"
}
/**
* 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.
*
* @schema HelmRepositoryV1Beta2SpecSecretRef
*/
export interface HelmRepositoryV1Beta2SpecSecretRef {
/**
* Name of the referent.
*
* @schema HelmRepositoryV1Beta2SpecSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'HelmRepositoryV1Beta2SpecSecretRef' to JSON representation.
*/
export declare function toJson_HelmRepositoryV1Beta2SpecSecretRef(obj: HelmRepositoryV1Beta2SpecSecretRef | undefined): Record<string, any> | undefined;
/**
* Type of the HelmRepository.
* When this field is set to "oci", the URL field value must be prefixed with "oci://".
*
* @schema HelmRepositoryV1Beta2SpecType
*/
export declare enum HelmRepositoryV1Beta2SpecType {
/** default */
DEFAULT = "default",
/** oci */
OCI = "oci"
}
/**
* NamespaceSelector selects the namespaces to which this ACL applies.
* An empty map of MatchLabels matches all namespaces in a cluster.
*
* @schema HelmRepositoryV1Beta2SpecAccessFromNamespaceSelectors
*/
export interface HelmRepositoryV1Beta2SpecAccessFromNamespaceSelectors {
/**
* MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*
* @schema HelmRepositoryV1Beta2SpecAccessFromNamespaceSelectors#matchLabels
*/
readonly matchLabels?: {
[key: string]: string;
};
}
/**
* Converts an object of type 'HelmRepositoryV1Beta2SpecAccessFromNamespaceSelectors' to JSON representation.
*/
export declare function toJson_HelmRepositoryV1Beta2SpecAccessFromNamespaceSelectors(obj: HelmRepositoryV1Beta2SpecAccessFromNamespaceSelectors | undefined): Record<string, any> | undefined;
/**
* OCIRepository is the Schema for the ocirepositories API
*
* @schema OCIRepository
*/
export declare class OciRepository extends ApiObject {
/**
* Returns the apiVersion and kind for "OCIRepository"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "OCIRepository".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: OciRepositoryProps): any;
/**
* Defines a "OCIRepository" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: OciRepositoryProps);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* OCIRepository is the Schema for the ocirepositories API
*
* @schema OCIRepository
*/
export interface OciRepositoryProps {
/**
* @schema OCIRepository#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* OCIRepositorySpec defines the desired state of OCIRepository
*
* @schema OCIRepository#spec
*/
readonly spec?: OciRepositorySpec;
}
/**
* Converts an object of type 'OciRepositoryProps' to JSON representation.
*/
export declare function toJson_OciRepositoryProps(obj: OciRepositoryProps | undefined): Record<string, any> | undefined;
/**
* OCIRepositorySpec defines the desired state of OCIRepository
*
* @schema OciRepositorySpec
*/
export interface OciRepositorySpec {
/**
* 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`.
*
* Note: Support for the `caFile`, `certFile` and `keyFile` keys have
* been deprecated.
*
* @schema OciRepositorySpec#certSecretRef
*/
readonly certSecretRef?: OciRepositorySpecCertSecretRef;
/**
* 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.
*
* @schema OciRepositorySpec#ignore
*/
readonly ignore?: string;
/**
* Insecure allows connecting to a non-TLS HTTP container registry.
*
* @schema OciRepositorySpec#insecure
*/
readonly insecure?: boolean;
/**
* Interval at which the OCIRepository URL is checked for updates.
* This interval is approximate and may be subject to jitter to ensure
* efficient use of resources.
*
* @schema OciRepositorySpec#interval
*/
readonly interval: string;
/**
* LayerSelector specifies which layer should be extracted from the OCI artifact.
* When not specified, the first layer found in the artifact is selected.
*
* @schema OciRepositorySpec#layerSelector
*/
readonly layerSelector?: OciRepositorySpecLayerSelector;
/**
* The provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'.
* When not specified, defaults to 'generic'.
*
* @schema OciRepositorySpec#provider
*/
readonly provider?: OciRepositorySpecProvider;
/**
* ProxySecretRef specifies the Secret containing the proxy configuration
* to use while communicating with the container registry.
*
* @schema OciRepositorySpec#proxySecretRef
*/
readonly proxySecretRef?: OciRepositorySpecProxySecretRef;
/**
* The OCI reference to pull and monitor for changes,
* defaults to the latest tag.
*
* @schema OciRepositorySpec#ref
*/
readonly ref?: OciRepositorySpecRef;
/**
* SecretRef contains the secret name containing the registry login
* credentials to resolve image metadata.
* The secret must be of type kubernetes.io/dockerconfigjson.
*
* @schema OciRepositorySpec#secretRef
*/
readonly secretRef?: OciRepositorySpecSecretRef;
/**
* ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticate
* the image pull if the service account has attached pull secrets. For more information:
* https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account
*
* @schema OciRepositorySpec#serviceAccountName
*/
readonly serviceAccountName?: string;
/**
* This flag tells the controller to suspend the reconciliation of this source.
*
* @schema OciRepositorySpec#suspend
*/
readonly suspend?: boolean;
/**
* The timeout for remote OCI Repository operations like pulling, defaults to 60s.
*
* @schema OciRepositorySpec#timeout
*/
readonly timeout?: string;
/**
* URL is a reference to an OCI artifact repository hosted
* on a remote container registry.
*
* @schema OciRepositorySpec#url
*/
readonly url: string;
/**
* 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.
*
* @schema OciRepositorySpec#verify
*/
readonly verify?: OciRepositorySpecVerify;
}
/**
* Converts an object of type 'OciRepositorySpec' to JSON representation.
*/
export declare function toJson_OciRepositorySpec(obj: OciRepositorySpec | undefined): Record<string, any> | undefined;
/**
* 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`.
*
* Note: Support for the `caFile`, `certFile` and `keyFile` keys have
* been deprecated.
*
* @schema OciRepositorySpecCertSecretRef
*/
export interface OciRepositorySpecCertSecretRef {
/**
* Name of the referent.
*
* @schema OciRepositorySpecCertSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'OciRepositorySpecCertSecretRef' to JSON representation.
*/
export declare function toJson_OciRepositorySpecCertSecretRef(obj: OciRepositorySpecCertSecretRef | undefined): Record<string, any> | undefined;
/**
* LayerSelector specifies which layer should be extracted from the OCI artifact.
* When not specified, the first layer found in the artifact is selected.
*
* @schema OciRepositorySpecLayerSelector
*/
export interface OciRepositorySpecLayerSelector {
/**
* MediaType specifies the OCI media type of the layer
* which should be extracted from the OCI Artifact. The
* first layer matching this type is selected.
*
* @schema OciRepositorySpecLayerSelector#mediaType
*/
readonly mediaType?: string;
/**
* Operation specifies how the selected layer should be processed.
* By default, the layer compressed content is extracted to storage.
* When the operation is set to 'copy', the layer compressed content
* is persisted to storage as it is.
*
* @schema OciRepositorySpecLayerSelector#operation
*/
readonly operation?: OciRepositorySpecLayerSelectorOperation;
}
/**
* Converts an object of type 'OciRepositorySpecLayerSelector' to JSON representation.
*/
export declare function toJson_OciRepositorySpecLayerSelector(obj: OciRepositorySpecLayerSelector | undefined): Record<string, any> | undefined;
/**
* The provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'.
* When not specified, defaults to 'generic'.
*
* @schema OciRepositorySpecProvider
*/
export declare enum OciRepositorySpecProvider {
/** generic */
GENERIC = "generic",
/** aws */
AWS = "aws",
/** azure */
AZURE = "azure",
/** gcp */
GCP = "gcp"
}
/**
* ProxySecretRef specifies the Secret containing the proxy configuration
* to use while communicating with the container registry.
*
* @schema OciRepositorySpecProxySecretRef
*/
export interface OciRepositorySpecProxySecretRef {
/**
* Name of the referent.
*
* @schema OciRepositorySpecProxySecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'OciRepositorySpecProxySecretRef' to JSON representation.
*/
export declare function toJson_OciRepositorySpecProxySecretRef(obj: OciRepositorySpecProxySecretRef | undefined): Record<string, any> | undefined;
/**
* The OCI reference to pull and monitor for changes,
* defaults to the latest tag.
*
* @schema OciRepositorySpecRef
*/
export interface OciRepositorySpecRef {
/**
* Digest is the image digest to pull, takes precedence over SemVer.
* The value should be in the format 'sha256:<HASH>'.
*
* @schema OciRepositorySpecRef#digest
*/
readonly digest?: string;
/**
* SemVer is the range of tags to pull selecting the latest within
* the range, takes precedence over Tag.
*
* @schema OciRepositorySpecRef#semver
*/
readonly semver?: string;
/**
* SemverFilter is a regex pattern to filter the tags within the SemVer range.
*
* @schema OciRepositorySpecRef#semverFilter
*/
readonly semverFilter?: string;
/**
* Tag is the image tag to pull, defaults to latest.
*
* @schema OciRepositorySpecRef#tag
*/
readonly tag?: string;
}
/**
* Converts an object of type 'OciRepositorySpecRef' to JSON representation.
*/
export declare function toJson_OciRepositorySpecRef(obj: OciRepositorySpecRef | undefined): Record<string, any> | undefined;
/**
* SecretRef contains the secret name containing the registry login
* credentials to resolve image metadata.
* The secret must be of type kubernetes.io/dockerconfigjson.
*
* @schema OciRepositorySpecSecretRef
*/
export interface OciRepositorySpecSecretRef {
/**
* Name of the referent.
*
* @schema OciRepositorySpecSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'OciRepositorySpecSecretRef' to JSON representation.
*/
export declare function toJson_OciRepositorySpecSecretRef(obj: OciRepositorySpecSecretRef | undefined): Record<string, any> | undefined;
/**
* 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.
*
* @schema OciRepositorySpecVerify
*/
export interface OciRepositorySpecVerify {
/**
* 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.
*
* @schema OciRepositorySpecVerify#matchOIDCIdentity
*/
readonly matchOidcIdentity?: OciRepositorySpecVerifyMatchOidcIdentity[];
/**
* Provider specifies the technology used to sign the OCI Artifact.
*
* @schema OciRepositorySpecVerify#provider
*/
readonly provider: OciRepositorySpecVerifyProvider;
/**
* SecretRef specifies the Kubernetes Secret containing the
* trusted public keys.
*
* @schema OciRepositorySpecVerify#secretRef
*/
readonly secretRef?: OciRepositorySpecVerifySecretRef;
}
/**
* Converts an object of type 'OciRepositorySpecVerify' to JSON representation.
*/
export declare function toJson_OciRepositorySpecVerify(obj: OciRepositorySpecVerify | undefined): Record<string, any> | undefined;
/**
* Operation specifies how the selected layer should be processed.
* By default, the layer compressed content is extracted to storage.
* When the operation is set to 'copy', the layer compressed content
* is persisted to storage as it is.
*
* @schema OciRepositorySpecLayerSelectorOperation
*/
export declare enum OciRepositorySpecLayerSelectorOperation {
/** extract */
EXTRACT = "extract",
/** copy */
COPY = "copy"
}
/**
* OIDCIdentityMatch specifies options for verifying the certificate identity,
* i.e. the issuer and the subject of the certificate.
*
* @schema OciRepositorySpecVerifyMatchOidcIdentity
*/
export interface OciRepositorySpecVerifyMatchOidcIdentity {
/**
* 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.
*
* @schema OciRepositorySpecVerifyMatchOidcIdentity#issuer
*/
readonly issuer: 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.
*
* @schema OciRepositorySpecVerifyMatchOidcIdentity#subject
*/
readonly subject: string;
}
/**
* Converts an object of type 'OciRepositorySpecVerifyMatchOidcIdentity' to JSON representation.
*/
export declare function toJson_OciRepositorySpecVerifyMatchOidcIdentity(obj: OciRepositorySpecVerifyMatchOidcIdentity | undefined): Record<string, any> | undefined;
/**
* Provider specifies the technology used to sign the OCI Artifact.
*
* @schema OciRepositorySpecVerifyProvider
*/
export declare enum OciRepositorySpecVerifyProvider {
/** cosign */
COSIGN = "cosign",
/** notation */
NOTATION = "notation"
}
/**
* SecretRef specifies the Kubernetes Secret containing the
* trusted public keys.
*
* @schema OciRepositorySpecVerifySecretRef
*/
export interface OciRepositorySpecVerifySecretRef {
/**
* Name of the referent.
*
* @schema OciRepositorySpecVerifySecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'OciRepositorySpecVerifySecretRef' to JSON representation.
*/
export declare function toJson_OciRepositorySpecVerifySecretRef(obj: OciRepositorySpecVerifySecretRef | undefined): Record<string, any> | undefined;
//# sourceMappingURL=source.toolkit.fluxcd.io.d.ts.map