@soft-stech/fleet
Version:
159 lines (158 loc) • 5.91 kB
TypeScript
import { IObjectMeta } from "@soft-stech/apimachinery/apis/meta/v1/ObjectMeta";
import { Model, ModelData } from "@soft-stech/base";
export interface IImageScan {
/**
* 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": "fleet.cattle.io/v1alpha1";
/**
* 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": "ImageScan";
"metadata"?: IObjectMeta;
/**
* API is taken from https://github.com/fluxcd/image-reflector-controller
*/
"spec"?: {
/**
* GitRepo reference name
*/
"gitrepoName"?: string;
/**
* Image is the name of the image repository
*/
"image"?: string;
/**
* Interval is the length of time to wait between
* scans of the image repository.
*/
"interval"?: string;
/**
* Policy gives the particulars of the policy to be followed in
* selecting the most recent image
*/
"policy"?: {
/**
* Alphabetical set of rules to use for alphabetical ordering of the tags.
*/
"alphabetical"?: {
/**
* Order specifies the sorting order of the tags. Given the letters of the
* alphabet as tags, ascending order would select Z, and descending order
* would select A.
*/
"order"?: string;
};
/**
* SemVer gives a semantic version range to check against the tags
* available.
*/
"semver"?: {
/**
* Range gives a semver range for the image tag; the highest
* version within the range that's a tag yields the latest image.
*/
"range"?: string;
};
};
/**
* SecretRef can be given the name of a secret containing
* credentials to use for the image registry. The secret should be
* created with `kubectl create secret docker-registry`, or the
* equivalent.
*/
"secretRef"?: {
/**
* Name of the referent.
* This field is effectively required, but due to backwards compatibility is
* allowed to be empty. Instances of this type with an empty value here are
* almost certainly wrong.
* TODO: Add other useful fields. apiVersion, kind, uid?
* More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
* TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
*/
"name"?: string;
};
/**
* This flag tells the controller to suspend subsequent image scans.
* It does not apply to already started scans. Defaults to false.
*/
"suspend"?: boolean;
/**
* TagName is the tag ref that needs to be put in manifest to replace fields
*/
"tagName"?: string;
};
"status"?: {
/**
* CanonicalName is the name of the image repository with all the
* implied bits made explicit; e.g., `docker.io/library/alpine`
* rather than `alpine`.
*/
"canonicalImageName"?: string;
"conditions"?: Array<{
/**
* Last time the condition transitioned from one status to another.
*/
"lastTransitionTime"?: string;
/**
* The last time this condition was updated.
*/
"lastUpdateTime"?: string;
/**
* Human-readable message indicating details about last transition
*/
"message"?: string;
/**
* The reason for the condition's last transition.
*/
"reason"?: string;
/**
* Status of the condition, one of True, False, Unknown.
*/
"status": string;
/**
* Type of cluster condition.
*/
"type": string;
}>;
/**
* LastScanTime is the last time image was scanned
* @format date-time
*/
"lastScanTime"?: string | null;
/**
* LatestDigest is the digest of latest tag
*/
"latestDigest"?: string;
/**
* LatestImage gives the first in the list of images scanned by
* the image repository, when filtered and ordered according to
* the policy.
*/
"latestImage"?: string;
/**
* Latest tag is the latest tag filtered by the policy
*/
"latestTag"?: string;
"observedGeneration"?: number;
};
}
export declare class ImageScan extends Model<IImageScan> implements IImageScan {
"apiVersion": IImageScan["apiVersion"];
"kind": IImageScan["kind"];
"metadata"?: IImageScan["metadata"];
"spec"?: IImageScan["spec"];
"status"?: IImageScan["status"];
static apiVersion: IImageScan["apiVersion"];
static kind: IImageScan["kind"];
static is: import("@soft-stech/base").TypeMetaGuard<IImageScan>;
constructor(data?: ModelData<IImageScan>);
}