/* 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. */ /** * GitRepository is the Schema for the gitrepositories API. */ export interface K8SGitRepositoryV1Beta2 { /** * 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?: {}; /** * GitRepositorySpec specifies the required configuration to produce an * Artifact for a Git repository. */ 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; }; }[]; }; /** * 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. */ gitImplementation?: 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; /** * Include specifies a list of GitRepository resources which Artifacts * should be included in the Artifact produced for this GitRepository. */ include?: { /** * FromPath specifies the path to copy contents from, defaults to the root * of the Artifact. */ fromPath?: string; /** * GitRepositoryRef specifies the GitRepository which Artifact contents * must be included. */ repository: { /** * Name of the referent. */ name: string; }; /** * ToPath specifies the path to copy contents to, defaults to the name of * the GitRepositoryRef. */ toPath?: string; }[]; /** * Interval at which to check the GitRepository for updates. */ interval: string; /** * RecurseSubmodules enables the initialization of all submodules within * the GitRepository as cloned from the URL, using their default settings. */ recurseSubmodules?: boolean; /** * Reference specifies the Git reference to resolve and monitor for * changes, defaults to the 'master' branch. */ ref?: { /** * Branch to check out, defaults to 'master' if no other field is defined. */ 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. */ 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" */ name?: string; /** * SemVer tag expression to check out, takes precedence over Tag. */ semver?: string; /** * Tag to check out, takes precedence over Branch. */ tag?: string; }; /** * 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. */ secretRef?: { /** * Name of the referent. */ name: string; }; /** * Suspend tells the controller to suspend the reconciliation of this * GitRepository. */ suspend?: boolean; /** * Timeout for Git operations like cloning, defaults to 60s. */ timeout?: string; /** * URL specifies the Git repository URL, it can be an HTTP/S or SSH address. */ url: string; /** * Verification specifies the configuration to verify the Git commit * signature(s). */ verify?: { /** * Mode specifies what Git object should be verified, currently ('head'). */ mode: string; /** * SecretRef specifies the Secret containing the public keys of trusted Git * authors. */ secretRef: { /** * Name of the referent. */ name: string; }; }; }; /** * GitRepositoryStatus records the observed state of a Git repository. */ status?: { /** * Artifact represents the last successful GitRepository 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 GitRepository. */ 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; }[]; /** * ContentConfigChecksum is a checksum of all the configurations related to * the content of the source artifact: * - .spec.ignore * - .spec.recurseSubmodules * - .spec.included and the checksum of the included artifacts * observed in .status.observedGeneration version of the object. This can * be used to determine if the content of the included repository has * changed. * It has the format of `:`, for example: `sha256:`. * * Deprecated: Replaced with explicit fields for observed artifact content * config in the status. */ contentConfigChecksum?: string; /** * IncludedArtifacts contains a list of the last successfully included * Artifacts as instructed by GitRepositorySpec.Include. */ includedArtifacts?: { /** * 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; }[]; /** * 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 GitRepository * object. */ observedGeneration?: number; /** * ObservedIgnore is the observed exclusion patterns used for constructing * the source artifact. */ observedIgnore?: string; /** * ObservedInclude is the observed list of GitRepository resources used to * to produce the current Artifact. */ observedInclude?: { /** * FromPath specifies the path to copy contents from, defaults to the root * of the Artifact. */ fromPath?: string; /** * GitRepositoryRef specifies the GitRepository which Artifact contents * must be included. */ repository: { /** * Name of the referent. */ name: string; }; /** * ToPath specifies the path to copy contents to, defaults to the name of * the GitRepositoryRef. */ toPath?: string; }[]; /** * ObservedRecurseSubmodules is the observed resource submodules * configuration used to produce the current Artifact. */ observedRecurseSubmodules?: boolean; /** * URL is the dynamic fetch link for the latest Artifact. * It is provided on a "best effort" basis, and using the precise * GitRepositoryStatus.Artifact data is recommended. */ url?: string; }; }