UNPKG

@kubernetes-models/flux-cd

Version:
114 lines (113 loc) 4.41 kB
import { IComGithubFluxcdPkgApisMetaLocalObjectReference } from "../../github.com/fluxcd/pkg/apis/meta/LocalObjectReference.js"; import { IComGithubFluxcdSourceControllerApiV1BucketSTSSpec } from "./BucketSTSSpec.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * BucketSpec specifies the required configuration to produce an Artifact for * an object storage bucket. */ export interface IBucketSpec { /** * BucketName is the name of the object storage bucket. */ "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. */ "certSecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; /** * Endpoint is the object storage address the BucketName is located at. */ "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. */ "ignore"?: string; /** * Insecure allows connecting to a non-TLS HTTP Endpoint. */ "insecure"?: boolean; "interval": string; /** * Prefix to use for server-side filtering of files in the Bucket. */ "prefix"?: string; /** * Provider of the object storage bucket. * Defaults to 'generic', which expects an S3 (API) compatible object * storage. */ "provider"?: "generic" | "aws" | "gcp" | "azure"; /** * ProxySecretRef specifies the Secret containing the proxy configuration * to use while communicating with the Bucket server. */ "proxySecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; /** * Region of the Endpoint where the BucketName is located in. */ "region"?: string; /** * SecretRef specifies the Secret containing authentication credentials * for the Bucket. */ "secretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; /** * ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticate * the bucket. This field is only supported for the 'gcp' and 'aws' providers. * For more information about workload identity: * https://fluxcd.io/flux/components/source/buckets/#workload-identity */ "serviceAccountName"?: string; /** * 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. */ "sts"?: IComGithubFluxcdSourceControllerApiV1BucketSTSSpec; /** * Suspend tells the controller to suspend the reconciliation of this * Bucket. */ "suspend"?: boolean; "timeout"?: string; } /** * BucketSpec specifies the required configuration to produce an Artifact for * an object storage bucket. */ export declare class BucketSpec extends Model<IBucketSpec> implements IBucketSpec { "bucketName": string; "certSecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; "endpoint": string; "ignore"?: string; "insecure"?: boolean; "interval": string; "prefix"?: string; "provider"?: "generic" | "aws" | "gcp" | "azure"; "proxySecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; "region"?: string; "secretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; "serviceAccountName"?: string; "sts"?: IComGithubFluxcdSourceControllerApiV1BucketSTSSpec; "suspend"?: boolean; "timeout"?: string; constructor(data?: ModelData<IBucketSpec>); } export type { IBucketSpec as IComGithubFluxcdSourceControllerApiV1BucketSpec, BucketSpec as ComGithubFluxcdSourceControllerApiV1BucketSpec };