@himenon/argo-rollouts-typescript-openapi
Version:
Implementation of TypeScript generated from argo-rollouts OpenAPI
1,004 lines (1,003 loc) • 190 kB
TypeScript
export declare namespace Schemas {
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$ALBStatus {
loadBalancer?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AwsResourceRef;
canaryTargetGroup?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AwsResourceRef;
stableTargetGroup?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AwsResourceRef;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$ALBTrafficRouting {
/** Ingress refers to the name of an `Ingress` resource in the same namespace as the `Rollout` */
ingress?: string;
/** ServicePort refers to the port that the Ingress action should route traffic to */
servicePort?: number;
/** RootService references the service in the ingress to the controller should add the action to */
rootService?: string;
stickinessConfig?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$StickinessConfig;
/**
* AnnotationPrefix has to match the configured annotation prefix on the alb ingress controller
* +optional
*/
annotationPrefix?: string;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AmbassadorTrafficRouting {
/**
* Mappings refer to the name of the Ambassador Mappings used to route traffic to the
* service
*/
mappings?: string[];
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AnalysisRunArgument {
/** Name argument name */
name?: string;
/** Value a hardcoded value for the argument. This field is a one of field with valueFrom */
value?: string;
valueFrom?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$ArgumentValueFrom;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AnalysisRunStrategy {
/** SuccessfulRunHistoryLimit limits the number of old successful analysis runs and experiments to be retained in a history */
successfulRunHistoryLimit?: number;
/**
* UnsuccessfulRunHistoryLimit limits the number of old unsuccessful analysis runs and experiments to be retained in a history.
* Stages for unsuccessful: "Error", "Failed", "Inconclusive"
*/
unsuccessfulRunHistoryLimit?: number;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AntiAffinity {
preferredDuringSchedulingIgnoredDuringExecution?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$PreferredDuringSchedulingIgnoredDuringExecution;
requiredDuringSchedulingIgnoredDuringExecution?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RequiredDuringSchedulingIgnoredDuringExecution;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AppMeshTrafficRouting {
virtualService?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AppMeshVirtualService;
virtualNodeGroup?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AppMeshVirtualNodeGroup;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AppMeshVirtualNodeGroup {
canaryVirtualNodeRef?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AppMeshVirtualNodeReference;
stableVirtualNodeRef?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AppMeshVirtualNodeReference;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AppMeshVirtualNodeReference {
/** Name is the name of VirtualNode CR */
name?: string;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AppMeshVirtualService {
/** Name is the name of virtual service */
name?: string;
/** Routes is list of HTTP routes within virtual router associated with virtual service to edit. If omitted, virtual service must have a single route of this type. */
routes?: string[];
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$ArgumentValueFrom {
/** PodTemplateHashValue gets the value from one of the children ReplicaSet's Pod Template Hash */
podTemplateHashValue?: string;
fieldRef?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$FieldRef;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AwsResourceRef {
name?: string;
arn?: string;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$BlueGreenStatus {
/**
* PreviewSelector indicates which replicas set the preview service is serving traffic to
* +optional
*/
previewSelector?: string;
/**
* ActiveSelector indicates which replicas set the active service is serving traffic to
* +optional
*/
activeSelector?: string;
/**
* ScaleUpPreviewCheckPoint indicates that the Replicaset receiving traffic from the preview service is ready to be scaled up after the rollout is unpaused
* +optional
*/
scaleUpPreviewCheckPoint?: boolean;
prePromotionAnalysisRunStatus?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysisRunStatus;
postPromotionAnalysisRunStatus?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysisRunStatus;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$BlueGreenStrategy {
/** Name of the service that the rollout modifies as the active service. */
activeService?: string;
/**
* Name of the service that the rollout modifies as the preview service.
* +optional
*/
previewService?: string;
/**
* PreviewReplicaCount is the number of replicas to run for the preview stack before the
* switchover. Once the rollout is resumed the desired replicaset will be full scaled up before the switch occurs
* +optional
*/
previewReplicaCount?: number;
/**
* AutoPromotionEnabled indicates if the rollout should automatically promote the new ReplicaSet
* to the active service or enter a paused state. If not specified, the default value is true.
* +optional
*/
autoPromotionEnabled?: boolean;
/**
* AutoPromotionSeconds is a duration in seconds in which to delay auto-promotion (default: 0).
* The countdown begins after the preview ReplicaSet have reached full availability.
* This option is ignored if autoPromotionEnabled is set to false.
* +optional
*/
autoPromotionSeconds?: number;
maxUnavailable?: Schemas.k8s$io$apimachinery$pkg$util$intstr$IntOrString;
/**
* ScaleDownDelaySeconds adds a delay before scaling down the previous replicaset.
* If omitted, the Rollout waits 30 seconds before scaling down the previous ReplicaSet.
* A minimum of 30 seconds is recommended to ensure IP table propagation across the nodes in
* a cluster. See https://github.com/argoproj/argo-rollouts/issues/19#issuecomment-476329960 for
* more information
* +optional
*/
scaleDownDelaySeconds?: number;
/**
* ScaleDownDelayRevisionLimit limits the number of old RS that can run at one time before getting scaled down
* +optional
*/
scaleDownDelayRevisionLimit?: number;
prePromotionAnalysis?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysis;
antiAffinity?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AntiAffinity;
postPromotionAnalysis?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysis;
previewMetadata?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$PodTemplateMetadata;
activeMetadata?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$PodTemplateMetadata;
/**
* AbortScaleDownDelaySeconds adds a delay in second before scaling down the preview replicaset
* if update is aborted. 0 means not to scale down.
* Default is 30 second
* +optional
*/
abortScaleDownDelaySeconds?: number;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$CanaryStatus {
currentStepAnalysisRunStatus?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysisRunStatus;
currentBackgroundAnalysisRunStatus?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysisRunStatus;
/** CurrentExperiment indicates the running experiment */
currentExperiment?: string;
weights?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$TrafficWeights;
/** StablePingPong For the ping-pong feature holds the current stable service, ping or pong */
stablePingPong?: string;
}
/** CanaryStep defines a step of a canary deployment. */
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$CanaryStep {
/** SetWeight sets what percentage of the newRS should receive */
setWeight?: number;
pause?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutPause;
experiment?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutExperimentStep;
analysis?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysis;
setCanaryScale?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$SetCanaryScale;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$CanaryStrategy {
/**
* CanaryService holds the name of a service which selects pods with canary version and don't select any pods with stable version.
* +optional
*/
canaryService?: string;
/**
* StableService holds the name of a service which selects pods with stable version and don't select any pods with canary version.
* +optional
*/
stableService?: string;
/**
* Steps define the order of phases to execute the canary deployment
* +optional
*/
steps?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$CanaryStep[];
trafficRouting?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutTrafficRouting;
maxUnavailable?: Schemas.k8s$io$apimachinery$pkg$util$intstr$IntOrString;
maxSurge?: Schemas.k8s$io$apimachinery$pkg$util$intstr$IntOrString;
analysis?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysisBackground;
antiAffinity?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AntiAffinity;
canaryMetadata?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$PodTemplateMetadata;
stableMetadata?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$PodTemplateMetadata;
/**
* ScaleDownDelaySeconds adds a delay before scaling down the previous ReplicaSet when the
* canary strategy is used with traffic routing (default 30 seconds). A delay in scaling down
* the previous ReplicaSet is needed after switching the stable service selector to point to
* the new ReplicaSet, in order to give time for traffic providers to re-target the new pods.
* This value is ignored with basic, replica-weighted canary without traffic routing.
* +optional
*/
scaleDownDelaySeconds?: number;
/**
* ScaleDownDelayRevisionLimit limits the number of old RS that can run at one time before getting scaled down
* +optional
*/
scaleDownDelayRevisionLimit?: number;
/**
* AbortScaleDownDelaySeconds adds a delay in second before scaling down the canary pods when update
* is aborted for canary strategy with traffic routing (not applicable for basic canary).
* 0 means canary pods are not scaled down.
* Default is 30 seconds.
* +optional
*/
abortScaleDownDelaySeconds?: number;
/**
* DynamicStableScale is a traffic routing feature which dynamically scales the stable
* ReplicaSet to minimize total pods which are running during an update. This is calculated by
* scaling down the stable as traffic is increased to canary. When disabled (the default behavior)
* the stable ReplicaSet remains fully scaled to support instantaneous aborts.
*/
dynamicStableScale?: boolean;
pingPong?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$PingPongSpec;
}
/** DryRun defines the settings for running the analysis in Dry-Run mode. */
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$DryRun {
/**
* Name of the metric which needs to be evaluated in the Dry-Run mode. Wildcard '*' is supported and denotes all
* the available metrics.
*/
metricName?: string;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$FieldRef {
/** Required: Path of the field to select in the specified API version */
fieldPath?: string;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$IstioDestinationRule {
/** Name holds the name of the DestinationRule */
name?: string;
/** CanarySubsetName is the subset name to modify labels with canary ReplicaSet pod template hash value */
canarySubsetName?: string;
/** StableSubsetName is the subset name to modify labels with stable ReplicaSet pod template hash value */
stableSubsetName?: string;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$IstioTrafficRouting {
virtualService?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$IstioVirtualService;
destinationRule?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$IstioDestinationRule;
/** VirtualServices references a list of Istio VirtualService to modify to shape traffic */
virtualServices?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$IstioVirtualService[];
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$IstioVirtualService {
/** Name holds the name of the VirtualService */
name?: string;
/** A list of HTTP routes within VirtualService to edit. If omitted, VirtualService must have a single route of this type. */
routes?: string[];
/** A list of TLS/HTTPS routes within VirtualService to edit. If omitted, VirtualService must have a single route of this type. */
tlsRoutes?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$TLSRoute[];
}
/** MeasurementRetention defines the settings for retaining the number of measurements during the analysis. */
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$MeasurementRetention {
/** MetricName is the name of the metric on which this retention policy should be applied. */
metricName?: string;
/** Limit is the maximum number of measurements to be retained for this given metric. */
limit?: number;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$NginxTrafficRouting {
/**
* AnnotationPrefix has to match the configured annotation prefix on the nginx ingress controller
* +optional
*/
annotationPrefix?: string;
/** StableIngress refers to the name of an `Ingress` resource in the same namespace as the `Rollout` */
stableIngress?: string;
/** +optional */
additionalIngressAnnotations?: {
[key: string]: string;
};
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$ObjectRef {
/** API Version of the referent */
apiVersion?: string;
/** Kind of the referent */
kind?: string;
/** Name of the referent */
name?: string;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$PauseCondition {
reason?: string;
startTime?: Schemas.k8s$io$apimachinery$pkg$apis$meta$v1$Time;
}
/** PingPongSpec holds the ping and pong service name. */
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$PingPongSpec {
/** name of the ping service */
pingService?: string;
/** name of the pong service */
pongService?: string;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$PodTemplateMetadata {
/**
* Labels Additional labels to add to the experiment
* +optional
*/
labels?: {
[key: string]: string;
};
/**
* Annotations additional annotations to add to the experiment
* +optional
*/
annotations?: {
[key: string]: string;
};
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$PreferredDuringSchedulingIgnoredDuringExecution {
/** Weight associated with matching the corresponding podAffinityTerm, in the range 1-100. */
weight?: number;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RequiredDuringSchedulingIgnoredDuringExecution {
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$Rollout {
metadata?: Schemas.k8s$io$apimachinery$pkg$apis$meta$v1$ObjectMeta;
spec?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutSpec;
status?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutStatus;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysis {
/** Templates reference to a list of analysis templates to combine for an AnalysisRun */
templates?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysisTemplate[];
/**
* Args the arguments that will be added to the AnalysisRuns
* +patchMergeKey=name
* +patchStrategy=merge
*/
args?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AnalysisRunArgument[];
/**
* DryRun object contains the settings for running the analysis in Dry-Run mode
* +patchMergeKey=metricName
* +patchStrategy=merge
* +optional
*/
dryRun?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$DryRun[];
/**
* MeasurementRetention object contains the settings for retaining the number of measurements during the analysis
* +patchMergeKey=metricName
* +patchStrategy=merge
* +optional
*/
measurementRetention?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$MeasurementRetention[];
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysisBackground {
rolloutAnalysis?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysis;
/**
* StartingStep indicates which step the background analysis should start on
* If not listed, controller defaults to 0
*/
startingStep?: number;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysisRunStatus {
name?: string;
status?: string;
message?: string;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutAnalysisTemplate {
/**
* TemplateName name of template to use in AnalysisRun
* +optional
*/
templateName?: string;
/**
* Whether to look for the templateName at cluster scope or namespace scope
* +optional
*/
clusterScope?: boolean;
}
/** RolloutCondition describes the state of a rollout at a certain point. */
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutCondition {
/** Type of deployment condition. */
type?: string;
/** Phase of the condition, one of True, False, Unknown. */
status?: string;
lastUpdateTime?: Schemas.k8s$io$apimachinery$pkg$apis$meta$v1$Time;
lastTransitionTime?: Schemas.k8s$io$apimachinery$pkg$apis$meta$v1$Time;
/** The reason for the condition's last transition. */
reason?: string;
/** A human readable message indicating details about the transition. */
message?: string;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutExperimentStep {
/**
* Templates what templates that should be added to the experiment. Should be non-nil
* +patchMergeKey=name
* +patchStrategy=merge
*/
templates?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutExperimentTemplate[];
/**
* Duration is a duration string (e.g. 30s, 5m, 1h) that the experiment should run for
* +optional
*/
duration?: string;
/**
* Analyses reference which analysis templates to run with the experiment
* +patchMergeKey=name
* +patchStrategy=merge
*/
analyses?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutExperimentStepAnalysisTemplateRef[];
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutExperimentStepAnalysisTemplateRef {
/** Name is a name for this analysis template invocation */
name?: string;
/** TemplateName reference of the AnalysisTemplate name used by the Experiment to create the run */
templateName?: string;
/**
* Whether to look for the templateName at cluster scope or namespace scope
* +optional
*/
clusterScope?: boolean;
/**
* Args the arguments that will be added to the AnalysisRuns
* +patchMergeKey=name
* +patchStrategy=merge
*/
args?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AnalysisRunArgument[];
/** RequiredForCompletion blocks the Experiment from completing until the analysis has completed */
requiredForCompletion?: boolean;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutExperimentTemplate {
/** Name description of template that passed to the template */
name?: string;
/** SpecRef indicates where the rollout should get the RS template from */
specRef?: string;
/**
* Replicas replica count for the template
* +optional
*/
replicas?: number;
metadata?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$PodTemplateMetadata;
selector?: Schemas.k8s$io$apimachinery$pkg$apis$meta$v1$LabelSelector;
/** Weight sets the percentage of traffic the template's replicas should receive */
weight?: number;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutPause {
duration?: Schemas.k8s$io$apimachinery$pkg$util$intstr$IntOrString;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutSpec {
/**
* Number of desired pods. This is a pointer to distinguish between explicit
* zero and not specified. Defaults to 1.
* +optional
*/
replicas?: number;
selector?: Schemas.k8s$io$apimachinery$pkg$apis$meta$v1$LabelSelector;
template?: Schemas.k8s$io$api$core$v1$PodTemplateSpec;
workloadRef?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$ObjectRef;
/**
* Minimum number of seconds for which a newly created pod should be ready
* without any of its container crashing, for it to be considered available.
* Defaults to 0 (pod will be considered available as soon as it is ready)
* +optional
*/
minReadySeconds?: number;
strategy?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutStrategy;
/** The number of old ReplicaSets to retain. If unspecified, will retain 10 old ReplicaSets */
revisionHistoryLimit?: number;
/** Paused pauses the rollout at its current step. */
paused?: boolean;
/**
* ProgressDeadlineSeconds The maximum time in seconds for a rollout to
* make progress before it is considered to be failed. Argo Rollouts will
* continue to process failed rollouts and a condition with a
* ProgressDeadlineExceeded reason will be surfaced in the rollout status.
* Note that progress will not be estimated during the time a rollout is paused.
* Defaults to 600s.
*/
progressDeadlineSeconds?: number;
/**
* ProgressDeadlineAbort is whether to abort the update when ProgressDeadlineSeconds
* is exceeded if analysis is not used. Default is false.
* +optional
*/
progressDeadlineAbort?: boolean;
restartAt?: Schemas.k8s$io$apimachinery$pkg$apis$meta$v1$Time;
analysis?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AnalysisRunStrategy;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutStatus {
/** Abort cancel the current rollout progression */
abort?: boolean;
/**
* PauseConditions is a list of reasons why rollout became automatically paused (e.g.
* CanaryPauseStep, BlueGreenPause, InconclusiveAnalysis). The items in this list are populated
* by the controller but are cleared by the user (e.g. plugin, argo-cd resume action) when they
* wish to unpause. If pause conditions is empty, but controllerPause is true, it indicates
* the user manually unpaused the Rollout
*/
pauseConditions?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$PauseCondition[];
/**
* ControllerPause indicates the controller has paused the rollout. It is set to true when
* the controller adds a pause condition. This field helps to discern the scenario where a
* rollout was resumed after being paused by the controller (e.g. via the plugin). In that
* situation, the pauseConditions would have been cleared , but controllerPause would still be
* set to true.
*/
controllerPause?: boolean;
abortedAt?: Schemas.k8s$io$apimachinery$pkg$apis$meta$v1$Time;
/**
* CurrentPodHash the hash of the current pod template
* +optional
*/
currentPodHash?: string;
/**
* CurrentStepHash the hash of the current list of steps for the current strategy. This is used to detect when the
* list of current steps change
* +optional
*/
currentStepHash?: string;
/**
* Total number of non-terminated pods targeted by this rollout (their labels match the selector).
* +optional
*/
replicas?: number;
/**
* Total number of non-terminated pods targeted by this rollout that have the desired template spec.
* +optional
*/
updatedReplicas?: number;
/**
* Total number of ready pods targeted by this rollout.
* +optional
*/
readyReplicas?: number;
/**
* Total number of available pods (ready for at least minReadySeconds) targeted by this rollout.
* +optional
*/
availableReplicas?: number;
/**
* CurrentStepIndex defines the current step of the rollout is on. If the current step index is null, the
* controller will execute the rollout.
* +optional
*/
currentStepIndex?: number;
/**
* Count of hash collisions for the Rollout. The Rollout controller uses this
* field as a collision avoidance mechanism when it needs to create the name for the
* newest ReplicaSet.
* +optional
*/
collisionCount?: number;
/**
* The generation observed by the rollout controller from metadata.generation
* +optional
*/
observedGeneration?: string;
/**
* Conditions a list of conditions a rollout can have.
* +optional
*/
conditions?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutCondition[];
canary?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$CanaryStatus;
blueGreen?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$BlueGreenStatus;
/**
* HPAReplicas the number of non-terminated replicas that are receiving active traffic
* +optional
*/
HPAReplicas?: number;
/**
* Selector that identifies the pods that are receiving active traffic
* +optional
*/
selector?: string;
/**
* StableRS indicates the replicaset that has successfully rolled out
* +optional
*/
stableRS?: string;
restartedAt?: Schemas.k8s$io$apimachinery$pkg$apis$meta$v1$Time;
/** PromoteFull indicates if the rollout should perform a full promotion, skipping analysis and pauses. */
promoteFull?: boolean;
/** Phase is the rollout phase. Clients should only rely on the value if status.observedGeneration equals metadata.generation */
phase?: string;
/** Message provides details on why the rollout is in its current phase */
message?: string;
/**
* The generation of referenced workload observed by the rollout controller
* +optional
*/
workloadObservedGeneration?: string;
alb?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$ALBStatus;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutStrategy {
blueGreen?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$BlueGreenStrategy;
canary?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$CanaryStrategy;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$RolloutTrafficRouting {
istio?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$IstioTrafficRouting;
nginx?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$NginxTrafficRouting;
alb?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$ALBTrafficRouting;
smi?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$SMITrafficRouting;
ambassador?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AmbassadorTrafficRouting;
appMesh?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$AppMeshTrafficRouting;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$SMITrafficRouting {
/**
* RootService holds the name of that clients use to communicate.
* +optional
*/
rootService?: string;
/**
* TrafficSplitName holds the name of the TrafficSplit.
* +optional
*/
trafficSplitName?: string;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$SetCanaryScale {
/**
* Weight sets the percentage of replicas the newRS should have
* +optional
*/
weight?: number;
/**
* Replicas sets the number of replicas the newRS should have
* +optional
*/
replicas?: number;
/**
* MatchTrafficWeight cancels out previously set Replicas or Weight, effectively activating SetWeight
* +optional
*/
matchTrafficWeight?: boolean;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$StickinessConfig {
enabled?: boolean;
durationSeconds?: string;
}
/** TLSRoute holds the information on the virtual service's TLS/HTTPS routes that are desired to be matched for changing weights. */
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$TLSRoute {
/** Port number of the TLS Route desired to be matched in the given Istio VirtualService. */
port?: string;
/** A list of all the SNI Hosts of the TLS Route desired to be matched in the given Istio VirtualService. */
sniHosts?: string[];
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$TrafficWeights {
canary?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$WeightDestination;
stable?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$WeightDestination;
/** Additional holds the weights split to additional ReplicaSets such as experiment ReplicaSets */
additional?: Schemas.github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$WeightDestination[];
/**
* Verified is an optional indicator that the weight has been verified to have taken effect.
* This is currently only applicable to ALB traffic router
*/
verified?: boolean;
}
interface github$com$argoproj$argo_rollouts$pkg$apis$rollouts$v1alpha1$WeightDestination {
/** Weight is an percentage of traffic being sent to this destination */
weight?: number;
/** ServiceName is the Kubernetes service name traffic is being sent to */
serviceName?: string;
/** PodTemplateHash is the pod template hash label for this destination */
podTemplateHash?: string;
}
interface google$protobuf$Any {
type_url?: string;
value?: Blob;
}
interface grpc$gateway$runtime$Error {
error?: string;
code?: number;
message?: string;
details?: Schemas.google$protobuf$Any[];
}
interface grpc$gateway$runtime$StreamError {
grpc_code?: number;
http_code?: number;
message?: string;
http_status?: string;
details?: Schemas.google$protobuf$Any[];
}
/**
* Represents a Persistent Disk resource in AWS.
*
* An AWS EBS disk must exist before mounting to a container. The disk
* must also be in the same AWS zone as the kubelet. An AWS EBS disk
* can only be mounted as read/write once. AWS EBS volumes support
* ownership management and SELinux relabeling.
*/
interface k8s$io$api$core$v1$AWSElasticBlockStoreVolumeSource {
/**
* Unique ID of the persistent disk resource in AWS (Amazon EBS volume).
* More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
*/
volumeID?: string;
/**
* Filesystem type of the volume that you want to mount.
* Tip: Ensure that the filesystem type is supported by the host operating system.
* Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
* More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
* TODO: how do we prevent errors in the filesystem from compromising the machine
* +optional
*/
fsType?: string;
/**
* The partition in the volume that you want to mount.
* If omitted, the default is to mount by volume name.
* Examples: For volume /dev/sda1, you specify the partition as "1".
* Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
* +optional
*/
partition?: number;
/**
* Specify "true" to force and set the ReadOnly property in VolumeMounts to "true".
* If omitted, the default is "false".
* More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
* +optional
*/
readOnly?: boolean;
}
/** Affinity is a group of affinity scheduling rules. */
interface k8s$io$api$core$v1$Affinity {
nodeAffinity?: Schemas.k8s$io$api$core$v1$NodeAffinity;
podAffinity?: Schemas.k8s$io$api$core$v1$PodAffinity;
podAntiAffinity?: Schemas.k8s$io$api$core$v1$PodAntiAffinity;
}
/** AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. */
interface k8s$io$api$core$v1$AzureDiskVolumeSource {
/** The Name of the data disk in the blob storage */
diskName?: string;
/** The URI the data disk in the blob storage */
diskURI?: string;
/**
* Host Caching mode: None, Read Only, Read Write.
* +optional
*/
cachingMode?: string;
/**
* Filesystem type to mount.
* Must be a filesystem type supported by the host operating system.
* Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
* +optional
*/
fsType?: string;
/**
* Defaults to false (read/write). ReadOnly here will force
* the ReadOnly setting in VolumeMounts.
* +optional
*/
readOnly?: boolean;
/** Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared */
kind?: string;
}
/** AzureFile represents an Azure File Service mount on the host and bind mount to the pod. */
interface k8s$io$api$core$v1$AzureFileVolumeSource {
/** the name of secret that contains Azure Storage Account Name and Key */
secretName?: string;
/** Share Name */
shareName?: string;
/**
* Defaults to false (read/write). ReadOnly here will force
* the ReadOnly setting in VolumeMounts.
* +optional
*/
readOnly?: boolean;
}
interface k8s$io$api$core$v1$CSIVolumeSource {
/**
* Driver is the name of the CSI driver that handles this volume.
* Consult with your admin for the correct name as registered in the cluster.
*/
driver?: string;
/**
* Specifies a read-only configuration for the volume.
* Defaults to false (read/write).
* +optional
*/
readOnly?: boolean;
/**
* Filesystem type to mount. Ex. "ext4", "xfs", "ntfs".
* If not provided, the empty value is passed to the associated CSI driver
* which will determine the default filesystem to apply.
* +optional
*/
fsType?: string;
/**
* VolumeAttributes stores driver-specific properties that are passed to the CSI
* driver. Consult your driver's documentation for supported values.
* +optional
*/
volumeAttributes?: {
[key: string]: string;
};
nodePublishSecretRef?: Schemas.k8s$io$api$core$v1$LocalObjectReference;
}
/** Adds and removes POSIX capabilities from running containers. */
interface k8s$io$api$core$v1$Capabilities {
/**
* Added capabilities
* +optional
*/
add?: string[];
/**
* Removed capabilities
* +optional
*/
drop?: string[];
}
/**
* Represents a Ceph Filesystem mount that lasts the lifetime of a pod
* Cephfs volumes do not support ownership management or SELinux relabeling.
*/
interface k8s$io$api$core$v1$CephFSVolumeSource {
/**
* Required: Monitors is a collection of Ceph monitors
* More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
*/
monitors?: string[];
/**
* Optional: Used as the mounted root, rather than the full Ceph tree, default is /
* +optional
*/
path?: string;
/**
* Optional: User is the rados user name, default is admin
* More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
* +optional
*/
user?: string;
/**
* Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
* More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
* +optional
*/
secretFile?: string;
secretRef?: Schemas.k8s$io$api$core$v1$LocalObjectReference;
/**
* Optional: Defaults to false (read/write). ReadOnly here will force
* the ReadOnly setting in VolumeMounts.
* More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
* +optional
*/
readOnly?: boolean;
}
/**
* Represents a cinder volume resource in Openstack.
* A Cinder volume must exist before mounting to a container.
* The volume must also be in the same region as the kubelet.
* Cinder volumes support ownership management and SELinux relabeling.
*/
interface k8s$io$api$core$v1$CinderVolumeSource {
/**
* volume id used to identify the volume in cinder.
* More info: https://examples.k8s.io/mysql-cinder-pd/README.md
*/
volumeID?: string;
/**
* Filesystem type to mount.
* Must be a filesystem type supported by the host operating system.
* Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
* More info: https://examples.k8s.io/mysql-cinder-pd/README.md
* +optional
*/
fsType?: string;
/**
* Optional: Defaults to false (read/write). ReadOnly here will force
* the ReadOnly setting in VolumeMounts.
* More info: https://examples.k8s.io/mysql-cinder-pd/README.md
* +optional
*/
readOnly?: boolean;
secretRef?: Schemas.k8s$io$api$core$v1$LocalObjectReference;
}
/**
* ConfigMapEnvSource selects a ConfigMap to populate the environment
* variables with.
*
* The contents of the target ConfigMap's Data field will represent the
* key-value pairs as environment variables.
*/
interface k8s$io$api$core$v1$ConfigMapEnvSource {
localObjectReference?: Schemas.k8s$io$api$core$v1$LocalObjectReference;
/**
* Specify whether the ConfigMap must be defined
* +optional
*/
optional?: boolean;
}
interface k8s$io$api$core$v1$ConfigMapKeySelector {
localObjectReference?: Schemas.k8s$io$api$core$v1$LocalObjectReference;
/** The key to select. */
key?: string;
/**
* Specify whether the ConfigMap or its key must be defined
* +optional
*/
optional?: boolean;
}
/**
* Adapts a ConfigMap into a projected volume.
*
* The contents of the target ConfigMap's Data field will be presented in a
* projected volume as files using the keys in the Data field as the file names,
* unless the items element is populated with specific mappings of keys to paths.
* Note that this is identical to a configmap volume source without the default
* mode.
*/
interface k8s$io$api$core$v1$ConfigMapProjection {
localObjectReference?: Schemas.k8s$io$api$core$v1$LocalObjectReference;
/**
* If unspecified, each key-value pair in the Data field of the referenced
* ConfigMap will be projected into the volume as a file whose name is the
* key and content is the value. If specified, the listed keys will be
* projected into the specified paths, and unlisted keys will not be
* present. If a key is specified which is not present in the ConfigMap,
* the volume setup will error unless it is marked optional. Paths must be
* relative and may not contain the '..' path or start with '..'.
* +optional
*/
items?: Schemas.k8s$io$api$core$v1$KeyToPath[];
/**
* Specify whether the ConfigMap or its keys must be defined
* +optional
*/
optional?: boolean;
}
/**
* Adapts a ConfigMap into a volume.
*
* The contents of the target ConfigMap's Data field will be presented in a
* volume as files using the keys in the Data field as the file names, unless
* the items element is populated with specific mappings of keys to paths.
* ConfigMap volumes support ownership management and SELinux relabeling.
*/
interface k8s$io$api$core$v1$ConfigMapVolumeSource {
localObjectReference?: Schemas.k8s$io$api$core$v1$LocalObjectReference;
/**
* If unspecified, each key-value pair in the Data field of the referenced
* ConfigMap will be projected into the volume as a file whose name is the
* key and content is the value. If specified, the listed keys will be
* projected into the specified paths, and unlisted keys will not be
* present. If a key is specified which is not present in the ConfigMap,
* the volume setup will error unless it is marked optional. Paths must be
* relative and may not contain the '..' path or start with '..'.
* +optional
*/
items?: Schemas.k8s$io$api$core$v1$KeyToPath[];
/**
* Optional: mode bits used to set permissions on created files by default.
* Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
* YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
* Defaults to 0644.
* Directories within the path are not affected by this setting.
* This might be in conflict with other options that affect the file
* mode, like fsGroup, and the result can be other mode bits set.
* +optional
*/
defaultMode?: number;
/**
* Specify whether the ConfigMap or its keys must be defined
* +optional
*/
optional?: boolean;
}
/** A single application container that you want to run within a pod. */
interface k8s$io$api$core$v1$Container {
/**
* Name of the container specified as a DNS_LABEL.
* Each container in a pod must have a unique name (DNS_LABEL).
* Cannot be updated.
*/
name?: string;
/**
* Docker image name.
* More info: https://kubernetes.io/docs/concepts/containers/images
* This field is optional to allow higher level config management to default or override
* container images in workload controllers like Deployments and StatefulSets.
* +optional
*/
image?: string;
/**
* Entrypoint array. Not executed within a shell.
* The docker image's ENTRYPOINT is used if this is not provided.
* Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
* cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
* to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
* produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
* of whether the variable exists or not. Cannot be updated.
* More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
* +optional
*/
command?: string[];
/**
* Arguments to the entrypoint.
* The docker image's CMD is used if this is not provided.
* Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
* cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
* to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
* produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
* of whether the variable exists or not. Cannot be updated.
* More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
* +optional
*/
args?: string[];
/**
* Container's working directory.
* If not specified, the container runtime's default will be used, which
* might be configured in the container image.
* Cannot be updated.
* +optional
*/
workingDir?: string;
/**