UNPKG

@soft-stech/fleet

Version:
1,019 lines (1,018 loc) 76.1 kB
import { addSchema } from "@soft-stech/apimachinery/_schemas/IoK8sApimachineryPkgApisMetaV1ObjectMeta"; import { Model, setSchema, createTypeMetaGuard } from "@soft-stech/base"; import { register } from "@soft-stech/validate"; const schemaId = "fleet.cattle.io.v1alpha1.Bundle"; const schema = { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ "fleet.cattle.io/v1alpha1" ] }, "kind": { "type": "string", "enum": [ "Bundle" ] }, "metadata": { "oneOf": [ { "$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta#" }, { "type": "null" } ] }, "spec": { "properties": { "contentsId": { "nullable": true, "type": "string" }, "correctDrift": { "properties": { "enabled": { "type": "boolean", "nullable": true }, "force": { "type": "boolean", "nullable": true }, "keepFailHistory": { "type": "boolean", "nullable": true } }, "type": "object", "nullable": true }, "defaultNamespace": { "nullable": true, "type": "string" }, "deleteCRDResources": { "type": "boolean", "nullable": true }, "deleteNamespace": { "type": "boolean", "nullable": true }, "dependsOn": { "items": { "properties": { "name": { "nullable": true, "type": "string" }, "selector": { "nullable": true, "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "nullable": true }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true } }, "type": "object" } }, "type": "object" }, "nullable": true, "type": "array" }, "diff": { "nullable": true, "properties": { "comparePatches": { "items": { "properties": { "apiVersion": { "nullable": true, "type": "string" }, "jsonPointers": { "items": { "type": "string" }, "nullable": true, "type": "array" }, "kind": { "nullable": true, "type": "string" }, "name": { "nullable": true, "type": "string" }, "namespace": { "nullable": true, "type": "string" }, "operations": { "items": { "properties": { "op": { "nullable": true, "type": "string" }, "path": { "nullable": true, "type": "string" }, "value": { "nullable": true, "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" } }, "type": "object" }, "nullable": true, "type": "array" } }, "type": "object" }, "forceSyncGeneration": { "format": "int64", "type": "integer", "nullable": true }, "helm": { "nullable": true, "properties": { "atomic": { "type": "boolean", "nullable": true }, "chart": { "nullable": true, "type": "string" }, "disableDNS": { "type": "boolean", "nullable": true }, "disableDependencyUpdate": { "type": "boolean", "nullable": true }, "disablePreProcess": { "type": "boolean", "nullable": true }, "force": { "type": "boolean", "nullable": true }, "maxHistory": { "type": "integer", "nullable": true }, "releaseName": { "maxLength": 53, "nullable": true, "type": "string", "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$" }, "repo": { "nullable": true, "type": "string" }, "skipSchemaValidation": { "type": "boolean", "nullable": true }, "takeOwnership": { "type": "boolean", "nullable": true }, "timeoutSeconds": { "type": "integer", "nullable": true }, "values": { "nullable": true, "type": "object", "properties": {} }, "valuesFiles": { "items": { "type": "string" }, "nullable": true, "type": "array" }, "valuesFrom": { "items": { "properties": { "configMapKeyRef": { "nullable": true, "properties": { "key": { "nullable": true, "type": "string" }, "name": { "nullable": true, "type": "string" }, "namespace": { "nullable": true, "type": "string" } }, "type": "object" }, "secretKeyRef": { "nullable": true, "properties": { "key": { "nullable": true, "type": "string" }, "name": { "nullable": true, "type": "string" }, "namespace": { "nullable": true, "type": "string" } }, "type": "object" } }, "type": "object" }, "nullable": true, "type": "array" }, "version": { "nullable": true, "type": "string" }, "waitForJobs": { "type": "boolean", "nullable": true } }, "type": "object" }, "ignore": { "properties": { "conditions": { "items": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {} }, "nullable": true, "type": "array" } }, "type": "object", "nullable": true }, "keepResources": { "type": "boolean", "nullable": true }, "kustomize": { "nullable": true, "properties": { "dir": { "nullable": true, "type": "string" } }, "type": "object" }, "namespace": { "nullable": true, "type": "string" }, "namespaceAnnotations": { "additionalProperties": { "type": "string" }, "nullable": true, "type": "object", "properties": {} }, "namespaceLabels": { "additionalProperties": { "type": "string" }, "nullable": true, "type": "object", "properties": {} }, "paused": { "type": "boolean", "nullable": true }, "resources": { "items": { "properties": { "content": { "nullable": true, "type": "string" }, "encoding": { "nullable": true, "type": "string" }, "name": { "nullable": true, "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" }, "rolloutStrategy": { "nullable": true, "properties": { "autoPartitionSize": { "oneOf": [ { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "nullable": true }, { "type": "null" } ] }, "maxUnavailable": { "oneOf": [ { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "nullable": true }, { "type": "null" } ] }, "maxUnavailablePartitions": { "oneOf": [ { "anyOf": [ { "type": "integer" }, { "type": "string" } ], "nullable": true }, { "type": "null" } ] }, "partitions": { "items": { "properties": { "clusterGroup": { "type": "string", "nullable": true }, "clusterGroupSelector": { "nullable": true, "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "nullable": true }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true } }, "type": "object" }, "clusterName": { "type": "string", "nullable": true }, "clusterSelector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "nullable": true }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true } }, "type": "object", "nullable": true }, "maxUnavailable": { "oneOf": [ { "anyOf": [ { "type": "integer" }, { "type": "string" } ] }, { "type": "null" } ] }, "name": { "nullable": true, "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" } }, "type": "object" }, "serviceAccount": { "nullable": true, "type": "string" }, "targetRestrictions": { "items": { "properties": { "clusterGroup": { "nullable": true, "type": "string" }, "clusterGroupSelector": { "nullable": true, "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "nullable": true }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true } }, "type": "object" }, "clusterName": { "nullable": true, "type": "string" }, "clusterSelector": { "nullable": true, "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "nullable": true }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true } }, "type": "object" }, "name": { "nullable": true, "type": "string" } }, "type": "object" }, "type": "array", "nullable": true }, "targets": { "items": { "properties": { "clusterGroup": { "nullable": true, "type": "string" }, "clusterGroupSelector": { "nullable": true, "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "nullable": true }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true } }, "type": "object" }, "clusterName": { "nullable": true, "type": "string" }, "clusterSelector": { "nullable": true, "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "nullable": true }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true } }, "type": "object" }, "correctDrift": { "properties": { "enabled": { "type": "boolean", "nullable": true }, "force": { "type": "boolean", "nullable": true }, "keepFailHistory": { "type": "boolean", "nullable": true } }, "type": "object", "nullable": true }, "defaultNamespace": { "nullable": true, "type": "string" }, "deleteCRDResources": { "type": "boolean", "nullable": true }, "deleteNamespace": { "type": "boolean", "nullable": true }, "diff": { "nullable": true, "properties": { "comparePatches": { "items": { "properties": { "apiVersion": { "nullable": true, "type": "string" }, "jsonPointers": { "items": { "type": "string" }, "nullable": true, "type": "array" }, "kind": { "nullable": true, "type": "string" }, "name": { "nullable": true, "type": "string" }, "namespace": { "nullable": true, "type": "string" }, "operations": { "items": { "properties": { "op": { "nullable": true, "type": "string" }, "path": { "nullable": true, "type": "string" }, "value": { "nullable": true, "type": "string" } }, "type": "object" }, "nullable": true, "type": "array" } }, "type": "object" }, "nullable": true, "type": "array" } }, "type": "object" }, "doNotDeploy": { "type": "boolean", "nullable": true }, "forceSyncGeneration": { "format": "int64", "type": "integer", "nullable": true }, "helm": { "nullable": true, "properties": { "atomic": { "type": "boolean", "nullable": true }, "chart": { "nullable": true, "type": "string" }, "disableDNS": { "type": "boolean", "nullable": true }, "disableDependencyUpdate": { "type": "boolean", "nullable": true }, "disablePreProcess": { "type": "boolean", "nullable": true }, "force": { "type": "boolean", "nullable": true }, "maxHistory": { "type": "integer", "nullable": true }, "releaseName": { "maxLength": 53, "nullable": true, "type": "string", "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$" }, "repo": { "nullable": true, "type": "string" }, "skipSchemaValidation": { "type": "boolean", "nullable": true }, "takeOwnership": { "type": "boolean", "nullable": true }, "timeoutSeconds": { "type": "integer", "nullable": true }, "values": { "nullable": true, "type": "object", "properties": {} }, "valuesFiles": { "items": { "type": "string" }, "nullable": true, "type": "array" }, "valuesFrom": { "items": { "properties": { "configMapKeyRef": { "nullable": true, "properties": { "key": { "nullable": true, "type": "string" }, "name": { "nullable": true, "type": "string" }, "namespace": { "nullable": true, "type": "string" } }, "type": "object" }, "secretKeyRef": { "nullable": true, "properties": { "key": { "nullable": true, "type": "string" }, "name": { "nullable": true, "type": "string" }, "namespace": { "nullable": true, "type": "string" } }, "type": "object" } }, "type": "object" }, "nullable": true, "type": "array" }, "version": { "nullable": true, "type": "string" }, "waitForJobs": { "type": "boolean", "nullable": true } }, "type": "object" }, "ignore": { "properties": { "conditions": { "items": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {} }, "nullable": true, "type": "array" } }, "type": "object", "nullable": true }, "keepResources": { "type": "boolean", "nullable": true }, "kustomize": { "nullable": true, "properties": { "dir": { "nullable": true, "type": "string" } }, "type": "object" }, "name": { "type": "string", "nullable": true }, "namespace": { "nullable": true, "type": "string" }, "namespaceAnnotations": { "additionalProperties": { "type": "string" }, "nullable": true, "type": "object", "properties": {}