@kubernetes-models/flux-cd
Version:
114 lines (113 loc) • 4.49 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 { IComGithubFluxcdSourceControllerApiV1beta2BucketSTSSpec } 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 {
/**
* 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;
/**
* 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;
/**
* 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"?: IComGithubFluxcdSourceControllerApiV1beta2BucketSTSSpec;
/**
* 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 {
"accessFrom"?: IComGithubFluxcdPkgApisAclAccessFrom;
"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;
"sts"?: IComGithubFluxcdSourceControllerApiV1beta2BucketSTSSpec;
"suspend"?: boolean;
"timeout"?: string;
constructor(data?: ModelData<IBucketSpec>);
}
export type { IBucketSpec as IComGithubFluxcdSourceControllerApiV1beta2BucketSpec, BucketSpec as ComGithubFluxcdSourceControllerApiV1beta2BucketSpec };