@kubernetes-models/flux-cd
Version:
99 lines (98 loc) • 4.28 kB
TypeScript
import { IComGithubFluxcdPkgApisAclAccessFrom } from "../../github.com/fluxcd/pkg/apis/acl/AccessFrom.js";
import { IComGithubFluxcdPkgApisMetaLocalObjectReference } from "../../github.com/fluxcd/pkg/apis/meta/LocalObjectReference.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
* HelmRepositorySpec specifies the required configuration to produce an
* Artifact for a Helm repository index YAML.
*/
export interface IHelmRepositorySpec {
/**
* 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
*/
"accessFrom"?: IComGithubFluxcdPkgApisAclAccessFrom;
/**
* 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`.
*/
"certSecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
/**
* 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'.
*/
"insecure"?: boolean;
"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.
*/
"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'.
*/
"provider"?: "generic" | "aws" | "azure" | "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.
*/
"secretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
/**
* Suspend tells the controller to suspend the reconciliation of this
* HelmRepository.
*/
"suspend"?: boolean;
"timeout"?: string;
/**
* Type of the HelmRepository.
* When this field is set to "oci", the URL field value must be prefixed with "oci://".
*/
"type"?: "default" | "oci";
/**
* URL of the Helm repository, a valid URL contains at least a protocol and
* host.
*/
"url": string;
}
/**
* HelmRepositorySpec specifies the required configuration to produce an
* Artifact for a Helm repository index YAML.
*/
export declare class HelmRepositorySpec extends Model<IHelmRepositorySpec> implements IHelmRepositorySpec {
"accessFrom"?: IComGithubFluxcdPkgApisAclAccessFrom;
"certSecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
"insecure"?: boolean;
"interval"?: string;
"passCredentials"?: boolean;
"provider"?: "generic" | "aws" | "azure" | "gcp";
"secretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference;
"suspend"?: boolean;
"timeout"?: string;
"type"?: "default" | "oci";
"url": string;
constructor(data?: ModelData<IHelmRepositorySpec>);
}
export type { IHelmRepositorySpec as IComGithubFluxcdSourceControllerApiV1HelmRepositorySpec, HelmRepositorySpec as ComGithubFluxcdSourceControllerApiV1HelmRepositorySpec };