From 6e6efbfd34bce4c59b29da38898209d83f5e5d1d Mon Sep 17 00:00:00 2001 From: Wlad Date: Tue, 17 Dec 2024 18:52:51 +0100 Subject: [PATCH] feat: update canaries.flagger.app crd (#429) --- flagger.app/canary_v1beta1.json | 145 +++++++++++++++++++++++++++++++- 1 file changed, 144 insertions(+), 1 deletion(-) diff --git a/flagger.app/canary_v1beta1.json b/flagger.app/canary_v1beta1.json index 22d8d91d..519a382d 100644 --- a/flagger.app/canary_v1beta1.json +++ b/flagger.app/canary_v1beta1.json @@ -152,6 +152,64 @@ }, "type": "object" }, + "queryParams": { + "additionalProperties": { + "oneOf": [ + { + "not": { + "anyOf": [ + { + "required": [ + "exact" + ] + }, + { + "required": [ + "prefix" + ] + }, + { + "required": [ + "regex" + ] + } + ] + } + }, + { + "required": [ + "exact" + ] + }, + { + "required": [ + "prefix" + ] + }, + { + "required": [ + "regex" + ] + } + ], + "properties": { + "exact": { + "type": "string" + }, + "prefix": { + "type": "string" + }, + "regex": { + "description": "RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax).", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "description": "Query parameters for matching.", + "type": "object" + }, "sourceLabels": { "additionalProperties": { "format": "string", @@ -309,6 +367,10 @@ "description": "Name of the webhook", "type": "string" }, + "retries": { + "description": "Number of retries for this webhook", + "type": "number" + }, "timeout": { "description": "Request timeout for this webhook", "pattern": "^[0-9]+(m|s)", @@ -621,6 +683,12 @@ "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", "type": "string" }, + "port": { + "format": "int32", + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, "sectionName": { "maxLength": 253, "minLength": 1, @@ -1169,6 +1237,64 @@ "description": "AppMesh mesh name", "type": "string" }, + "mirror": { + "description": "Mirror defines a schema for a filter that mirrors requests.", + "items": { + "properties": { + "backendRef": { + "properties": { + "group": { + "default": "", + "maxLength": 253, + "pattern": "^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", + "type": "string" + }, + "kind": { + "default": "Service", + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$", + "type": "string" + }, + "name": { + "maxLength": 253, + "minLength": 1, + "type": "string" + }, + "namespace": { + "maxLength": 63, + "minLength": 1, + "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$", + "type": "string" + }, + "port": { + "format": "int32", + "maximum": 65535, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "name" + ], + "type": "object", + "x-kubernetes-validations": [ + { + "message": "Must have port for Service reference", + "rule": "(size(self.group) == 0 && self.kind == 'Service') ? has(self.port) : true" + } + ], + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "required": [ + "backendRef" + ], + "type": "array" + }, "name": { "description": "Kubernetes service name", "type": "string" @@ -1228,6 +1354,14 @@ "rewrite": { "description": "Rewrite HTTP URIs", "properties": { + "authority": { + "format": "string", + "type": "string" + }, + "type": { + "format": "string", + "type": "string" + }, "uri": { "format": "string", "type": "string" @@ -1433,9 +1567,14 @@ "ROUND_ROBIN", "LEAST_CONN", "RANDOM", - "PASSTHROUGH" + "PASSTHROUGH", + "LEAST_REQUEST" ], "type": "string" + }, + "warmupDurationSecs": { + "description": "Represents the warmup duration of Service.", + "type": "string" } }, "type": "object", @@ -1534,6 +1673,10 @@ "description": "Skip analysis and promote canary", "type": "boolean" }, + "suspend": { + "description": "Suspend Canary disabling/pausing all canary runs", + "type": "boolean" + }, "targetRef": { "description": "Target selector", "properties": {