From aa18d47c1545b6ca8f66210a23f2769ab59ca844 Mon Sep 17 00:00:00 2001 From: Traefiker Bot <30906710+traefiker@users.noreply.github.com> Date: Tue, 20 Aug 2024 15:42:03 +0200 Subject: [PATCH] feat(Traefik Hub): update CRDs to v1.7.0 --- traefik/crds/hub.traefik.io_apiaccesses.yaml | 18 ++++ traefik/crds/hub.traefik.io_apiplans.yaml | 103 +++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 traefik/crds/hub.traefik.io_apiplans.yaml diff --git a/traefik/crds/hub.traefik.io_apiaccesses.yaml b/traefik/crds/hub.traefik.io_apiaccesses.yaml index d1b9998c9..dac34b60b 100644 --- a/traefik/crds/hub.traefik.io_apiaccesses.yaml +++ b/traefik/crds/hub.traefik.io_apiaccesses.yaml @@ -39,6 +39,16 @@ spec: spec: description: The desired behavior of this APIAccess. properties: + apiPlan: + description: APIPlan defines which APIPlan will be used. + properties: + name: + description: Name of the APIPlan. + maxLength: 253 + type: string + required: + - name + type: object apiSelector: description: |- APISelector selects the APIs that will be accessible to the configured audience. @@ -131,6 +141,14 @@ spec: maxItems: 100 type: array type: object + weight: + description: Weight specifies the evaluation order of the plan. + type: integer + x-kubernetes-validations: + - message: must be a positive number + rule: self >= 0 + required: + - apiPlan type: object x-kubernetes-validations: - message: groups and everyone are mutually exclusive diff --git a/traefik/crds/hub.traefik.io_apiplans.yaml b/traefik/crds/hub.traefik.io_apiplans.yaml new file mode 100644 index 000000000..92e1b9b5c --- /dev/null +++ b/traefik/crds/hub.traefik.io_apiplans.yaml @@ -0,0 +1,103 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: apiplans.hub.traefik.io +spec: + group: hub.traefik.io + names: + kind: APIPlan + listKind: APIPlanList + plural: apiplans + singular: apiplan + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: APIPlan defines API Plan policy. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: The desired behavior of this APIPlan. + properties: + description: + description: Description describes the plan. + type: string + quota: + description: Quota defines the quota policy. + properties: + limit: + description: Limit is the maximum number of token in the bucket. + type: integer + x-kubernetes-validations: + - message: must be a positive number + rule: self >= 0 + period: + description: Period is the unit of time for the Limit. + format: duration + type: string + x-kubernetes-validations: + - message: must be between 1s and 9999h + rule: self >= duration('1s') && self <= duration('9999h') + required: + - limit + type: object + rateLimit: + description: RateLimit defines the rate limit policy. + properties: + limit: + description: Limit is the maximum number of token in the bucket. + type: integer + x-kubernetes-validations: + - message: must be a positive number + rule: self >= 0 + period: + description: Period is the unit of time for the Limit. + format: duration + type: string + x-kubernetes-validations: + - message: must be between 1s and 1h + rule: self >= duration('1s') && self <= duration('1h') + required: + - limit + type: object + title: + description: Title is the human-readable name of the plan. + type: string + required: + - title + type: object + status: + description: The current status of this APIPlan. + properties: + hash: + description: Hash is a hash representing the APIPlan. + type: string + syncedAt: + format: date-time + type: string + version: + type: string + type: object + type: object + served: true + storage: true