Files
json-schema/k8sgencli/schema.multi-latest.json
T

1353 lines
27 KiB
JSON

{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ProjectGenMultiFileConfig",
"type": "object",
"additionalProperties": false,
"properties": {
"Suffix": {
"type": [
"null",
"string"
]
},
"Projects": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/ProjectGenFileConfig"
}
},
"Jenkins": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/ProjectGenMultiFileConfigJenkins"
}
]
}
},
"definitions": {
"ProjectGenFileConfig": {
"type": "object",
"additionalProperties": false,
"required": [
"Path"
],
"properties": {
"Name": {
"type": [
"null",
"string"
]
},
"Path": {
"type": "string",
"minLength": 1
},
"ConfigFile": {
"type": [
"null",
"string"
]
},
"Suffix": {
"type": [
"null",
"string"
]
},
"ConfigJson": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/ProjectConfig"
}
]
},
"OutFolder": {
"type": [
"null",
"string"
]
},
"ParallelGroup": {
"type": [
"null",
"string"
]
}
}
},
"ProjectConfig": {
"type": "object",
"additionalProperties": false,
"properties": {
"Suffix": {
"type": [
"null",
"string"
]
},
"Dockerfile": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/DockerfileConfig"
}
]
},
"GenDockerfile": {
"type": "boolean"
},
"GenJenkinsfile": {
"type": "boolean"
},
"GenK8sDeployment": {
"type": "boolean"
},
"Jenkinsfile": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/JenkinsFileConfig"
}
]
},
"K8SDeployment": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/K8sDeploymentConfig"
}
]
},
"NugetFile": {
"type": [
"null",
"string"
]
},
"OutFolder": {
"type": [
"null",
"string"
]
},
"ProjectFolderFull": {
"type": [
"null",
"string"
]
},
"ProjectFolderName": {
"type": [
"null",
"string"
]
},
"Root2ProjectDir": {
"type": [
"null",
"string"
]
}
}
},
"DockerfileConfig": {
"type": "object",
"additionalProperties": false,
"properties": {
"Suffix": {
"type": [
"null",
"string"
]
},
"ExposePorts": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/PortConfig"
}
},
"Image": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/DockerImage"
}
]
},
"ImageRuntime": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/DockerImage"
}
]
},
"ImageSdk": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/DockerImage"
}
]
},
"NugetCacheId": {
"type": [
"null",
"string"
]
},
"BuildArgs": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
},
"SystemBuildArgs": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
}
},
"PortConfig": {
"type": "object",
"additionalProperties": false,
"required": [
"Port"
],
"properties": {
"Port": {
"type": "integer",
"format": "int32",
"maximum": 65000.0,
"minimum": 0.0
},
"Name": {
"type": [
"null",
"string"
]
},
"Protocol": {
"type": [
"null",
"string"
]
}
}
},
"DockerImage": {
"type": "object",
"additionalProperties": false,
"properties": {
"BashInits": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"DOTNET_SYSTEM_GLOBALIZATION_INVARIANT": {
"type": [
"boolean",
"null"
]
},
"EnvInits": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"Image": {
"type": [
"null",
"string"
]
},
"Tag": {
"type": [
"null",
"string"
]
},
"Version": {
"type": [
"null",
"string"
]
}
}
},
"JenkinsFileConfig": {
"type": "object",
"additionalProperties": false,
"properties": {
"GenLatestTag": {
"type": "boolean"
},
"GenStageBuild": {
"type": "boolean"
},
"GenStageDeploy": {
"type": "boolean"
},
"GenStagePush": {
"type": "boolean"
},
"GenStageValidateRunning": {
"type": "boolean"
}
}
},
"K8sDeploymentConfig": {
"type": "object",
"additionalProperties": false,
"properties": {
"Name": {
"type": [
"null",
"string"
]
},
"Suffix": {
"type": [
"null",
"string"
]
},
"Replicas": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"ServiceSpec": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/K8sServiceSpec"
}
]
},
"Containers": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/K8sContainer"
}
},
"DeploymentStrategy": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/K8sDeploymentStrategy"
}
]
},
"Volumes": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/K8sVolume"
}
},
"Annotations": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
},
"NodeSelector": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
},
"Affinity": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/AffinityV1"
}
]
}
}
},
"K8sServiceSpec": {
"type": "object",
"additionalProperties": false,
"properties": {
"Type": {
"$ref": "#/definitions/K8sServiceSpecType"
},
"Ports": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/K8sServiceSpectPortConfig"
}
}
}
},
"K8sServiceSpecType": {
"type": "string",
"description": "",
"x-enumNames": [
"ClusterIP",
"NodePort",
"ExternalName",
"LoadBalancer"
],
"enum": [
"ClusterIP",
"NodePort",
"ExternalName",
"LoadBalancer"
]
},
"K8sServiceSpectPortConfig": {
"type": "object",
"additionalProperties": false,
"required": [
"TargetPort",
"Port"
],
"properties": {
"Protocol": {
"type": [
"null",
"string"
]
},
"Name": {
"type": [
"null",
"string"
]
},
"TargetPort": {
"type": "integer",
"format": "int32",
"maximum": 65000.0,
"minimum": 0.0
},
"Port": {
"type": "integer",
"format": "int32",
"maximum": 65000.0,
"minimum": 0.0
},
"NodePort": {
"type": [
"integer",
"null"
],
"format": "int32",
"maximum": 65000.0,
"minimum": 0.0
}
}
},
"K8sContainer": {
"type": "object",
"additionalProperties": false,
"properties": {
"Image": {
"type": [
"null",
"string"
]
},
"ImagePullPolicy": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/K8sImagePullPolicy"
}
]
},
"Name": {
"type": [
"null",
"string"
]
},
"Resources": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/K8sContainerResources"
}
]
},
"Args": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"Env": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/K8sContainerEnv"
}
},
"VolumeMounts": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/K8sContainerVolumeMount"
}
},
"Ports": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/K8sContainerPort"
}
},
"LivenessProbe": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/ProbeV1"
}
]
},
"ReadinessProbe": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/ProbeV1"
}
]
}
}
},
"K8sImagePullPolicy": {
"type": "string",
"description": "",
"x-enumNames": [
"IfNotPresent",
"Always",
"Never"
],
"enum": [
"IfNotPresent",
"Always",
"Never"
]
},
"K8sContainerResources": {
"type": "object",
"additionalProperties": false,
"properties": {
"Limits": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/K8sContainerResource"
}
]
},
"Requests": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/K8sContainerResource"
}
]
}
}
},
"K8sContainerResource": {
"type": "object",
"additionalProperties": false,
"properties": {
"CPU": {
"type": [
"null",
"string"
]
},
"Memory": {
"type": [
"null",
"string"
]
}
}
},
"K8sContainerEnv": {
"type": "object",
"additionalProperties": false,
"properties": {
"Name": {
"type": [
"null",
"string"
]
},
"Value": {
"type": [
"null",
"string"
]
}
}
},
"K8sContainerVolumeMount": {
"type": "object",
"additionalProperties": false,
"required": [
"Name",
"MountPath"
],
"properties": {
"Name": {
"type": "string",
"minLength": 1
},
"MountPath": {
"type": "string",
"minLength": 1
}
}
},
"K8sContainerPort": {
"type": "object",
"additionalProperties": false,
"required": [
"Name",
"ContainerPort"
],
"properties": {
"Name": {
"type": "string",
"minLength": 1
},
"ContainerPort": {
"type": "integer",
"format": "int32",
"maximum": 65500.0,
"minimum": 1.0
},
"Protocol": {
"type": [
"null",
"string"
]
}
}
},
"ProbeV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"Exec": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/ExecActionV1"
}
]
},
"Grpc": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/GRPCActionV1"
}
]
},
"FailureThreshold": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"SuccessThreshold": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"InitialDelaySeconds": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"PeriodSeconds": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"TerminationGracePeriodSeconds": {
"type": [
"integer",
"null"
],
"format": "int64"
},
"TimeoutSeconds": {
"type": [
"integer",
"null"
],
"format": "int32"
},
"HttpGet": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/HTTPGetActionV1"
}
]
},
"TcpSocket": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/TCPSocketActionV1"
}
]
}
}
},
"ExecActionV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"Command": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
}
}
},
"GRPCActionV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"Service": {
"type": [
"null",
"string"
]
},
"Port": {
"type": "integer",
"format": "int32"
}
}
},
"HTTPGetActionV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"Scheme": {
"type": [
"null",
"string"
]
},
"Path": {
"type": [
"null",
"string"
]
},
"HttpHeaders": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/HTTPHeaderV1"
}
},
"Host": {
"type": [
"null",
"string"
]
},
"Port": {
"type": [
"null",
"number",
"string"
]
}
}
},
"HTTPHeaderV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"Name": {
"type": [
"null",
"string"
]
},
"Value": {
"type": [
"null",
"string"
]
}
}
},
"TCPSocketActionV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"Host": {
"type": [
"null",
"string"
]
},
"Port": {
"type": [
"null",
"number",
"string"
]
}
}
},
"K8sDeploymentStrategy": {
"type": "object",
"additionalProperties": false,
"properties": {
"Type": {
"$ref": "#/definitions/K8sDeploymentStrategyType"
},
"RollingUpdate": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/K8sDeploymentStrategyRollingUpdate"
}
]
}
}
},
"K8sDeploymentStrategyType": {
"type": "string",
"description": "",
"x-enumNames": [
"Recreate",
"RollingUpdate",
"Custom"
],
"enum": [
"Recreate",
"RollingUpdate",
"Custom"
]
},
"K8sDeploymentStrategyRollingUpdate": {
"type": "object",
"additionalProperties": false,
"properties": {
"MaxSurge": {
"type": "integer",
"format": "int32"
},
"MaxUnavailable": {
"type": "integer",
"format": "int32"
}
}
},
"K8sVolume": {
"type": "object",
"additionalProperties": false,
"required": [
"Name"
],
"properties": {
"Name": {
"type": "string",
"minLength": 1
},
"ConfigMap": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/K8sVolumeConfigMap"
}
]
}
}
},
"K8sVolumeConfigMap": {
"type": "object",
"additionalProperties": false,
"required": [
"Name"
],
"properties": {
"Name": {
"type": "string",
"minLength": 1
}
}
},
"AffinityV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"NodeAffinity": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/NodeAffinityV1"
}
]
},
"PodAffinity": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/PodAffinityV1"
}
]
},
"PodAntiAffinity": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/PodAntiAffinityV1"
}
]
}
}
},
"NodeAffinityV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"PreferredDuringSchedulingIgnoredDuringExecution": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/PreferredSchedulingTermV1"
}
},
"RequiredDuringSchedulingIgnoredDuringExecution": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/NodeSelectorV1"
}
]
}
}
},
"PreferredSchedulingTermV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"Preference": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/NodeSelectorTermV1"
}
]
},
"Weight": {
"type": "integer",
"format": "int32"
}
}
},
"NodeSelectorTermV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"MatchExpressions": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/NodeSelectorRequirementV1"
}
},
"MatchFields": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/NodeSelectorRequirementV1"
}
}
}
},
"NodeSelectorRequirementV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"Operator": {
"type": [
"null",
"string"
]
},
"Values": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"Key": {
"type": [
"null",
"string"
]
}
}
},
"NodeSelectorV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"NodeSelectorTerms": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/NodeSelectorTermV1"
}
}
}
},
"PodAffinityV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"PreferredDuringSchedulingIgnoredDuringExecution": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/WeightedPodAffinityTermV1"
}
},
"RequiredDuringSchedulingIgnoredDuringExecution": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/PodAffinityTermV1"
}
}
}
},
"WeightedPodAffinityTermV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"PodAffinityTerm": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/PodAffinityTermV1"
}
]
},
"Weight": {
"type": "integer",
"format": "int32"
}
}
},
"PodAffinityTermV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"LabelSelector": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/LabelSelectorV1"
}
]
},
"NamespaceSelector": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/definitions/LabelSelectorV1"
}
]
},
"MatchLabelKeys": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"MismatchLabelKeys": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"Namespaces": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"TopologyKey": {
"type": [
"null",
"string"
]
}
}
},
"LabelSelectorV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"MatchExpressions": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/LabelSelectorRequirementV1"
}
},
"MatchLabels": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "string"
}
}
}
},
"LabelSelectorRequirementV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"Operator": {
"type": [
"null",
"string"
]
},
"Values": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"Key": {
"type": [
"null",
"string"
]
}
}
},
"PodAntiAffinityV1": {
"type": "object",
"additionalProperties": false,
"properties": {
"PreferredDuringSchedulingIgnoredDuringExecution": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/WeightedPodAffinityTermV1"
}
},
"RequiredDuringSchedulingIgnoredDuringExecution": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/definitions/PodAffinityTermV1"
}
}
}
},
"ProjectGenMultiFileConfigJenkins": {
"type": "object",
"additionalProperties": false,
"properties": {
"FileName": {
"type": [
"null",
"string"
]
},
"UseParallel": {
"type": "boolean"
},
"FailFast": {
"type": "boolean"
},
"IsGenFile": {
"type": "boolean"
},
"UseGenMulti": {
"type": "boolean"
},
"UseCIGen": {
"type": "boolean"
}
}
}
}
}