/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * HelmRepository is the Schema for the helmrepositories API. */ export interface K8SHelmRepositoryV1 { /** * APIVersion defines the versioned schema of this representation of an object. * Servers should convert recognized schemas to the latest internal value, and * may reject unrecognized values. * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources */ apiVersion?: string; /** * Kind is a string value representing the REST resource this object represents. * Servers may infer this from the endpoint the client submits requests to. * Cannot be updated. * In CamelCase. * More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds */ kind?: string; metadata?: {}; /** * HelmRepositorySpec specifies the required configuration to produce an * Artifact for a Helm repository index YAML. */ spec?: { /** * 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?: { /** * NamespaceSelectors is the list of namespace selectors to which this ACL applies. * Items in this list are evaluated using a logical OR operation. */ namespaceSelectors: { /** * 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. */ matchLabels?: { [k: string]: 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 * 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?: { /** * Name of the referent. */ name: string; }; /** * 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 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. */ 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?: string; /** * 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?: { /** * Name of the referent. */ name: string; }; /** * Suspend tells the controller to suspend the reconciliation of this * HelmRepository. */ 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. */ timeout?: string; /** * Type of the HelmRepository. * When this field is set to "oci", the URL field value must be prefixed with "oci://". */ type?: string; /** * URL of the Helm repository, a valid URL contains at least a protocol and * host. */ url: string; }; /** * HelmRepositoryStatus records the observed state of the HelmRepository. */ status?: { /** * Artifact represents the last successful HelmRepository reconciliation. */ artifact?: { /** * Digest is the digest of the file in the form of ':'. */ digest?: string; /** * LastUpdateTime is the timestamp corresponding to the last update of the * Artifact. */ lastUpdateTime: string; /** * Metadata holds upstream information such as OCI annotations. */ metadata?: { [k: string]: string; }; /** * Path is the relative file path of the Artifact. It can be used to locate * the file in the root of the Artifact storage on the local file system of * the controller managing the Source. */ path: string; /** * Revision is a human-readable identifier traceable in the origin source * system. It can be a Git commit SHA, Git tag, a Helm chart version, etc. */ revision: string; /** * Size is the number of bytes in the file. */ size?: number; /** * URL is the HTTP address of the Artifact as exposed by the controller * managing the Source. It can be used to retrieve the Artifact for * consumption, e.g. by another controller applying the Artifact contents. */ url: string; }; /** * Conditions holds the conditions for the HelmRepository. */ conditions?: { /** * lastTransitionTime is the last time the condition transitioned from one status to another. * This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. */ lastTransitionTime: string; /** * message is a human readable message indicating details about the transition. * This may be an empty string. */ message: string; /** * observedGeneration represents the .metadata.generation that the condition was set based upon. * For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date * with respect to the current state of the instance. */ observedGeneration?: number; /** * reason contains a programmatic identifier indicating the reason for the condition's last transition. * Producers of specific condition types may define expected values and meanings for this field, * and whether the values are considered a guaranteed API. * The value should be a CamelCase string. * This field may not be empty. */ reason: string; /** * status of the condition, one of True, False, Unknown. */ status: "True" | "False" | "Unknown"; /** * type of condition in CamelCase or in foo.example.com/CamelCase. */ type: string; }[]; /** * LastHandledReconcileAt holds the value of the most recent * reconcile request value, so a change of the annotation value * can be detected. */ lastHandledReconcileAt?: string; /** * ObservedGeneration is the last observed generation of the HelmRepository * object. */ observedGeneration?: number; /** * URL is the dynamic fetch link for the latest Artifact. * It is provided on a "best effort" basis, and using the precise * HelmRepositoryStatus.Artifact data is recommended. */ url?: string; }; }