UNPKG

@soft-stech/argo-rollouts

Version:
909 lines 81.6 kB
import { IObjectMeta } from "@soft-stech/apimachinery/apis/meta/v1/ObjectMeta"; import { Model, ModelData } from "@soft-stech/base"; export interface IClusterAnalysisTemplate { "apiVersion": "argoproj.io/v1alpha1"; "kind": "ClusterAnalysisTemplate"; "metadata"?: IObjectMeta; "spec": { "args"?: Array<{ "name": string; "value"?: string; "valueFrom"?: { "fieldRef"?: { "fieldPath": string; }; "secretKeyRef"?: { "key": string; "name": string; }; }; }>; "dryRun"?: Array<{ "metricName": string; }>; "measurementRetention"?: Array<{ /** * * @format int32 */ "limit": number; "metricName": string; }>; "metrics": Array<{ "consecutiveErrorLimit"?: number | string; "count"?: number | string; "failureCondition"?: string; "failureLimit"?: number | string; "inconclusiveLimit"?: number | string; "initialDelay"?: string; "interval"?: string; "name": string; "provider": { "cloudWatch"?: { "interval"?: string; "metricDataQueries": Array<{ "expression"?: string; "id"?: string; "label"?: string; "metricStat"?: { "metric"?: { "dimensions"?: Array<{ "name"?: string; "value"?: string; }>; "metricName"?: string; "namespace"?: string; }; "period"?: number | string; "stat"?: string; "unit"?: string; }; "period"?: number | string; "returnData"?: boolean; }>; }; "datadog"?: { "apiVersion"?: string; "interval"?: string; "query": string; }; "graphite"?: { "address"?: string; "query"?: string; }; "influxdb"?: { "profile"?: string; "query"?: string; }; "job"?: { "metadata"?: { "annotations"?: Record<string, string>; "labels"?: Record<string, string>; }; "spec": { /** * * @format int64 */ "activeDeadlineSeconds"?: number; /** * * @format int32 */ "backoffLimit"?: number; "completionMode"?: string; /** * * @format int32 */ "completions"?: number; "manualSelector"?: boolean; /** * * @format int32 */ "parallelism"?: number; "podFailurePolicy"?: { "rules": Array<{ "action": string; "onExitCodes"?: { "containerName"?: string; "operator": string; "values": Array<number>; }; "onPodConditions": Array<{ "status": string; "type": string; }>; }>; }; "selector"?: { "matchExpressions"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; "matchLabels"?: Record<string, string>; }; "suspend"?: boolean; "template": { "metadata"?: { "annotations"?: Record<string, string>; "labels"?: Record<string, string>; }; "spec"?: { /** * * @format int64 */ "activeDeadlineSeconds"?: number; "affinity"?: { "nodeAffinity"?: { "preferredDuringSchedulingIgnoredDuringExecution"?: Array<{ "preference": { "matchExpressions"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; "matchFields"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; }; /** * * @format int32 */ "weight": number; }>; "requiredDuringSchedulingIgnoredDuringExecution"?: { "nodeSelectorTerms": Array<{ "matchExpressions"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; "matchFields"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; }>; }; }; "podAffinity"?: { "preferredDuringSchedulingIgnoredDuringExecution"?: Array<{ "podAffinityTerm": { "labelSelector"?: { "matchExpressions"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; "matchLabels"?: Record<string, string>; }; "namespaceSelector"?: { "matchExpressions"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; "matchLabels"?: Record<string, string>; }; "namespaces"?: Array<string>; "topologyKey": string; }; /** * * @format int32 */ "weight": number; }>; "requiredDuringSchedulingIgnoredDuringExecution"?: Array<{ "labelSelector"?: { "matchExpressions"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; "matchLabels"?: Record<string, string>; }; "namespaceSelector"?: { "matchExpressions"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; "matchLabels"?: Record<string, string>; }; "namespaces"?: Array<string>; "topologyKey": string; }>; }; "podAntiAffinity"?: { "preferredDuringSchedulingIgnoredDuringExecution"?: Array<{ "podAffinityTerm": { "labelSelector"?: { "matchExpressions"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; "matchLabels"?: Record<string, string>; }; "namespaceSelector"?: { "matchExpressions"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; "matchLabels"?: Record<string, string>; }; "namespaces"?: Array<string>; "topologyKey": string; }; /** * * @format int32 */ "weight": number; }>; "requiredDuringSchedulingIgnoredDuringExecution"?: Array<{ "labelSelector"?: { "matchExpressions"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; "matchLabels"?: Record<string, string>; }; "namespaceSelector"?: { "matchExpressions"?: Array<{ "key": string; "operator": string; "values"?: Array<string>; }>; "matchLabels"?: Record<string, string>; }; "namespaces"?: Array<string>; "topologyKey": string; }>; }; }; "automountServiceAccountToken"?: boolean; "containers": Array<{ "args"?: Array<string>; "command"?: Array<string>; "env"?: Array<{ "name": string; "value"?: string; "valueFrom"?: { "configMapKeyRef"?: { "key": string; "name"?: string; "optional"?: boolean; }; "fieldRef"?: { "apiVersion"?: string; "fieldPath": string; }; "resourceFieldRef"?: { "containerName"?: string; /** * * @schema union([z.number(), z.string().regex(/^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$/)]).optional() */ "divisor"?: number | string; "resource": string; }; "secretKeyRef"?: { "key": string; "name"?: string; "optional"?: boolean; }; }; }>; "envFrom"?: Array<{ "configMapRef"?: { "name"?: string; "optional"?: boolean; }; "prefix"?: string; "secretRef"?: { "name"?: string; "optional"?: boolean; }; }>; "image"?: string; "imagePullPolicy"?: string; "lifecycle"?: { "postStart"?: { "exec"?: { "command"?: Array<string>; }; "httpGet"?: { "host"?: string; "httpHeaders"?: Array<{ "name": string; "value": string; }>; "path"?: string; "port": number | string; "scheme"?: string; }; "tcpSocket"?: { "host"?: string; "port": number | string; }; }; "preStop"?: { "exec"?: { "command"?: Array<string>; }; "httpGet"?: { "host"?: string; "httpHeaders"?: Array<{ "name": string; "value": string; }>; "path"?: string; "port": number | string; "scheme"?: string; }; "tcpSocket"?: { "host"?: string; "port": number | string; }; }; }; "livenessProbe"?: { "exec"?: { "command"?: Array<string>; }; /** * * @format int32 */ "failureThreshold"?: number; "grpc"?: { /** * * @format int32 */ "port": number; "service"?: string; }; "httpGet"?: { "host"?: string; "httpHeaders"?: Array<{ "name": string; "value": string; }>; "path"?: string; "port": number | string; "scheme"?: string; }; /** * * @format int32 */ "initialDelaySeconds"?: number; /** * * @format int32 */ "periodSeconds"?: number; /** * * @format int32 */ "successThreshold"?: number; "tcpSocket"?: { "host"?: string; "port": number | string; }; /** * * @format int64 */ "terminationGracePeriodSeconds"?: number; /** * * @format int32 */ "timeoutSeconds"?: number; }; "name": string; "ports"?: Array<{ /** * * @format int32 */ "containerPort": number; "hostIP"?: string; /** * * @format int32 */ "hostPort"?: number; "name"?: string; /** * * @default "TCP" */ "protocol"?: string; }>; "readinessProbe"?: { "exec"?: { "command"?: Array<string>; }; /** * * @format int32 */ "failureThreshold"?: number; "grpc"?: { /** * * @format int32 */ "port": number; "service"?: string; }; "httpGet"?: { "host"?: string; "httpHeaders"?: Array<{ "name": string; "value": string; }>; "path"?: string; "port": number | string; "scheme"?: string; }; /** * * @format int32 */ "initialDelaySeconds"?: number; /** * * @format int32 */ "periodSeconds"?: number; /** * * @format int32 */ "successThreshold"?: number; "tcpSocket"?: { "host"?: string; "port": number | string; }; /** * * @format int64 */ "terminationGracePeriodSeconds"?: number; /** * * @format int32 */ "timeoutSeconds"?: number; }; "resources"?: { "limits"?: any; "requests"?: any; }; "securityContext"?: { "allowPrivilegeEscalation"?: boolean; "capabilities"?: { "add"?: Array<string>; "drop"?: Array<string>; }; "privileged"?: boolean; "procMount"?: string; "readOnlyRootFilesystem"?: boolean; /** * * @format int64 */ "runAsGroup"?: number; "runAsNonRoot"?: boolean; /** * * @format int64 */ "runAsUser"?: number; "seLinuxOptions"?: { "level"?: string; "role"?: string; "type"?: string; "user"?: string; }; "seccompProfile"?: { "localhostProfile"?: string; "type": string; }; "windowsOptions"?: { "gmsaCredentialSpec"?: string; "gmsaCredentialSpecName"?: string; "hostProcess"?: boolean; "runAsUserName"?: string; }; }; "startupProbe"?: { "exec"?: { "command"?: Array<string>; }; /** * * @format int32 */ "failureThreshold"?: number; "grpc"?: { /** * * @format int32 */ "port": number; "service"?: string; }; "httpGet"?: { "host"?: string; "httpHeaders"?: Array<{ "name": string; "value": string; }>; "path"?: string; "port": number | string; "scheme"?: string; }; /** * * @format int32 */ "initialDelaySeconds"?: number; /** * * @format int32 */ "periodSeconds"?: number; /** * * @format int32 */ "successThreshold"?: number; "tcpSocket"?: { "host"?: string; "port": number | string; }; /** * * @format int64 */ "terminationGracePeriodSeconds"?: number; /** * * @format int32 */ "timeoutSeconds"?: number; }; "stdin"?: boolean; "stdinOnce"?: boolean; "terminationMessagePath"?: string; "terminationMessagePolicy"?: string; "tty"?: boolean; "volumeDevices"?: Array<{ "devicePath": string; "name": string; }>; "volumeMounts"?: Array<{ "mountPath": string; "mountPropagation"?: string; "name": string; "readOnly"?: boolean; "subPath"?: string; "subPathExpr"?: string; }>; "workingDir"?: string; }>; "dnsConfig"?: { "nameservers"?: Array<string>; "options"?: Array<{ "name"?: string; "value"?: string; }>; "searches"?: Array<string>; }; "dnsPolicy"?: string; "enableServiceLinks"?: boolean; "ephemeralContainers"?: Array<{ "args"?: Array<string>; "command"?: Array<string>; "env"?: Array<{ "name": string; "value"?: string; "valueFrom"?: { "configMapKeyRef"?: { "key": string; "name"?: string; "optional"?: boolean; }; "fieldRef"?: { "apiVersion"?: string; "fieldPath": string; }; "resourceFieldRef"?: { "containerName"?: string; /** * * @schema union([z.number(), z.string().regex(/^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$/)]).optional() */ "divisor"?: number | string; "resource": string; }; "secretKeyRef"?: { "key": string; "name"?: string; "optional"?: boolean; }; }; }>; "envFrom"?: Array<{ "configMapRef"?: { "name"?: string; "optional"?: boolean; }; "prefix"?: string; "secretRef"?: { "name"?: string; "optional"?: boolean; }; }>; "image"?: string; "imagePullPolicy"?: string; "lifecycle"?: { "postStart"?: { "exec"?: { "command"?: Array<string>; }; "httpGet"?: { "host"?: string; "httpHeaders"?: Array<{ "name": string; "value": string; }>; "path"?: string; "port": number | string; "scheme"?: string; }; "tcpSocket"?: { "host"?: string; "port": number | string; }; }; "preStop"?: { "exec"?: { "command"?: Array<string>; }; "httpGet"?: { "host"?: string; "httpHeaders"?: Array<{ "name": string; "value": string; }>; "path"?: string; "port": number | string; "scheme"?: string; }; "tcpSocket"?: { "host"?: string; "port": number | string; }; }; }; "livenessProbe"?: { "exec"?: { "command"?: Array<string>; }; /** * * @format int32 */ "failureThreshold"?: number; "grpc"?: { /** * * @format int32 */ "port": number; "service"?: string; }; "httpGet"?: { "host"?: string; "httpHeaders"?: Array<{ "name": string; "value": string; }>; "path"?: string; "port": number | string; "scheme"?: string; }; /** * * @format int32 */ "initialDelaySeconds"?: number; /** * * @format int32 */ "periodSeconds"?: number; /** * * @format int32 */ "successThreshold"?: number; "tcpSocket"?: { "host"?: string; "port": number | string; }; /** * * @format int64 */ "terminationGracePeriodSeconds"?: number; /** * * @format int32 */ "timeoutSeconds"?: number; }; "name": string; "ports"?: Array<{ /** * * @format int32 */ "containerPort": number; "hostIP"?: string; /** * * @format int32 */ "hostPort"?: number; "name"?: string; /** * * @default "TCP" */ "protocol"?: string; }>; "readinessProbe"?: { "exec"?: { "command"?: Array<string>; }; /** * * @format int32 */ "failureThreshold"?: number; "grpc"?: { /** * * @format int32 */ "port": number; "service"?: string; }; "httpGet"?: { "host"?: string; "httpHeaders"?: Array<{ "name": string; "value": string; }>; "path"?: string; "port": number | string; "scheme"?: string; }; /** * * @format int32 */ "initialDelaySeconds"?: number; /** * * @format int32 */ "periodSeconds"?: number; /** * * @format int32 */ "successThreshold"?: number; "tcpSocket"?: { "host"?: string; "port": number | string; }; /** * * @format int64 */ "terminationGracePeriodSeconds"?: number; /** * * @format int32 */ "timeoutSeconds"?: number; }; "resources"?: { "limits"?: any; "requests"?: any; }; "securityContext"?: { "allowPrivilegeEscalation"?: boolean; "capabilities"?: { "add"?: Array<string>; "drop"?: Array<string>; }; "privileged"?: boolean; "procMount"?: string; "readOnlyRootFilesystem"?: boolean; /** * * @format int64 */ "runAsGroup"?: number; "runAsNonRoot"?: boolean; /** * * @format int64 */ "runAsUser"?: number; "seLinuxOptions"?: { "level"?: string; "role"?: string; "type"?: string; "user"?: string; }; "seccompProfile"?: { "localhostProfile"?: string; "type": string; }; "windowsOptions"?: { "gmsaCredentialSpec"?: string; "gmsaCredentialSpecName"?: string; "hostProcess"?: boolean; "runAsUserName"?: string; }; }; "startupProbe"?: { "exec"?: { "command"?: Array<string>; }; /** * * @format int32 */ "failureThreshold"?: number; "grpc"?: { /** * * @format int32 */ "port": number; "service"?: string; }; "httpGet"?: { "host"?: string; "httpHeaders"?: Array<{ "name": string; "value": string; }>; "path"?: string; "port": number | string; "scheme"?: string; }; /**