Add JSON schema generation for kubeconform CRD validation
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/kubeconform Pipeline was successful

- ci/generate-schemas.sh generates schemas from CRD manifests and K8s swagger
- Sources: ArgoCD v3.3.2, Gateway API v1.5.1, Kubernetes v1.33.7
- Optionally fetches live cluster CRDs via kubectl when available
- Generated schemas committed to schemas/ for CI use
- Run `make schemas` to regenerate after CRD version bumps
- validate-apps.sh and validate-clusters.sh check local schemas first
This commit is contained in:
2026-06-28 16:53:11 +10:00
parent cfca1e5278
commit 06c3c59ea2
565 changed files with 150484 additions and 0 deletions
@@ -0,0 +1,142 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"asNumber": {
"format": "int32",
"type": "integer"
},
"bindMode": {
"type": "string"
},
"communities": {
"items": {
"properties": {
"name": {
"type": "string"
},
"value": {
"pattern": "^(\\d+):(\\d+)$|^(\\d+):(\\d+):(\\d+)$",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"ignoredInterfaces": {
"items": {
"type": "string"
},
"type": "array"
},
"listenPort": {
"maximum": 65535,
"minimum": 1,
"type": "integer"
},
"localWorkloadPeeringIPV4": {
"type": "string"
},
"localWorkloadPeeringIPV6": {
"type": "string"
},
"logSeverityScreen": {
"type": "string"
},
"nodeMeshMaxRestartTime": {
"type": "string"
},
"nodeMeshPassword": {
"properties": {
"secretKeyRef": {
"properties": {
"key": {
"type": "string"
},
"name": {
"default": "",
"type": "string"
},
"optional": {
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object",
"x-kubernetes-map-type": "atomic"
}
},
"type": "object"
},
"nodeToNodeMeshEnabled": {
"type": "boolean"
},
"prefixAdvertisements": {
"items": {
"properties": {
"cidr": {
"type": "string"
},
"communities": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"type": "array"
},
"serviceClusterIPs": {
"items": {
"properties": {
"cidr": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"serviceExternalIPs": {
"items": {
"properties": {
"cidr": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"serviceLoadBalancerIPs": {
"items": {
"properties": {
"cidr": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,192 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"exportV4": {
"items": {
"properties": {
"action": {
"type": "string"
},
"cidr": {
"type": "string"
},
"interface": {
"type": "string"
},
"matchOperator": {
"type": "string"
},
"prefixLength": {
"properties": {
"max": {
"format": "int32",
"maximum": 32,
"minimum": 0,
"type": "integer"
},
"min": {
"format": "int32",
"maximum": 32,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"source": {
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"exportV6": {
"items": {
"properties": {
"action": {
"type": "string"
},
"cidr": {
"type": "string"
},
"interface": {
"type": "string"
},
"matchOperator": {
"type": "string"
},
"prefixLength": {
"properties": {
"max": {
"format": "int32",
"maximum": 128,
"minimum": 0,
"type": "integer"
},
"min": {
"format": "int32",
"maximum": 128,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"source": {
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"importV4": {
"items": {
"properties": {
"action": {
"type": "string"
},
"cidr": {
"type": "string"
},
"interface": {
"type": "string"
},
"matchOperator": {
"type": "string"
},
"prefixLength": {
"properties": {
"max": {
"format": "int32",
"maximum": 32,
"minimum": 0,
"type": "integer"
},
"min": {
"format": "int32",
"maximum": 32,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"source": {
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"importV6": {
"items": {
"properties": {
"action": {
"type": "string"
},
"cidr": {
"type": "string"
},
"interface": {
"type": "string"
},
"matchOperator": {
"type": "string"
},
"prefixLength": {
"properties": {
"max": {
"format": "int32",
"maximum": 128,
"minimum": 0,
"type": "integer"
},
"min": {
"format": "int32",
"maximum": 128,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"source": {
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,114 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"asNumber": {
"format": "int32",
"type": "integer"
},
"filters": {
"items": {
"type": "string"
},
"type": "array"
},
"keepOriginalNextHop": {
"type": "boolean"
},
"localWorkloadSelector": {
"type": "string"
},
"maxRestartTime": {
"type": "string"
},
"nextHopMode": {
"allOf": [
{
"enum": [
"Auto",
"Self",
"Keep"
]
},
{
"enum": [
"Auto",
"Self",
"Keep"
]
}
],
"type": "string"
},
"node": {
"type": "string"
},
"nodeSelector": {
"type": "string"
},
"numAllowedLocalASNumbers": {
"format": "int32",
"type": "integer"
},
"password": {
"properties": {
"secretKeyRef": {
"properties": {
"key": {
"type": "string"
},
"name": {
"default": "",
"type": "string"
},
"optional": {
"type": "boolean"
}
},
"required": [
"key"
],
"type": "object",
"x-kubernetes-map-type": "atomic"
}
},
"type": "object"
},
"peerIP": {
"type": "string"
},
"peerSelector": {
"type": "string"
},
"reachableBy": {
"type": "string"
},
"reversePeering": {
"enum": [
"Auto",
"Manual"
],
"type": "string"
},
"sourceAddress": {
"type": "string"
},
"ttlSecurity": {
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,41 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"cidr": {
"type": "string"
},
"deleted": {
"type": "string"
},
"node": {
"type": "string"
},
"state": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"cidr",
"deleted",
"node",
"state"
],
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,218 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"classes": {
"items": {
"type": "string"
},
"type": "array"
},
"node": {
"type": "string"
},
"updatePeriodSeconds": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"status": {
"properties": {
"agent": {
"properties": {
"birdV4": {
"properties": {
"lastBootTime": {
"type": "string"
},
"lastReconfigurationTime": {
"type": "string"
},
"routerID": {
"type": "string"
},
"state": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"birdV6": {
"properties": {
"lastBootTime": {
"type": "string"
},
"lastReconfigurationTime": {
"type": "string"
},
"routerID": {
"type": "string"
},
"state": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"bgp": {
"properties": {
"numberEstablishedV4": {
"type": "integer"
},
"numberEstablishedV6": {
"type": "integer"
},
"numberNotEstablishedV4": {
"type": "integer"
},
"numberNotEstablishedV6": {
"type": "integer"
},
"peersV4": {
"items": {
"properties": {
"peerIP": {
"type": "string"
},
"since": {
"type": "string"
},
"state": {
"type": "string"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"peersV6": {
"items": {
"properties": {
"peerIP": {
"type": "string"
},
"since": {
"type": "string"
},
"state": {
"type": "string"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"numberEstablishedV4",
"numberEstablishedV6",
"numberNotEstablishedV4",
"numberNotEstablishedV6"
],
"type": "object"
},
"lastUpdated": {
"format": "date-time",
"nullable": true,
"type": "string"
},
"routes": {
"properties": {
"routesV4": {
"items": {
"properties": {
"destination": {
"type": "string"
},
"gateway": {
"type": "string"
},
"interface": {
"type": "string"
},
"learnedFrom": {
"properties": {
"peerIP": {
"type": "string"
},
"sourceType": {
"type": "string"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"routesV6": {
"items": {
"properties": {
"destination": {
"type": "string"
},
"gateway": {
"type": "string"
},
"interface": {
"type": "string"
},
"learnedFrom": {
"properties": {
"peerIP": {
"type": "string"
},
"sourceType": {
"type": "string"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,35 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"calicoVersion": {
"type": "string"
},
"clusterGUID": {
"type": "string"
},
"clusterType": {
"type": "string"
},
"datastoreReady": {
"type": "boolean"
},
"variant": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,759 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"allowIPIPPacketsFromWorkloads": {
"type": "boolean"
},
"allowVXLANPacketsFromWorkloads": {
"type": "boolean"
},
"awsSrcDstCheck": {
"enum": [
"DoNothing",
"Enable",
"Disable"
],
"type": "string"
},
"bpfCTLBLogFilter": {
"type": "string"
},
"bpfConnectTimeLoadBalancing": {
"enum": [
"TCP",
"Enabled",
"Disabled"
],
"type": "string"
},
"bpfConnectTimeLoadBalancingEnabled": {
"type": "boolean"
},
"bpfConntrackLogLevel": {
"enum": [
"Off",
"Debug"
],
"type": "string"
},
"bpfConntrackMode": {
"enum": [
"Auto",
"Userspace",
"BPFProgram"
],
"type": "string"
},
"bpfConntrackTimeouts": {
"properties": {
"creationGracePeriod": {
"pattern": "^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$",
"type": "string"
},
"genericTimeout": {
"pattern": "^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$",
"type": "string"
},
"icmpTimeout": {
"pattern": "^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$",
"type": "string"
},
"tcpEstablished": {
"pattern": "^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$",
"type": "string"
},
"tcpFinsSeen": {
"pattern": "^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$",
"type": "string"
},
"tcpResetSeen": {
"pattern": "^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$",
"type": "string"
},
"tcpSynSent": {
"pattern": "^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$",
"type": "string"
},
"udpTimeout": {
"pattern": "^(([0-9]*(\\.[0-9]*)?(ms|s|h|m|us)+)+|Auto)$",
"type": "string"
}
},
"type": "object"
},
"bpfDSROptoutCIDRs": {
"items": {
"type": "string"
},
"type": "array"
},
"bpfDataIfacePattern": {
"type": "string"
},
"bpfDisableGROForIfaces": {
"type": "string"
},
"bpfDisableUnprivileged": {
"type": "boolean"
},
"bpfEnabled": {
"type": "boolean"
},
"bpfEnforceRPF": {
"pattern": "^(?i)(Disabled|Strict|Loose)?$",
"type": "string"
},
"bpfExcludeCIDRsFromNAT": {
"items": {
"type": "string"
},
"type": "array"
},
"bpfExportBufferSizeMB": {
"type": "integer"
},
"bpfExtToServiceConnmark": {
"type": "integer"
},
"bpfExternalServiceMode": {
"pattern": "^(?i)(Tunnel|DSR)?$",
"type": "string"
},
"bpfForceTrackPacketsFromIfaces": {
"items": {
"type": "string"
},
"type": "array"
},
"bpfHostConntrackBypass": {
"type": "boolean"
},
"bpfHostNetworkedNATWithoutCTLB": {
"enum": [
"Enabled",
"Disabled"
],
"type": "string"
},
"bpfKubeProxyEndpointSlicesEnabled": {
"type": "boolean"
},
"bpfKubeProxyIptablesCleanupEnabled": {
"type": "boolean"
},
"bpfKubeProxyMinSyncPeriod": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"bpfL3IfacePattern": {
"type": "string"
},
"bpfLogFilters": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"bpfLogLevel": {
"pattern": "^(?i)(Off|Info|Debug)?$",
"type": "string"
},
"bpfMapSizeConntrack": {
"type": "integer"
},
"bpfMapSizeConntrackCleanupQueue": {
"minimum": 1,
"type": "integer"
},
"bpfMapSizeConntrackScaling": {
"pattern": "^(?i)(Disabled|DoubleIfFull)?$",
"type": "string"
},
"bpfMapSizeIPSets": {
"type": "integer"
},
"bpfMapSizeIfState": {
"type": "integer"
},
"bpfMapSizeNATAffinity": {
"type": "integer"
},
"bpfMapSizeNATBackend": {
"type": "integer"
},
"bpfMapSizeNATFrontend": {
"type": "integer"
},
"bpfMapSizePerCpuConntrack": {
"type": "integer"
},
"bpfMapSizeRoute": {
"type": "integer"
},
"bpfPSNATPorts": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"bpfPolicyDebugEnabled": {
"type": "boolean"
},
"bpfProfiling": {
"enum": [
"Enabled",
"Disabled"
],
"type": "string"
},
"bpfRedirectToPeer": {
"enum": [
"Enabled",
"Disabled",
"L2Only"
],
"type": "string"
},
"chainInsertMode": {
"pattern": "^(?i)(Insert|Append)?$",
"type": "string"
},
"dataplaneDriver": {
"type": "string"
},
"dataplaneWatchdogTimeout": {
"type": "string"
},
"debugDisableLogDropping": {
"type": "boolean"
},
"debugHost": {
"type": "string"
},
"debugMemoryProfilePath": {
"type": "string"
},
"debugPort": {
"type": "integer"
},
"debugSimulateCalcGraphHangAfter": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"debugSimulateDataplaneApplyDelay": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"debugSimulateDataplaneHangAfter": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"defaultEndpointToHostAction": {
"pattern": "^(?i)(Drop|Accept|Return)?$",
"type": "string"
},
"deviceRouteProtocol": {
"type": "integer"
},
"deviceRouteSourceAddress": {
"type": "string"
},
"deviceRouteSourceAddressIPv6": {
"type": "string"
},
"disableConntrackInvalidCheck": {
"type": "boolean"
},
"endpointReportingDelay": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"endpointReportingEnabled": {
"type": "boolean"
},
"endpointStatusPathPrefix": {
"type": "string"
},
"externalNodesList": {
"items": {
"type": "string"
},
"type": "array"
},
"failsafeInboundHostPorts": {
"items": {
"properties": {
"net": {
"type": "string"
},
"port": {
"type": "integer"
},
"protocol": {
"type": "string"
}
},
"required": [
"port"
],
"type": "object"
},
"type": "array"
},
"failsafeOutboundHostPorts": {
"items": {
"properties": {
"net": {
"type": "string"
},
"port": {
"type": "integer"
},
"protocol": {
"type": "string"
}
},
"required": [
"port"
],
"type": "object"
},
"type": "array"
},
"featureDetectOverride": {
"pattern": "^([a-zA-Z0-9-_]+=(true|false|),)*([a-zA-Z0-9-_]+=(true|false|))?$",
"type": "string"
},
"featureGates": {
"pattern": "^([a-zA-Z0-9-_]+=([^=]+),)*([a-zA-Z0-9-_]+=([^=]+))?$",
"type": "string"
},
"floatingIPs": {
"enum": [
"Enabled",
"Disabled"
],
"type": "string"
},
"flowLogsCollectorDebugTrace": {
"type": "boolean"
},
"flowLogsFlushInterval": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"flowLogsGoldmaneServer": {
"type": "string"
},
"flowLogsLocalReporter": {
"enum": [
"Disabled",
"Enabled"
],
"type": "string"
},
"flowLogsPolicyEvaluationMode": {
"enum": [
"None",
"Continuous"
],
"type": "string"
},
"genericXDPEnabled": {
"type": "boolean"
},
"goGCThreshold": {
"type": "integer"
},
"goMaxProcs": {
"type": "integer"
},
"goMemoryLimitMB": {
"type": "integer"
},
"healthEnabled": {
"type": "boolean"
},
"healthHost": {
"type": "string"
},
"healthPort": {
"type": "integer"
},
"healthTimeoutOverrides": {
"items": {
"properties": {
"name": {
"type": "string"
},
"timeout": {
"type": "string"
}
},
"required": [
"name",
"timeout"
],
"type": "object"
},
"type": "array"
},
"interfaceExclude": {
"type": "string"
},
"interfacePrefix": {
"type": "string"
},
"interfaceRefreshInterval": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"ipForwarding": {
"enum": [
"Enabled",
"Disabled"
],
"type": "string"
},
"ipipEnabled": {
"type": "boolean"
},
"ipipMTU": {
"type": "integer"
},
"ipsetsRefreshInterval": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"iptablesBackend": {
"pattern": "^(?i)(Auto|Legacy|NFT)?$",
"type": "string"
},
"iptablesFilterAllowAction": {
"pattern": "^(?i)(Accept|Return)?$",
"type": "string"
},
"iptablesFilterDenyAction": {
"pattern": "^(?i)(Drop|Reject)?$",
"type": "string"
},
"iptablesLockFilePath": {
"type": "string"
},
"iptablesLockProbeInterval": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"iptablesLockTimeout": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"iptablesMangleAllowAction": {
"pattern": "^(?i)(Accept|Return)?$",
"type": "string"
},
"iptablesMarkMask": {
"format": "int32",
"type": "integer"
},
"iptablesNATOutgoingInterfaceFilter": {
"type": "string"
},
"iptablesPostWriteCheckInterval": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"iptablesRefreshInterval": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"ipv6Support": {
"type": "boolean"
},
"kubeNodePortRanges": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"logDebugFilenameRegex": {
"type": "string"
},
"logFilePath": {
"type": "string"
},
"logPrefix": {
"type": "string"
},
"logSeverityFile": {
"pattern": "^(?i)(Trace|Debug|Info|Warning|Error|Fatal)?$",
"type": "string"
},
"logSeverityScreen": {
"pattern": "^(?i)(Trace|Debug|Info|Warning|Error|Fatal)?$",
"type": "string"
},
"logSeveritySys": {
"pattern": "^(?i)(Trace|Debug|Info|Warning|Error|Fatal)?$",
"type": "string"
},
"maxIpsetSize": {
"type": "integer"
},
"metadataAddr": {
"type": "string"
},
"metadataPort": {
"type": "integer"
},
"mtuIfacePattern": {
"type": "string"
},
"natOutgoingAddress": {
"type": "string"
},
"natPortRange": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"netlinkTimeout": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"nftablesFilterAllowAction": {
"pattern": "^(?i)(Accept|Return)?$",
"type": "string"
},
"nftablesFilterDenyAction": {
"pattern": "^(?i)(Drop|Reject)?$",
"type": "string"
},
"nftablesMangleAllowAction": {
"pattern": "^(?i)(Accept|Return)?$",
"type": "string"
},
"nftablesMarkMask": {
"format": "int32",
"type": "integer"
},
"nftablesMode": {
"enum": [
"Disabled",
"Enabled",
"Auto"
],
"type": "string"
},
"nftablesRefreshInterval": {
"type": "string"
},
"openstackRegion": {
"type": "string"
},
"policySyncPathPrefix": {
"type": "string"
},
"prometheusGoMetricsEnabled": {
"type": "boolean"
},
"prometheusMetricsEnabled": {
"type": "boolean"
},
"prometheusMetricsHost": {
"type": "string"
},
"prometheusMetricsPort": {
"type": "integer"
},
"prometheusProcessMetricsEnabled": {
"type": "boolean"
},
"prometheusWireGuardMetricsEnabled": {
"type": "boolean"
},
"removeExternalRoutes": {
"type": "boolean"
},
"reportingInterval": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"reportingTTL": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"routeRefreshInterval": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"routeSource": {
"pattern": "^(?i)(WorkloadIPs|CalicoIPAM)?$",
"type": "string"
},
"routeSyncDisabled": {
"type": "boolean"
},
"routeTableRange": {
"properties": {
"max": {
"type": "integer"
},
"min": {
"type": "integer"
}
},
"required": [
"max",
"min"
],
"type": "object"
},
"routeTableRanges": {
"items": {
"properties": {
"max": {
"type": "integer"
},
"min": {
"type": "integer"
}
},
"required": [
"max",
"min"
],
"type": "object"
},
"type": "array"
},
"serviceLoopPrevention": {
"pattern": "^(?i)(Drop|Reject|Disabled)?$",
"type": "string"
},
"sidecarAccelerationEnabled": {
"type": "boolean"
},
"usageReportingEnabled": {
"type": "boolean"
},
"usageReportingInitialDelay": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"usageReportingInterval": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"useInternalDataplaneDriver": {
"type": "boolean"
},
"vxlanEnabled": {
"type": "boolean"
},
"vxlanMTU": {
"type": "integer"
},
"vxlanMTUV6": {
"type": "integer"
},
"vxlanPort": {
"type": "integer"
},
"vxlanVNI": {
"type": "integer"
},
"windowsManageFirewallRules": {
"enum": [
"Enabled",
"Disabled"
],
"type": "string"
},
"wireguardEnabled": {
"type": "boolean"
},
"wireguardEnabledV6": {
"type": "boolean"
},
"wireguardHostEncryptionEnabled": {
"type": "boolean"
},
"wireguardInterfaceName": {
"type": "string"
},
"wireguardInterfaceNameV6": {
"type": "string"
},
"wireguardKeepAlive": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
},
"wireguardListeningPort": {
"type": "integer"
},
"wireguardListeningPortV6": {
"type": "integer"
},
"wireguardMTU": {
"type": "integer"
},
"wireguardMTUV6": {
"type": "integer"
},
"wireguardRoutingRulePriority": {
"type": "integer"
},
"wireguardThreadingEnabled": {
"type": "boolean"
},
"workloadSourceSpoofing": {
"pattern": "^(?i)(Disabled|Any)?$",
"type": "string"
},
"xdpEnabled": {
"type": "boolean"
},
"xdpRefreshInterval": {
"pattern": "^([0-9]+(\\\\.[0-9]+)?(ms|s|m|h))*$",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,578 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"applyOnForward": {
"type": "boolean"
},
"doNotTrack": {
"type": "boolean"
},
"egress": {
"items": {
"properties": {
"action": {
"type": "string"
},
"destination": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"http": {
"properties": {
"methods": {
"items": {
"type": "string"
},
"type": "array"
},
"paths": {
"items": {
"properties": {
"exact": {
"type": "string"
},
"prefix": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"icmp": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"ipVersion": {
"type": "integer"
},
"metadata": {
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"notICMP": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"notProtocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"protocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"source": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"ingress": {
"items": {
"properties": {
"action": {
"type": "string"
},
"destination": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"http": {
"properties": {
"methods": {
"items": {
"type": "string"
},
"type": "array"
},
"paths": {
"items": {
"properties": {
"exact": {
"type": "string"
},
"prefix": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"icmp": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"ipVersion": {
"type": "integer"
},
"metadata": {
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"notICMP": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"notProtocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"protocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"source": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"namespaceSelector": {
"type": "string"
},
"order": {
"type": "number"
},
"performanceHints": {
"items": {
"type": "string"
},
"type": "array"
},
"preDNAT": {
"type": "boolean"
},
"selector": {
"type": "string"
},
"serviceAccountSelector": {
"type": "string"
},
"tier": {
"type": "string"
},
"types": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,26 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"nets": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,69 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"expectedIPs": {
"items": {
"type": "string"
},
"type": "array"
},
"interfaceName": {
"type": "string"
},
"node": {
"type": "string"
},
"ports": {
"items": {
"properties": {
"name": {
"type": "string"
},
"port": {
"type": "integer"
},
"protocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
}
},
"required": [
"name",
"port",
"protocol"
],
"type": "object"
},
"type": "array"
},
"profiles": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,81 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"affinity": {
"type": "string"
},
"allocations": {
"items": {
"nullable": true,
"type": "integer"
},
"type": "array"
},
"attributes": {
"items": {
"properties": {
"handle_id": {
"type": "string"
},
"secondary": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"type": "array"
},
"cidr": {
"type": "string"
},
"deleted": {
"type": "boolean"
},
"sequenceNumber": {
"default": 0,
"format": "int64",
"type": "integer"
},
"sequenceNumberForAllocation": {
"additionalProperties": {
"format": "int64",
"type": "integer"
},
"type": "object"
},
"strictAffinity": {
"type": "boolean"
},
"unallocated": {
"items": {
"type": "integer"
},
"type": "array"
}
},
"required": [
"allocations",
"attributes",
"cidr",
"strictAffinity",
"unallocated"
],
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,35 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"autoAllocateBlocks": {
"type": "boolean"
},
"maxBlocksPerHost": {
"maximum": 2147483647,
"minimum": 0,
"type": "integer"
},
"strictAffinity": {
"type": "boolean"
}
},
"required": [
"autoAllocateBlocks",
"strictAffinity"
],
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,36 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"block": {
"additionalProperties": {
"type": "integer"
},
"type": "object"
},
"deleted": {
"type": "boolean"
},
"handleID": {
"type": "string"
}
},
"required": [
"block",
"handleID"
],
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,74 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"allowedUses": {
"items": {
"type": "string"
},
"type": "array"
},
"assignmentMode": {
"enum": [
"Automatic",
"Manual"
],
"type": "string"
},
"blockSize": {
"type": "integer"
},
"cidr": {
"type": "string"
},
"disableBGPExport": {
"type": "boolean"
},
"disabled": {
"type": "boolean"
},
"ipip": {
"properties": {
"enabled": {
"type": "boolean"
},
"mode": {
"type": "string"
}
},
"type": "object"
},
"ipipMode": {
"type": "string"
},
"nat-outgoing": {
"type": "boolean"
},
"natOutgoing": {
"type": "boolean"
},
"nodeSelector": {
"type": "string"
},
"vxlanMode": {
"type": "string"
}
},
"required": [
"cidr"
],
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,26 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"reservedCIDRs": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,266 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"controllers": {
"properties": {
"loadBalancer": {
"properties": {
"assignIPs": {
"type": "string"
}
},
"type": "object"
},
"namespace": {
"properties": {
"reconcilerPeriod": {
"type": "string"
}
},
"type": "object"
},
"node": {
"properties": {
"hostEndpoint": {
"properties": {
"autoCreate": {
"type": "string"
},
"createDefaultHostEndpoint": {
"type": "string"
},
"templates": {
"items": {
"properties": {
"generateName": {
"type": "string"
},
"interfaceCIDRs": {
"items": {
"type": "string"
},
"type": "array"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"nodeSelector": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"leakGracePeriod": {
"type": "string"
},
"reconcilerPeriod": {
"type": "string"
},
"syncLabels": {
"type": "string"
}
},
"type": "object"
},
"policy": {
"properties": {
"reconcilerPeriod": {
"type": "string"
}
},
"type": "object"
},
"serviceAccount": {
"properties": {
"reconcilerPeriod": {
"type": "string"
}
},
"type": "object"
},
"workloadEndpoint": {
"properties": {
"reconcilerPeriod": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"debugProfilePort": {
"format": "int32",
"type": "integer"
},
"etcdV3CompactionPeriod": {
"type": "string"
},
"healthChecks": {
"type": "string"
},
"logSeverityScreen": {
"type": "string"
},
"prometheusMetricsPort": {
"type": "integer"
}
},
"required": [
"controllers"
],
"type": "object"
},
"status": {
"properties": {
"environmentVars": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"runningConfig": {
"properties": {
"controllers": {
"properties": {
"loadBalancer": {
"properties": {
"assignIPs": {
"type": "string"
}
},
"type": "object"
},
"namespace": {
"properties": {
"reconcilerPeriod": {
"type": "string"
}
},
"type": "object"
},
"node": {
"properties": {
"hostEndpoint": {
"properties": {
"autoCreate": {
"type": "string"
},
"createDefaultHostEndpoint": {
"type": "string"
},
"templates": {
"items": {
"properties": {
"generateName": {
"type": "string"
},
"interfaceCIDRs": {
"items": {
"type": "string"
},
"type": "array"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"nodeSelector": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"leakGracePeriod": {
"type": "string"
},
"reconcilerPeriod": {
"type": "string"
},
"syncLabels": {
"type": "string"
}
},
"type": "object"
},
"policy": {
"properties": {
"reconcilerPeriod": {
"type": "string"
}
},
"type": "object"
},
"serviceAccount": {
"properties": {
"reconcilerPeriod": {
"type": "string"
}
},
"type": "object"
},
"workloadEndpoint": {
"properties": {
"reconcilerPeriod": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"debugProfilePort": {
"format": "int32",
"type": "integer"
},
"etcdV3CompactionPeriod": {
"type": "string"
},
"healthChecks": {
"type": "string"
},
"logSeverityScreen": {
"type": "string"
},
"prometheusMetricsPort": {
"type": "integer"
}
},
"required": [
"controllers"
],
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,566 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"egress": {
"items": {
"properties": {
"action": {
"type": "string"
},
"destination": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"http": {
"properties": {
"methods": {
"items": {
"type": "string"
},
"type": "array"
},
"paths": {
"items": {
"properties": {
"exact": {
"type": "string"
},
"prefix": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"icmp": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"ipVersion": {
"type": "integer"
},
"metadata": {
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"notICMP": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"notProtocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"protocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"source": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"ingress": {
"items": {
"properties": {
"action": {
"type": "string"
},
"destination": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"http": {
"properties": {
"methods": {
"items": {
"type": "string"
},
"type": "array"
},
"paths": {
"items": {
"properties": {
"exact": {
"type": "string"
},
"prefix": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"icmp": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"ipVersion": {
"type": "integer"
},
"metadata": {
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"notICMP": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"notProtocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"protocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"source": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"order": {
"type": "number"
},
"performanceHints": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccountSelector": {
"type": "string"
},
"tier": {
"type": "string"
},
"types": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,26 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"nets": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,581 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"applyOnForward": {
"type": "boolean"
},
"doNotTrack": {
"type": "boolean"
},
"egress": {
"items": {
"properties": {
"action": {
"type": "string"
},
"destination": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"http": {
"properties": {
"methods": {
"items": {
"type": "string"
},
"type": "array"
},
"paths": {
"items": {
"properties": {
"exact": {
"type": "string"
},
"prefix": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"icmp": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"ipVersion": {
"type": "integer"
},
"metadata": {
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"notICMP": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"notProtocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"protocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"source": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"ingress": {
"items": {
"properties": {
"action": {
"type": "string"
},
"destination": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"http": {
"properties": {
"methods": {
"items": {
"type": "string"
},
"type": "array"
},
"paths": {
"items": {
"properties": {
"exact": {
"type": "string"
},
"prefix": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"icmp": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"ipVersion": {
"type": "integer"
},
"metadata": {
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"notICMP": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"notProtocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"protocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"source": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"namespaceSelector": {
"type": "string"
},
"order": {
"type": "number"
},
"performanceHints": {
"items": {
"type": "string"
},
"type": "array"
},
"preDNAT": {
"type": "boolean"
},
"selector": {
"type": "string"
},
"serviceAccountSelector": {
"type": "string"
},
"stagedAction": {
"type": "string"
},
"tier": {
"type": "string"
},
"types": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,343 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"egress": {
"items": {
"properties": {
"ports": {
"items": {
"properties": {
"endPort": {
"format": "int32",
"type": "integer"
},
"port": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"x-kubernetes-int-or-string": true
},
"protocol": {
"type": "string"
}
},
"type": "object"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"to": {
"items": {
"properties": {
"ipBlock": {
"properties": {
"cidr": {
"type": "string"
},
"except": {
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"required": [
"cidr"
],
"type": "object"
},
"namespaceSelector": {
"properties": {
"matchExpressions": {
"items": {
"properties": {
"key": {
"type": "string"
},
"operator": {
"type": "string"
},
"values": {
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"required": [
"key",
"operator"
],
"type": "object"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"matchLabels": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"podSelector": {
"properties": {
"matchExpressions": {
"items": {
"properties": {
"key": {
"type": "string"
},
"operator": {
"type": "string"
},
"values": {
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"required": [
"key",
"operator"
],
"type": "object"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"matchLabels": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic"
}
},
"type": "object"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"type": "object"
},
"type": "array"
},
"ingress": {
"items": {
"properties": {
"from": {
"items": {
"properties": {
"ipBlock": {
"properties": {
"cidr": {
"type": "string"
},
"except": {
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"required": [
"cidr"
],
"type": "object"
},
"namespaceSelector": {
"properties": {
"matchExpressions": {
"items": {
"properties": {
"key": {
"type": "string"
},
"operator": {
"type": "string"
},
"values": {
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"required": [
"key",
"operator"
],
"type": "object"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"matchLabels": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"podSelector": {
"properties": {
"matchExpressions": {
"items": {
"properties": {
"key": {
"type": "string"
},
"operator": {
"type": "string"
},
"values": {
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"required": [
"key",
"operator"
],
"type": "object"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"matchLabels": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic"
}
},
"type": "object"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"ports": {
"items": {
"properties": {
"endPort": {
"format": "int32",
"type": "integer"
},
"port": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"x-kubernetes-int-or-string": true
},
"protocol": {
"type": "string"
}
},
"type": "object"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"type": "object"
},
"type": "array"
},
"podSelector": {
"properties": {
"matchExpressions": {
"items": {
"properties": {
"key": {
"type": "string"
},
"operator": {
"type": "string"
},
"values": {
"items": {
"type": "string"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
}
},
"required": [
"key",
"operator"
],
"type": "object"
},
"type": "array",
"x-kubernetes-list-type": "atomic"
},
"matchLabels": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic"
},
"policyTypes": {
"items": {
"type": "string"
},
"type": "array"
},
"stagedAction": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,569 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"egress": {
"items": {
"properties": {
"action": {
"type": "string"
},
"destination": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"http": {
"properties": {
"methods": {
"items": {
"type": "string"
},
"type": "array"
},
"paths": {
"items": {
"properties": {
"exact": {
"type": "string"
},
"prefix": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"icmp": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"ipVersion": {
"type": "integer"
},
"metadata": {
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"notICMP": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"notProtocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"protocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"source": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"ingress": {
"items": {
"properties": {
"action": {
"type": "string"
},
"destination": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"http": {
"properties": {
"methods": {
"items": {
"type": "string"
},
"type": "array"
},
"paths": {
"items": {
"properties": {
"exact": {
"type": "string"
},
"prefix": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"icmp": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"ipVersion": {
"type": "integer"
},
"metadata": {
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"type": "object"
},
"notICMP": {
"properties": {
"code": {
"type": "integer"
},
"type": {
"type": "integer"
}
},
"type": "object"
},
"notProtocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"protocol": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"source": {
"properties": {
"namespaceSelector": {
"type": "string"
},
"nets": {
"items": {
"type": "string"
},
"type": "array"
},
"notNets": {
"items": {
"type": "string"
},
"type": "array"
},
"notPorts": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"notSelector": {
"type": "string"
},
"ports": {
"items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"pattern": "^.*",
"x-kubernetes-int-or-string": true
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccounts": {
"properties": {
"names": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
}
},
"type": "object"
},
"services": {
"properties": {
"name": {
"type": "string"
},
"namespace": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"type": "array"
},
"order": {
"type": "number"
},
"performanceHints": {
"items": {
"type": "string"
},
"type": "array"
},
"selector": {
"type": "string"
},
"serviceAccountSelector": {
"type": "string"
},
"stagedAction": {
"type": "string"
},
"tier": {
"type": "string"
},
"types": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"type": "object"
}
@@ -0,0 +1,30 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"properties": {
"defaultAction": {
"enum": [
"Pass",
"Deny"
],
"type": "string"
},
"order": {
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
}