diff --git a/.gitignore b/.gitignore index b700b2f8..675d5d60 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +.DS_Store # Binaries for programs and plugins *.exe diff --git a/Makefile b/Makefile index 802ae51e..a78fb3fb 100644 --- a/Makefile +++ b/Makefile @@ -251,8 +251,8 @@ ENVTEST ?= $(LOCALBIN)/setup-envtest GOTESTSUM ?= $(LOCALBIN)/gotestsum ## Tool Versions -KUSTOMIZE_VERSION ?= v3.8.7 -CONTROLLER_TOOLS_VERSION ?= v0.11.1 +KUSTOMIZE_VERSION ?= v5.5.0 +CONTROLLER_TOOLS_VERSION ?= v0.16.4 GOTESTSUM_VERSION ?= v1.9.0 KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" diff --git a/apis/cloud.redhat.com/v1alpha1/zz_generated.deepcopy.go b/apis/cloud.redhat.com/v1alpha1/zz_generated.deepcopy.go index 7414eb89..363f05b2 100644 --- a/apis/cloud.redhat.com/v1alpha1/zz_generated.deepcopy.go +++ b/apis/cloud.redhat.com/v1alpha1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated /* Copyright 2021. diff --git a/config/crd/bases/cloud.redhat.com_namespacepools.yaml b/config/crd/bases/cloud.redhat.com_namespacepools.yaml index a4f7889a..f0cdc8bf 100644 --- a/config/crd/bases/cloud.redhat.com_namespacepools.yaml +++ b/config/crd/bases/cloud.redhat.com_namespacepools.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.1 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.16.4 name: namespacepools.cloud.redhat.com spec: group: cloud.redhat.com @@ -33,14 +32,19 @@ spec: description: NamespacePool is the Schema for the pools API 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' + 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' + 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 @@ -54,8 +58,9 @@ spec: description: Disabled turns off reconciliation for this ClowdEnv type: boolean providers: - description: A ProvidersConfig object, detailing the setup and - configuration of all the providers used in this ClowdEnvironment. + description: |- + A ProvidersConfig object, detailing the setup and configuration of all the + providers used in this ClowdEnvironment. properties: autoScaler: description: Defines the autoscaler configuration @@ -73,19 +78,17 @@ spec: Provider. properties: caBundleURL: - description: Indicates where Clowder will fetch the database - CA certificate bundle from. Currently only used in (*_app-interface_*) - mode. If none is specified, the AWS RDS combined CA - bundle is used. + description: |- + Indicates where Clowder will fetch the database CA certificate bundle from. Currently only used in + (*_app-interface_*) mode. If none is specified, the AWS RDS combined CA bundle is used. pattern: ^https?:\/\/.+$ type: string mode: - description: 'The mode of operation of the Clowder Database - Provider. Valid options are: (*_app-interface_*) where - the provider will pass through database credentials - found in the secret defined by the database name in - the ClowdApp, and (*_local_*) where the provider will - spin up a local instance of the database.' + description: |- + The mode of operation of the Clowder Database Provider. Valid options are: + (*_app-interface_*) where the provider will pass through database credentials + found in the secret defined by the database name in the ClowdApp, and (*_local_*) + where the provider will spin up a local instance of the database. enum: - shared - app-interface @@ -93,9 +96,9 @@ spec: - none type: string pvc: - description: If using the (*_local_*) mode and PVC is - set to true, this instructs the local Database instance - to use a PVC instead of emptyDir for its volumes. + description: |- + If using the (*_local_*) mode and PVC is set to true, this instructs the local + Database instance to use a PVC instead of emptyDir for its volumes. type: boolean required: - mode @@ -111,8 +114,9 @@ spec: Provider. properties: credentialRef: - description: Defines the secret containing the client - access token, only used for (*_app-interface_*) mode. + description: |- + Defines the secret containing the client access token, only used for (*_app-interface_*) + mode. properties: name: description: Name defines the Name of a resource. @@ -137,11 +141,11 @@ spec: type: string type: object mode: - description: 'The mode of operation of the Clowder FeatureFlag - Provider. Valid options are: (*_app-interface_*) where - the provider will pass through credentials to the app - configuration, and (*_local_*) where a local Unleash - instance will be created.' + description: |- + The mode of operation of the Clowder FeatureFlag Provider. Valid options are: + (*_app-interface_*) where the provider will pass through credentials + to the app configuration, and (*_local_*) where a local Unleash instance will + be created. enum: - local - app-interface @@ -153,9 +157,9 @@ spec: format: int32 type: integer pvc: - description: If using the (*_local_*) mode and PVC is - set to true, this instructs the local Database instance - to use a PVC instead of emptyDir for its volumes. + description: |- + If using the (*_local_*) mode and PVC is set to true, this instructs the local + Database instance to use a PVC instead of emptyDir for its volumes. type: boolean type: object inMemoryDb: @@ -163,11 +167,10 @@ spec: Provider. properties: mode: - description: 'The mode of operation of the Clowder InMemory - Provider. Valid options are: (*_redis_*) where a local - Minio instance will be created, and (*_elasticache_*) - which will search the namespace of the ClowdApp for - a secret called ''elasticache''' + description: |- + The mode of operation of the Clowder InMemory Provider. Valid options are: + (*_redis_*) where a local Minio instance will be created, and (*_elasticache_*) + which will search the namespace of the ClowdApp for a secret called 'elasticache' enum: - redis - app-interface @@ -175,9 +178,9 @@ spec: - none type: string pvc: - description: If using the (*_local_*) mode and PVC is - set to true, this instructs the local Database instance - to use a PVC instead of emptyDir for its volumes. + description: |- + If using the (*_local_*) mode and PVC is set to true, this instructs the local + Database instance to use a PVC instead of emptyDir for its volumes. type: boolean required: - mode @@ -196,9 +199,9 @@ spec: description: Config full options type: object deleteClaim: - description: Delete persistent volume claim if the - Kafka cluster is deleted Only applies when KafkaConfig.PVC - is set to 'true' + description: |- + Delete persistent volume claim if the Kafka cluster is deleted + Only applies when KafkaConfig.PVC is set to 'true' type: boolean forceTLS: description: Force TLS @@ -216,13 +219,14 @@ spec: description: -Xmx option to to the JVM. type: string gcLoggingEnabled: - description: Specifies whether the Garbage Collection - logging is enabled. The default is false. + description: |- + Specifies whether the Garbage Collection logging is enabled. The default is + false. type: boolean javaSystemProperties: - description: A map of additional system properties - which will be passed using the `-D` option to - the JVM. + description: |- + A map of additional system properties which will be passed using the `-D` + option to the JVM. items: properties: name: @@ -261,9 +265,9 @@ spec: x-kubernetes-preserve-unknown-fields: true type: object storageSize: - description: Persistent volume storage size. If unset, - default is '1Gi' Only applies when KafkaConfig.PVC - is set to 'true' + description: |- + Persistent volume storage size. If unset, default is '1Gi' + Only applies when KafkaConfig.PVC is set to 'true' type: string version: description: Version. If unset, default is '2.5.0' @@ -274,9 +278,9 @@ spec: mode. type: string clusterName: - description: (Deprecated) Defines the cluster name to - be used by the Kafka Provider this will be used in some - modes to locate the Kafka instance. + description: |- + (Deprecated) Defines the cluster name to be used by the Kafka Provider this will + be used in some modes to locate the Kafka instance. type: string connect: description: Defines options related to the Kafka Connect @@ -322,9 +326,9 @@ spec: name that is used in this environment. type: string connectNamespace: - description: (Deprecated) The namespace that the Kafka - Connect cluster is expected to reside in. This is only - used in (*_app-interface_*) and (*_operator_*) modes. + description: |- + (Deprecated) The namespace that the Kafka Connect cluster is expected to reside in. This is only used + in (*_app-interface_*) and (*_operator_*) modes. type: string enableLegacyStrimzi: description: EnableLegacyStrimzi disables TLS + user auth @@ -353,16 +357,14 @@ spec: - namespace type: object mode: - description: 'The mode of operation of the Clowder Kafka - Provider. Valid options are: (*_operator_*) which provisions - Strimzi resources and will configure KafkaTopic CRs - and place them in the Kafka cluster''s namespace described - in the configuration, (*_app-interface_*) which simply - passes the topic names through to the App''s cdappconfig.json - and expects app-interface to have created the relevant - topics, and (*_local_*) where a small instance of Kafka - is created in the desired cluster namespace and configured - to auto-create topics.' + description: |- + The mode of operation of the Clowder Kafka Provider. Valid options are: + (*_operator_*) which provisions Strimzi resources and will configure + KafkaTopic CRs and place them in the Kafka cluster's namespace described in the configuration, + (*_app-interface_*) which simply passes the topic names through to the App's + cdappconfig.json and expects app-interface to have created the relevant + topics, and (*_local_*) where a small instance of Kafka is created in the desired cluster namespace + and configured to auto-create topics. enum: - ephem-msk - managed @@ -372,15 +374,14 @@ spec: - none type: string namespace: - description: (Deprecated) The Namespace the cluster is - expected to reside in. This is only used in (*_app-interface_*) - and (*_operator_*) modes. + description: |- + (Deprecated) The Namespace the cluster is expected to reside in. This is only used + in (*_app-interface_*) and (*_operator_*) modes. type: string pvc: - description: If using the (*_local_*) or (*_operator_*) - mode and PVC is set to true, this sets the provisioned - Kafka instance to use a PVC instead of emptyDir for - its volumes. + description: |- + If using the (*_local_*) or (*_operator_*) mode and PVC is set to true, this sets the provisioned + Kafka instance to use a PVC instead of emptyDir for its volumes. type: boolean suffix: description: (Deprecated) (Unused) @@ -397,11 +398,10 @@ spec: Provider. properties: mode: - description: 'The mode of operation of the Clowder Logging - Provider. Valid options are: (*_app-interface_*) where - the provider will pass through cloudwatch credentials - to the app configuration, and (*_none_*) where no logging - will be configured.' + description: |- + The mode of operation of the Clowder Logging Provider. Valid options are: + (*_app-interface_*) where the provider will pass through cloudwatch credentials + to the app configuration, and (*_none_*) where no logging will be configured. enum: - app-interface - "null" @@ -415,19 +415,20 @@ spec: Provider. properties: mode: - description: The mode of operation of the Metrics provider. - The allowed modes are (*_none_*), which disables metrics - service generation, or (*_operator_*) where services - and probes are generated. (*_app-interface_*) where - services and probes are generated for app-interface. + description: |- + The mode of operation of the Metrics provider. The allowed modes are + (*_none_*), which disables metrics service generation, or + (*_operator_*) where services and probes are generated. + (*_app-interface_*) where services and probes are generated for app-interface. enum: - none - operator - app-interface type: string path: - description: A prefix path that pods will be instructed - to use when setting up their metrics server. + description: |- + A prefix path that pods will be instructed to use when setting up their + metrics server. type: string port: description: The port that metrics services inside ClowdApp @@ -461,20 +462,20 @@ spec: type: string type: object mode: - description: 'The mode of operation of the Clowder ObjectStore - Provider. Valid options are: (*_app-interface_*) where - the provider will pass through Amazon S3 credentials - to the app configuration, and (*_minio_*) where a local - Minio instance will be created.' + description: |- + The mode of operation of the Clowder ObjectStore Provider. Valid options are: + (*_app-interface_*) where the provider will pass through Amazon S3 credentials + to the app configuration, and (*_minio_*) where a local Minio instance will + be created. enum: - minio - app-interface - none type: string pvc: - description: If using the (*_local_*) mode and PVC is - set to true, this instructs the local Database instance - to use a PVC instead of emptyDir for its volumes. + description: |- + If using the (*_local_*) mode and PVC is set to true, this instructs the local + Database instance to use a PVC instead of emptyDir for its volumes. type: boolean suffix: description: Currently unused. @@ -544,11 +545,12 @@ spec: description: Defines the environment for iqe/smoke testing properties: configAccess: - description: 'The mode of operation for access to outside - app configs. Valid options are: (*_none_*) -- no app - config is mounted to the pod (*_app_*) -- only the ClowdApp''s - config is mounted to the pod (*_environment_*) -- the - config for all apps in the env are mounted' + description: |- + The mode of operation for access to outside app configs. Valid + options are: + (*_none_*) -- no app config is mounted to the pod + (*_app_*) -- only the ClowdApp's config is mounted to the pod + (*_environment_*) -- the config for all apps in the env are mounted enum: - none - app @@ -561,27 +563,29 @@ spec: imageBase: type: string resources: - description: A pass-through of a resource requirements - in k8s ResourceRequirements format. If omitted, - the default resource requirements from the ClowdEnvironment - will be used. + description: |- + A pass-through of a resource requirements in k8s ResourceRequirements + format. If omitted, the default resource requirements from the + ClowdEnvironment will be used. properties: claims: - description: "Claims lists the names of resources, - defined in spec.resourceClaims, that are used - by this container. \n This is an alpha field - and requires enabling the DynamicResourceAllocation - feature gate. \n This field is immutable. It - can only be set for containers." + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + This field is immutable. It can only be set for containers. items: description: ResourceClaim references one entry in PodSpec.ResourceClaims. properties: name: - description: Name must match the name of - one entry in pod.spec.resourceClaims of - the Pod where this field is used. It makes - that resource available inside a container. + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. type: string required: - name @@ -597,8 +601,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -607,12 +612,11 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is - omitted for a container, it defaults to Limits - if that is explicitly specified, otherwise to - an implementation-defined value. Requests cannot - exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object ui: @@ -636,22 +640,22 @@ spec: set on selenium containers properties: claims: - description: "Claims lists the names of - resources, defined in spec.resourceClaims, - that are used by this container. \n - This is an alpha field and requires - enabling the DynamicResourceAllocation - feature gate. \n This field is immutable. - It can only be set for containers." + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + This field is immutable. It can only be set for containers. items: description: ResourceClaim references one entry in PodSpec.ResourceClaims. properties: name: - description: Name must match the - name of one entry in pod.spec.resourceClaims - of the Pod where this field is - used. It makes that resource available + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available inside a container. type: string required: @@ -668,9 +672,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum - amount of compute resources allowed. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -679,13 +683,11 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum - amount of compute resources required. - If Requests is omitted for a container, - it defaults to Limits if that is explicitly - specified, otherwise to an implementation-defined - value. Requests cannot exceed Limits. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object type: object @@ -709,8 +711,9 @@ spec: - imageBase type: object k8sAccessLevel: - description: 'The mode of operation of the testing Pod. - Valid options are: ''default'', ''view'' or ''edit''' + description: |- + The mode of operation of the testing Pod. Valid options are: + 'default', 'view' or 'edit' enum: - default - view @@ -731,8 +734,9 @@ spec: format: int32 type: integer apiPrefix: - description: An api prefix path that pods will be instructed - to use when setting up their web server. + description: |- + An api prefix path that pods will be instructed to use when setting up + their web server. type: string bopURL: description: The URL of BOP - only used in (*_none_*/*_operator_*) @@ -805,9 +809,9 @@ spec: default is used. type: string mode: - description: The mode of operation of the Web provider. - The allowed modes are (*_none_*/*_operator_*), and (*_local_*) - which deploys keycloak and BOP. + description: |- + The mode of operation of the Web provider. The allowed modes are + (*_none_*/*_operator_*), and (*_local_*) which deploys keycloak and BOP. enum: - none - operator @@ -846,24 +850,27 @@ spec: - objectStore type: object resourceDefaults: - description: Defines the default resource requirements in standard - k8s format in the event that they omitted from a PodSpec inside - a ClowdApp. + description: |- + Defines the default resource requirements in standard k8s format in the + event that they omitted from a PodSpec inside a ClowdApp. properties: claims: - description: "Claims lists the names of resources, defined - in spec.resourceClaims, that are used by this container. - \n This is an alpha field and requires enabling the DynamicResourceAllocation - feature gate. \n This field is immutable. It can only be - set for containers." + description: |- + Claims lists the names of resources, defined in spec.resourceClaims, + that are used by this container. + + This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. + + This field is immutable. It can only be set for containers. items: description: ResourceClaim references one entry in PodSpec.ResourceClaims. properties: name: - description: Name must match the name of one entry in - pod.spec.resourceClaims of the Pod where this field - is used. It makes that resource available inside a - container. + description: |- + Name must match the name of one entry in pod.spec.resourceClaims of + the Pod where this field is used. It makes that resource available + inside a container. type: string required: - name @@ -879,8 +886,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -889,11 +897,11 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. Requests cannot exceed - Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests cannot exceed Limits. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object serviceConfig: @@ -909,9 +917,9 @@ spec: - type type: object targetNamespace: - description: TargetNamespace describes the namespace where any - generated environmental resources should end up, this is particularly - important in (*_local_*) mode. + description: |- + TargetNamespace describes the namespace where any generated environmental + resources should end up, this is particularly important in (*_local_*) mode. type: string required: - providers @@ -925,19 +933,24 @@ spec: namespace 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' + 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' + 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: - description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' + description: |- + Standard object's metadata. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata properties: annotations: additionalProperties: @@ -957,7 +970,9 @@ spec: type: string type: object spec: - description: 'Spec defines the limits enforced. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' + description: |- + Spec defines the limits enforced. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: limits: description: Limits is the list of LimitRangeItem objects @@ -1040,32 +1055,39 @@ spec: namespace 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' + 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 items: - description: 'Items is a list of ResourceQuota objects. More info: - https://kubernetes.io/docs/concepts/policy/resource-quotas/' + description: |- + Items is a list of ResourceQuota objects. + More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/ items: description: ResourceQuota sets aggregate quota restrictions enforced per namespace 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' + 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' + 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: - description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' + description: |- + Standard object's metadata. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata properties: annotations: additionalProperties: @@ -1085,7 +1107,9 @@ spec: type: string type: object spec: - description: Spec defines the desired quota. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + description: |- + Spec defines the desired quota. + https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: hard: additionalProperties: @@ -1094,42 +1118,39 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'hard is the set of desired hard limits - for each named resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/' + description: |- + hard is the set of desired hard limits for each named resource. + More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/ type: object scopeSelector: - description: scopeSelector is also a collection of filters - like scopes that must match each object tracked by - a quota but expressed using ScopeSelectorOperator - in combination with possible values. For a resource - to match, both scopes AND scopeSelector (if specified - in spec), must be matched. + description: |- + scopeSelector is also a collection of filters like scopes that must match each object tracked by a quota + but expressed using ScopeSelectorOperator in combination with possible values. + For a resource to match, both scopes AND scopeSelector (if specified in spec), must be matched. properties: matchExpressions: description: A list of scope selector requirements by scope of the resources. items: - description: A scoped-resource selector requirement - is a selector that contains values, a scope - name, and an operator that relates the scope - name and values. + description: |- + A scoped-resource selector requirement is a selector that contains values, a scope name, and an operator + that relates the scope name and values. properties: operator: - description: Represents a scope's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. + description: |- + Represents a scope's relationship to a set of values. + Valid operators are In, NotIn, Exists, DoesNotExist. type: string scopeName: description: The name of the scope that the selector applies to. type: string values: - description: An array of string values. If - the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values array - must be empty. This array is replaced during - a strategic merge patch. + description: |- + An array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. + This array is replaced during a strategic merge patch. items: type: string type: array @@ -1141,9 +1162,9 @@ spec: type: object x-kubernetes-map-type: atomic scopes: - description: A collection of filters that must match - each object tracked by a quota. If not specified, - the quota matches all objects. + description: |- + A collection of filters that must match each object tracked by a quota. + If not specified, the quota matches all objects. items: description: A ResourceQuotaScope defines a filter that must match each object tracked by a quota @@ -1151,8 +1172,9 @@ spec: type: array type: object status: - description: Status defines the actual enforced quota and - its current usage. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + description: |- + Status defines the actual enforced quota and its current usage. + https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: hard: additionalProperties: @@ -1161,8 +1183,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Hard is the set of enforced hard limits - for each named resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/' + description: |- + Hard is the set of enforced hard limits for each named resource. + More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/ type: object used: additionalProperties: @@ -1178,48 +1201,49 @@ spec: type: object type: array 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' + 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: - description: 'Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Standard list metadata. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds properties: continue: - description: continue may be set if the user set a limit on - the number of items returned, and indicates that the server - has more data available. The value is opaque and may be - used to issue another request to the endpoint that served - this list to retrieve the next set of available objects. - Continuing a consistent list may not be possible if the - server configuration has changed or more than a few minutes - have passed. The resourceVersion field returned when using - this continue value will be identical to the value in the - first response, unless you have received this token from - an error message. + description: |- + continue may be set if the user set a limit on the number of items returned, and indicates that + the server has more data available. The value is opaque and may be used to issue another request + to the endpoint that served this list to retrieve the next set of available objects. Continuing a + consistent list may not be possible if the server configuration has changed or more than a few + minutes have passed. The resourceVersion field returned when using this continue value will be + identical to the value in the first response, unless you have received this token from an error + message. type: string remainingItemCount: - description: remainingItemCount is the number of subsequent - items in the list which are not included in this list response. - If the list request contained label or field selectors, - then the number of remaining items is unknown and the field - will be left unset and omitted during serialization. If - the list is complete (either because it is not chunking - or because this is the last chunk), then there are no more - remaining items and this field will be left unset and omitted - during serialization. Servers older than v1.15 do not set - this field. The intended use of the remainingItemCount is - *estimating* the size of a collection. Clients should not - rely on the remainingItemCount to be set or to be exact. + description: |- + remainingItemCount is the number of subsequent items in the list which are not included in this + list response. If the list request contained label or field selectors, then the number of + remaining items is unknown and the field will be left unset and omitted during serialization. + If the list is complete (either because it is not chunking or because this is the last chunk), + then there are no more remaining items and this field will be left unset and omitted during + serialization. + Servers older than v1.15 do not set this field. + The intended use of the remainingItemCount is *estimating* the size of a collection. Clients + should not rely on the remainingItemCount to be set or to be exact. format: int64 type: integer resourceVersion: - description: 'String that identifies the server''s internal - version of this object that can be used by clients to determine - when objects have changed. Value must be treated as opaque - by clients and passed unmodified back to the server. Populated - by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + String that identifies the server's internal version of this object that + can be used by clients to determine when objects have changed. + Value must be treated as opaque by clients and passed unmodified back to the server. + Populated by the system. + Read-only. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string selfLink: description: 'Deprecated: selfLink is a legacy read-only field diff --git a/config/crd/bases/cloud.redhat.com_namespacereservations.yaml b/config/crd/bases/cloud.redhat.com_namespacereservations.yaml index b97f7986..732a1c93 100644 --- a/config/crd/bases/cloud.redhat.com_namespacereservations.yaml +++ b/config/crd/bases/cloud.redhat.com_namespacereservations.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.1 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.16.4 name: namespacereservations.cloud.redhat.com spec: group: cloud.redhat.com @@ -39,14 +38,19 @@ spec: API 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' + 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' + 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 diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index a0cd0711..adef1029 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -2,7 +2,6 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - creationTimestamp: null name: manager-role rules: - apiGroups: @@ -25,36 +24,9 @@ rules: - cloud.redhat.com resources: - clowdenvironments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - cloud.redhat.com - resources: - - clowdenvironments/status - verbs: - - get -- apiGroups: - - cloud.redhat.com - resources: - frontendenvironments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - cloud.redhat.com - resources: - namespacepools + - namespacereservations verbs: - create - delete @@ -66,38 +38,20 @@ rules: - apiGroups: - cloud.redhat.com resources: - - namespacepools/finalizers - verbs: - - update -- apiGroups: - - cloud.redhat.com - resources: - - namespacepools/status - verbs: - - get - - patch - - update -- apiGroups: - - cloud.redhat.com - resources: - - namespacereservations + - clowdenvironments/status verbs: - - create - - delete - get - - list - - patch - - update - - watch - apiGroups: - cloud.redhat.com resources: + - namespacepools/finalizers - namespacereservations/finalizers verbs: - update - apiGroups: - cloud.redhat.com resources: + - namespacepools/status - namespacereservations/status verbs: - get diff --git a/controllers/cloud.redhat.com/helpers/frontends.go b/controllers/cloud.redhat.com/helpers/frontends.go index c5fabf49..dab37ead 100644 --- a/controllers/cloud.redhat.com/helpers/frontends.go +++ b/controllers/cloud.redhat.com/helpers/frontends.go @@ -43,10 +43,12 @@ func CreateFrontendEnv(ctx context.Context, cl client.Client, namespaceName stri frontendEnv = frontend.FrontendEnvironment{ Spec: frontend.FrontendEnvironmentSpec{ - Hostname: clowdEnv.Status.Hostname, - SSO: ssoURL, - IngressClass: clowdEnv.Spec.Providers.Web.IngressClass, - GenerateNavJSON: true, + Hostname: clowdEnv.Status.Hostname, + SSO: ssoURL, + IngressClass: clowdEnv.Spec.Providers.Web.IngressClass, + GenerateNavJSON: true, + EnableAkamaiCacheBust: false, + DefaultReplicas: func(i int32) *int32 { return &i }(1), }, } diff --git a/deploy.yml b/deploy.yml index c1375a52..b85ed83f 100644 --- a/deploy.yml +++ b/deploy.yml @@ -13,8 +13,7 @@ objects: kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.1 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.16.4 name: namespacepools.cloud.redhat.com spec: group: cloud.redhat.com @@ -44,14 +43,27 @@ objects: 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' + 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' + 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 @@ -65,8 +77,10 @@ objects: description: Disabled turns off reconciliation for this ClowdEnv type: boolean providers: - description: A ProvidersConfig object, detailing the setup and - configuration of all the providers used in this ClowdEnvironment. + description: 'A ProvidersConfig object, detailing the setup + and configuration of all the + + providers used in this ClowdEnvironment.' properties: autoScaler: description: Defines the autoscaler configuration @@ -84,19 +98,26 @@ objects: Provider. properties: caBundleURL: - description: Indicates where Clowder will fetch the + description: 'Indicates where Clowder will fetch the database CA certificate bundle from. Currently only - used in (*_app-interface_*) mode. If none is specified, - the AWS RDS combined CA bundle is used. + used in + + (*_app-interface_*) mode. If none is specified, the + AWS RDS combined CA bundle is used.' pattern: ^https?:\/\/.+$ type: string mode: description: 'The mode of operation of the Clowder Database - Provider. Valid options are: (*_app-interface_*) where - the provider will pass through database credentials + Provider. Valid options are: + + (*_app-interface_*) where the provider will pass through + database credentials + found in the secret defined by the database name in - the ClowdApp, and (*_local_*) where the provider will - spin up a local instance of the database.' + the ClowdApp, and (*_local_*) + + where the provider will spin up a local instance of + the database.' enum: - shared - app-interface @@ -104,9 +125,11 @@ objects: - none type: string pvc: - description: If using the (*_local_*) mode and PVC is - set to true, this instructs the local Database instance - to use a PVC instead of emptyDir for its volumes. + description: 'If using the (*_local_*) mode and PVC + is set to true, this instructs the local + + Database instance to use a PVC instead of emptyDir + for its volumes.' type: boolean required: - mode @@ -122,8 +145,10 @@ objects: Provider. properties: credentialRef: - description: Defines the secret containing the client - access token, only used for (*_app-interface_*) mode. + description: 'Defines the secret containing the client + access token, only used for (*_app-interface_*) + + mode.' properties: name: description: Name defines the Name of a resource. @@ -149,10 +174,15 @@ objects: type: object mode: description: 'The mode of operation of the Clowder FeatureFlag - Provider. Valid options are: (*_app-interface_*) where - the provider will pass through credentials to the - app configuration, and (*_local_*) where a local Unleash - instance will be created.' + Provider. Valid options are: + + (*_app-interface_*) where the provider will pass through + credentials + + to the app configuration, and (*_local_*) where a + local Unleash instance will + + be created.' enum: - local - app-interface @@ -164,9 +194,11 @@ objects: format: int32 type: integer pvc: - description: If using the (*_local_*) mode and PVC is - set to true, this instructs the local Database instance - to use a PVC instead of emptyDir for its volumes. + description: 'If using the (*_local_*) mode and PVC + is set to true, this instructs the local + + Database instance to use a PVC instead of emptyDir + for its volumes.' type: boolean type: object inMemoryDb: @@ -175,8 +207,11 @@ objects: properties: mode: description: 'The mode of operation of the Clowder InMemory - Provider. Valid options are: (*_redis_*) where a local - Minio instance will be created, and (*_elasticache_*) + Provider. Valid options are: + + (*_redis_*) where a local Minio instance will be created, + and (*_elasticache_*) + which will search the namespace of the ClowdApp for a secret called ''elasticache''' enum: @@ -186,9 +221,11 @@ objects: - none type: string pvc: - description: If using the (*_local_*) mode and PVC is - set to true, this instructs the local Database instance - to use a PVC instead of emptyDir for its volumes. + description: 'If using the (*_local_*) mode and PVC + is set to true, this instructs the local + + Database instance to use a PVC instead of emptyDir + for its volumes.' type: boolean required: - mode @@ -207,9 +244,10 @@ objects: description: Config full options type: object deleteClaim: - description: Delete persistent volume claim if the - Kafka cluster is deleted Only applies when KafkaConfig.PVC - is set to 'true' + description: 'Delete persistent volume claim if + the Kafka cluster is deleted + + Only applies when KafkaConfig.PVC is set to ''true''' type: boolean forceTLS: description: Force TLS @@ -227,13 +265,17 @@ objects: description: -Xmx option to to the JVM. type: string gcLoggingEnabled: - description: Specifies whether the Garbage Collection - logging is enabled. The default is false. + description: 'Specifies whether the Garbage + Collection logging is enabled. The default + is + + false.' type: boolean javaSystemProperties: - description: A map of additional system properties - which will be passed using the `-D` option - to the JVM. + description: 'A map of additional system properties + which will be passed using the `-D` + + option to the JVM.' items: properties: name: @@ -273,9 +315,10 @@ objects: x-kubernetes-preserve-unknown-fields: true type: object storageSize: - description: Persistent volume storage size. If - unset, default is '1Gi' Only applies when KafkaConfig.PVC - is set to 'true' + description: 'Persistent volume storage size. If + unset, default is ''1Gi'' + + Only applies when KafkaConfig.PVC is set to ''true''' type: string version: description: Version. If unset, default is '2.5.0' @@ -286,9 +329,10 @@ objects: mode. type: string clusterName: - description: (Deprecated) Defines the cluster name to - be used by the Kafka Provider this will be used in - some modes to locate the Kafka instance. + description: '(Deprecated) Defines the cluster name + to be used by the Kafka Provider this will + + be used in some modes to locate the Kafka instance.' type: string connect: description: Defines options related to the Kafka Connect @@ -334,10 +378,11 @@ objects: cluster name that is used in this environment. type: string connectNamespace: - description: (Deprecated) The namespace that the Kafka + description: '(Deprecated) The namespace that the Kafka Connect cluster is expected to reside in. This is - only used in (*_app-interface_*) and (*_operator_*) - modes. + only used + + in (*_app-interface_*) and (*_operator_*) modes.' type: string enableLegacyStrimzi: description: EnableLegacyStrimzi disables TLS + user @@ -368,16 +413,24 @@ objects: type: object mode: description: 'The mode of operation of the Clowder Kafka - Provider. Valid options are: (*_operator_*) which - provisions Strimzi resources and will configure KafkaTopic - CRs and place them in the Kafka cluster''s namespace - described in the configuration, (*_app-interface_*) - which simply passes the topic names through to the - App''s cdappconfig.json and expects app-interface - to have created the relevant topics, and (*_local_*) - where a small instance of Kafka is created in the - desired cluster namespace and configured to auto-create - topics.' + Provider. Valid options are: + + (*_operator_*) which provisions Strimzi resources + and will configure + + KafkaTopic CRs and place them in the Kafka cluster''s + namespace described in the configuration, + + (*_app-interface_*) which simply passes the topic + names through to the App''s + + cdappconfig.json and expects app-interface to have + created the relevant + + topics, and (*_local_*) where a small instance of + Kafka is created in the desired cluster namespace + + and configured to auto-create topics.' enum: - ephem-msk - managed @@ -387,15 +440,17 @@ objects: - none type: string namespace: - description: (Deprecated) The Namespace the cluster - is expected to reside in. This is only used in (*_app-interface_*) - and (*_operator_*) modes. + description: '(Deprecated) The Namespace the cluster + is expected to reside in. This is only used + + in (*_app-interface_*) and (*_operator_*) modes.' type: string pvc: - description: If using the (*_local_*) or (*_operator_*) + description: 'If using the (*_local_*) or (*_operator_*) mode and PVC is set to true, this sets the provisioned + Kafka instance to use a PVC instead of emptyDir for - its volumes. + its volumes.' type: boolean suffix: description: (Deprecated) (Unused) @@ -413,8 +468,11 @@ objects: properties: mode: description: 'The mode of operation of the Clowder Logging - Provider. Valid options are: (*_app-interface_*) where - the provider will pass through cloudwatch credentials + Provider. Valid options are: + + (*_app-interface_*) where the provider will pass through + cloudwatch credentials + to the app configuration, and (*_none_*) where no logging will be configured.' enum: @@ -430,19 +488,21 @@ objects: Provider. properties: mode: - description: The mode of operation of the Metrics provider. - The allowed modes are (*_none_*), which disables metrics - service generation, or (*_operator_*) where services - and probes are generated. (*_app-interface_*) where - services and probes are generated for app-interface. + description: "The mode of operation of the Metrics provider.\ + \ The allowed modes are\n (*_none_*), which disables\ + \ metrics service generation, or\n(*_operator_*) where\ + \ services and probes are generated.\n(*_app-interface_*)\ + \ where services and probes are generated for app-interface." enum: - none - operator - app-interface type: string path: - description: A prefix path that pods will be instructed - to use when setting up their metrics server. + description: 'A prefix path that pods will be instructed + to use when setting up their + + metrics server.' type: string port: description: The port that metrics services inside ClowdApp @@ -477,19 +537,26 @@ objects: type: object mode: description: 'The mode of operation of the Clowder ObjectStore - Provider. Valid options are: (*_app-interface_*) where - the provider will pass through Amazon S3 credentials + Provider. Valid options are: + + (*_app-interface_*) where the provider will pass through + Amazon S3 credentials + to the app configuration, and (*_minio_*) where a - local Minio instance will be created.' + local Minio instance will + + be created.' enum: - minio - app-interface - none type: string pvc: - description: If using the (*_local_*) mode and PVC is - set to true, this instructs the local Database instance - to use a PVC instead of emptyDir for its volumes. + description: 'If using the (*_local_*) mode and PVC + is set to true, this instructs the local + + Database instance to use a PVC instead of emptyDir + for its volumes.' type: boolean suffix: description: Currently unused. @@ -562,10 +629,17 @@ objects: properties: configAccess: description: 'The mode of operation for access to outside - app configs. Valid options are: (*_none_*) -- no app - config is mounted to the pod (*_app_*) -- only the - ClowdApp''s config is mounted to the pod (*_environment_*) - -- the config for all apps in the env are mounted' + app configs. Valid + + options are: + + (*_none_*) -- no app config is mounted to the pod + + (*_app_*) -- only the ClowdApp''s config is mounted + to the pod + + (*_environment_*) -- the config for all apps in the + env are mounted' enum: - none - app @@ -578,28 +652,42 @@ objects: imageBase: type: string resources: - description: A pass-through of a resource requirements - in k8s ResourceRequirements format. If omitted, - the default resource requirements from the ClowdEnvironment - will be used. + description: 'A pass-through of a resource requirements + in k8s ResourceRequirements + + format. If omitted, the default resource requirements + from the + + ClowdEnvironment will be used.' properties: claims: - description: "Claims lists the names of resources,\ - \ defined in spec.resourceClaims, that are\ - \ used by this container. \n This is an alpha\ - \ field and requires enabling the DynamicResourceAllocation\ - \ feature gate. \n This field is immutable.\ - \ It can only be set for containers." + description: 'Claims lists the names of resources, + defined in spec.resourceClaims, + + that are used by this container. + + + This is an alpha field and requires enabling + the + + DynamicResourceAllocation feature gate. + + + This field is immutable. It can only be set + for containers.' items: description: ResourceClaim references one entry in PodSpec.ResourceClaims. properties: name: - description: Name must match the name + description: 'Name must match the name of one entry in pod.spec.resourceClaims - of the Pod where this field is used. - It makes that resource available inside - a container. + of + + the Pod where this field is used. It + makes that resource available + + inside a container.' type: string required: - name @@ -616,7 +704,9 @@ objects: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + of compute resources allowed. + + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object requests: additionalProperties: @@ -626,11 +716,15 @@ objects: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Requests describes the minimum - amount of compute resources required. If Requests - is omitted for a container, it defaults to - Limits if that is explicitly specified, otherwise - to an implementation-defined value. Requests - cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + amount of compute resources required. + + If Requests is omitted for a container, it + defaults to Limits if that is explicitly specified, + + otherwise to an implementation-defined value. + Requests cannot exceed Limits. + + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object ui: @@ -654,23 +748,35 @@ objects: set on selenium containers properties: claims: - description: "Claims lists the names\ - \ of resources, defined in spec.resourceClaims,\ - \ that are used by this container.\ - \ \n This is an alpha field and requires\ - \ enabling the DynamicResourceAllocation\ - \ feature gate. \n This field is immutable.\ - \ It can only be set for containers." + description: 'Claims lists the names + of resources, defined in spec.resourceClaims, + + that are used by this container. + + + This is an alpha field and requires + enabling the + + DynamicResourceAllocation feature + gate. + + + This field is immutable. It can only + be set for containers.' items: description: ResourceClaim references one entry in PodSpec.ResourceClaims. properties: name: - description: Name must match the - name of one entry in pod.spec.resourceClaims - of the Pod where this field - is used. It makes that resource - available inside a container. + description: 'Name must match + the name of one entry in pod.spec.resourceClaims + of + + the Pod where this field is + used. It makes that resource + available + + inside a container.' type: string required: - name @@ -688,6 +794,7 @@ objects: x-kubernetes-int-or-string: true description: 'Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object requests: @@ -699,12 +806,16 @@ objects: x-kubernetes-int-or-string: true description: 'Requests describes the minimum amount of compute resources - required. If Requests is omitted for - a container, it defaults to Limits - if that is explicitly specified, otherwise - to an implementation-defined value. - Requests cannot exceed Limits. More - info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + required. + + If Requests is omitted for a container, + it defaults to Limits if that is explicitly + specified, + + otherwise to an implementation-defined + value. Requests cannot exceed Limits. + + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object type: object @@ -729,7 +840,9 @@ objects: type: object k8sAccessLevel: description: 'The mode of operation of the testing Pod. - Valid options are: ''default'', ''view'' or ''edit''' + Valid options are: + + ''default'', ''view'' or ''edit''' enum: - default - view @@ -750,8 +863,10 @@ objects: format: int32 type: integer apiPrefix: - description: An api prefix path that pods will be instructed - to use when setting up their web server. + description: 'An api prefix path that pods will be instructed + to use when setting up + + their web server.' type: string bopURL: description: The URL of BOP - only used in (*_none_*/*_operator_*) @@ -826,9 +941,11 @@ objects: default is used. type: string mode: - description: The mode of operation of the Web provider. - The allowed modes are (*_none_*/*_operator_*), and - (*_local_*) which deploys keycloak and BOP. + description: 'The mode of operation of the Web provider. + The allowed modes are + + (*_none_*/*_operator_*), and (*_local_*) which deploys + keycloak and BOP.' enum: - none - operator @@ -867,24 +984,35 @@ objects: - objectStore type: object resourceDefaults: - description: Defines the default resource requirements in standard - k8s format in the event that they omitted from a PodSpec inside - a ClowdApp. + description: 'Defines the default resource requirements in standard + k8s format in the + + event that they omitted from a PodSpec inside a ClowdApp.' properties: claims: - description: "Claims lists the names of resources, defined\ - \ in spec.resourceClaims, that are used by this container.\ - \ \n This is an alpha field and requires enabling the\ - \ DynamicResourceAllocation feature gate. \n This field\ - \ is immutable. It can only be set for containers." + description: 'Claims lists the names of resources, defined + in spec.resourceClaims, + + that are used by this container. + + + This is an alpha field and requires enabling the + + DynamicResourceAllocation feature gate. + + + This field is immutable. It can only be set for containers.' items: description: ResourceClaim references one entry in PodSpec.ResourceClaims. properties: name: - description: Name must match the name of one entry - in pod.spec.resourceClaims of the Pod where this - field is used. It makes that resource available - inside a container. + description: 'Name must match the name of one entry + in pod.spec.resourceClaims of + + the Pod where this field is used. It makes that + resource available + + inside a container.' type: string required: - name @@ -901,7 +1029,9 @@ objects: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + resources allowed. + + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object requests: additionalProperties: @@ -911,10 +1041,15 @@ objects: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, + resources required. + + If Requests is omitted for a container, it defaults to + Limits if that is explicitly specified, + otherwise to an implementation-defined value. Requests - cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + cannot exceed Limits. + + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object serviceConfig: @@ -931,9 +1066,11 @@ objects: - type type: object targetNamespace: - description: TargetNamespace describes the namespace where any - generated environmental resources should end up, this is particularly - important in (*_local_*) mode. + description: 'TargetNamespace describes the namespace where + any generated environmental + + resources should end up, this is particularly important in + (*_local_*) mode.' type: string required: - providers @@ -948,18 +1085,32 @@ objects: 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' + 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. + 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: - description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' + description: 'Standard object''s metadata. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' properties: annotations: additionalProperties: @@ -979,7 +1130,9 @@ objects: type: string type: object spec: - description: 'Spec defines the limits enforced. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' + description: 'Spec defines the limits enforced. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' properties: limits: description: Limits is the list of LimitRangeItem objects @@ -1063,32 +1216,51 @@ objects: 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' + 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 items: - description: 'Items is a list of ResourceQuota objects. More - info: https://kubernetes.io/docs/concepts/policy/resource-quotas/' + description: 'Items is a list of ResourceQuota objects. + + More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/' items: description: ResourceQuota sets aggregate quota restrictions enforced per namespace 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' + 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' + 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: - description: 'Standard object''s metadata. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' + description: 'Standard object''s metadata. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' properties: annotations: additionalProperties: @@ -1108,7 +1280,9 @@ objects: type: string type: object spec: - description: Spec defines the desired quota. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + description: 'Spec defines the desired quota. + + https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' properties: hard: additionalProperties: @@ -1118,41 +1292,53 @@ objects: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'hard is the set of desired hard limits - for each named resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/' + for each named resource. + + More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/' type: object scopeSelector: - description: scopeSelector is also a collection of + description: 'scopeSelector is also a collection of filters like scopes that must match each object - tracked by a quota but expressed using ScopeSelectorOperator - in combination with possible values. For a resource - to match, both scopes AND scopeSelector (if specified - in spec), must be matched. + tracked by a quota + + but expressed using ScopeSelectorOperator in combination + with possible values. + + For a resource to match, both scopes AND scopeSelector + (if specified in spec), must be matched.' properties: matchExpressions: description: A list of scope selector requirements by scope of the resources. items: - description: A scoped-resource selector requirement + description: 'A scoped-resource selector requirement is a selector that contains values, a scope - name, and an operator that relates the scope - name and values. + name, and an operator + + that relates the scope name and values.' properties: operator: - description: Represents a scope's relationship - to a set of values. Valid operators are - In, NotIn, Exists, DoesNotExist. + description: 'Represents a scope''s relationship + to a set of values. + + Valid operators are In, NotIn, Exists, + DoesNotExist.' type: string scopeName: description: The name of the scope that the selector applies to. type: string values: - description: An array of string values. - If the operator is In or NotIn, the values - array must be non-empty. If the operator - is Exists or DoesNotExist, the values - array must be empty. This array is replaced - during a strategic merge patch. + description: 'An array of string values. + If the operator is In or NotIn, + + the values array must be non-empty. If + the operator is Exists or DoesNotExist, + + the values array must be empty. + + This array is replaced during a strategic + merge patch.' items: type: string type: array @@ -1164,9 +1350,10 @@ objects: type: object x-kubernetes-map-type: atomic scopes: - description: A collection of filters that must match - each object tracked by a quota. If not specified, - the quota matches all objects. + description: 'A collection of filters that must match + each object tracked by a quota. + + If not specified, the quota matches all objects.' items: description: A ResourceQuotaScope defines a filter that must match each object tracked by a quota @@ -1174,8 +1361,10 @@ objects: type: array type: object status: - description: Status defines the actual enforced quota - and its current usage. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + description: 'Status defines the actual enforced quota + and its current usage. + + https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' properties: hard: additionalProperties: @@ -1185,7 +1374,9 @@ objects: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true description: 'Hard is the set of enforced hard limits - for each named resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/' + for each named resource. + + More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/' type: object used: additionalProperties: @@ -1202,49 +1393,85 @@ objects: type: array 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. + 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: - description: 'Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: 'Standard list metadata. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' properties: continue: - description: continue may be set if the user set a limit - on the number of items returned, and indicates that the - server has more data available. The value is opaque and - may be used to issue another request to the endpoint that - served this list to retrieve the next set of available - objects. Continuing a consistent list may not be possible - if the server configuration has changed or more than a - few minutes have passed. The resourceVersion field returned - when using this continue value will be identical to the - value in the first response, unless you have received - this token from an error message. + description: 'continue may be set if the user set a limit + on the number of items returned, and indicates that + + the server has more data available. The value is opaque + and may be used to issue another request + + to the endpoint that served this list to retrieve the + next set of available objects. Continuing a + + consistent list may not be possible if the server configuration + has changed or more than a few + + minutes have passed. The resourceVersion field returned + when using this continue value will be + + identical to the value in the first response, unless you + have received this token from an error + + message.' type: string remainingItemCount: - description: remainingItemCount is the number of subsequent - items in the list which are not included in this list - response. If the list request contained label or field - selectors, then the number of remaining items is unknown - and the field will be left unset and omitted during serialization. + description: 'remainingItemCount is the number of subsequent + items in the list which are not included in this + + list response. If the list request contained label or + field selectors, then the number of + + remaining items is unknown and the field will be left + unset and omitted during serialization. + If the list is complete (either because it is not chunking - or because this is the last chunk), then there are no - more remaining items and this field will be left unset - and omitted during serialization. Servers older than v1.15 - do not set this field. The intended use of the remainingItemCount - is *estimating* the size of a collection. Clients should - not rely on the remainingItemCount to be set or to be - exact. + or because this is the last chunk), + + then there are no more remaining items and this field + will be left unset and omitted during + + serialization. + + Servers older than v1.15 do not set this field. + + The intended use of the remainingItemCount is *estimating* + the size of a collection. Clients + + should not rely on the remainingItemCount to be set or + to be exact.' format: int64 type: integer resourceVersion: description: 'String that identifies the server''s internal - version of this object that can be used by clients to - determine when objects have changed. Value must be treated - as opaque by clients and passed unmodified back to the - server. Populated by the system. Read-only. More info: - https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + version of this object that + + can be used by clients to determine when objects have + changed. + + Value must be treated as opaque by clients and passed + unmodified back to the server. + + Populated by the system. + + Read-only. + + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' type: string selfLink: description: 'Deprecated: selfLink is a legacy read-only @@ -1290,8 +1517,7 @@ objects: kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.1 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.16.4 name: namespacereservations.cloud.redhat.com spec: group: cloud.redhat.com @@ -1327,14 +1553,27 @@ objects: 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' + 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' + 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 @@ -1464,7 +1703,6 @@ objects: - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - creationTimestamp: null name: ephemeral-namespace-operator-manager-role rules: - apiGroups: @@ -1487,36 +1725,9 @@ objects: - cloud.redhat.com resources: - clowdenvironments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cloud.redhat.com - resources: - - clowdenvironments/status - verbs: - - get - - apiGroups: - - cloud.redhat.com - resources: - frontendenvironments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cloud.redhat.com - resources: - namespacepools + - namespacereservations verbs: - create - delete @@ -1528,38 +1739,20 @@ objects: - apiGroups: - cloud.redhat.com resources: - - namespacepools/finalizers - verbs: - - update - - apiGroups: - - cloud.redhat.com - resources: - - namespacepools/status - verbs: - - get - - patch - - update - - apiGroups: - - cloud.redhat.com - resources: - - namespacereservations + - clowdenvironments/status verbs: - - create - - delete - get - - list - - patch - - update - - watch - apiGroups: - cloud.redhat.com resources: + - namespacepools/finalizers - namespacereservations/finalizers verbs: - update - apiGroups: - cloud.redhat.com resources: + - namespacepools/status - namespacereservations/status verbs: - get diff --git a/go.mod b/go.mod index 46512e81..39d15990 100644 --- a/go.mod +++ b/go.mod @@ -4,11 +4,11 @@ go 1.21.9 require ( github.com/RedHatInsights/clowder v0.90.0 - github.com/RedHatInsights/frontend-operator v0.1.4 + github.com/RedHatInsights/frontend-operator v0.2.0 github.com/RedHatInsights/rhc-osdk-utils v0.12.0 - github.com/go-logr/logr v1.4.1 - github.com/onsi/ginkgo/v2 v2.17.1 - github.com/onsi/gomega v1.32.0 + github.com/go-logr/logr v1.4.2 + github.com/onsi/ginkgo/v2 v2.20.0 + github.com/onsi/gomega v1.34.1 github.com/openshift/api v0.0.0-20230105153616-8ac112765edc github.com/prometheus/client_golang v1.19.1 k8s.io/api v0.29.3 @@ -21,23 +21,23 @@ require ( require ( github.com/RedHatInsights/strimzi-client-go v0.34.2 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/emicklei/go-restful/v3 v3.11.0 // indirect + github.com/emicklei/go-restful/v3 v3.12.1 // indirect github.com/evanphx/json-patch/v5 v5.9.0 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-logr/zapr v1.3.0 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.4 // indirect - github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect + github.com/go-openapi/jsonpointer v0.21.0 // indirect + github.com/go-openapi/jsonreference v0.21.0 // indirect + github.com/go-openapi/swag v0.23.0 // indirect + github.com/go-task/slim-sprig/v3 v3.0.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/gnostic-models v0.6.8 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20231212022811-ec68065c825e // indirect + github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 // indirect github.com/google/uuid v1.6.0 // indirect github.com/imdario/mergo v0.3.16 // indirect github.com/josharian/intern v1.0.0 // indirect @@ -48,30 +48,30 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pkg/errors v0.9.1 // indirect - github.com/prometheus/client_model v0.5.0 // indirect - github.com/prometheus/common v0.48.0 // indirect - github.com/prometheus/procfs v0.12.0 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.55.0 // indirect + github.com/prometheus/procfs v0.15.1 // indirect github.com/spf13/pflag v1.0.5 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.25.0 // indirect - golang.org/x/oauth2 v0.20.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect - golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.21.0 // indirect + golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa // indirect + golang.org/x/net v0.28.0 // indirect + golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/sys v0.24.0 // indirect + golang.org/x/term v0.23.0 // indirect + golang.org/x/text v0.17.0 // indirect + golang.org/x/time v0.6.0 // indirect + golang.org/x/tools v0.24.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect - google.golang.org/protobuf v1.34.1 // indirect + google.golang.org/protobuf v1.34.2 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/apiextensions-apiserver v0.29.3 // indirect k8s.io/component-base v0.29.3 // indirect - k8s.io/klog/v2 v2.110.1 // indirect - k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect - k8s.io/utils v0.0.0-20231127182322-b307cd553661 // indirect + k8s.io/klog/v2 v2.130.1 // indirect + k8s.io/kube-openapi v0.0.0-20240812233141-91dab695df6f // indirect + k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect knative.dev/pkg v0.0.0-20221123154742-05b694ec4d3a // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect diff --git a/go.sum b/go.sum index eda0fd97..4f1e33ab 100644 --- a/go.sum +++ b/go.sum @@ -1,42 +1,39 @@ github.com/RedHatInsights/clowder v0.90.0 h1:R1m0z67GbEntNQCfelfkm8TBgzGGgBPorlPfg8A2T/U= github.com/RedHatInsights/clowder v0.90.0/go.mod h1:zxu0Km2abK6NJMsy16a+LEQlGC+pvEomVgxNiFwcXY0= -github.com/RedHatInsights/frontend-operator v0.1.4 h1:Z3d9SfkZdgYd5ERVmoXMBaYBE8JDnSQkGl0jVQXjie4= -github.com/RedHatInsights/frontend-operator v0.1.4/go.mod h1:+JhACpj89EFEjfLbFwpVvDsiEoU7PSl9oah5E8/kzM0= +github.com/RedHatInsights/frontend-operator v0.2.0 h1:OCqlS9LQC77Z7/zGPQe3rh+XoLjQ91W0OR6yT2oklSY= +github.com/RedHatInsights/frontend-operator v0.2.0/go.mod h1:ZXbRx1EOKS4zsN2IP5sVRecxQB2xuYc6mHQAkyoz25Q= github.com/RedHatInsights/rhc-osdk-utils v0.12.0 h1:hjJ+U7a+/BCXQb7Y/CIpERv5Cm9wIY1VaPkQkBATWW8= github.com/RedHatInsights/rhc-osdk-utils v0.12.0/go.mod h1:5UYiKYXToQB1KN2Pxr27p6Y10w+XrJYzCoMcIOhQBl8= github.com/RedHatInsights/strimzi-client-go v0.34.2 h1:6DJJc/spMBRwC8jKLYRDoYzCYLXy2+NV1J4t0Ui46u0= github.com/RedHatInsights/strimzi-client-go v0.34.2/go.mod h1:7OPvvx8wg6NrP+3wbBoRlrE5UB0N0m3xeR/PZ2ofSHM= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= -github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.12.1 h1:PJMDIM/ak7btuL8Ex0iYET9hxM3CI2sjZtzpL63nKAU= +github.com/emicklei/go-restful/v3 v3.12.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ2tG6yudJd8LBksgI= github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg= github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU= -github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= +github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= +github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= +github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= +github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= +github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= @@ -51,8 +48,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20231212022811-ec68065c825e h1:bwOy7hAFd0C91URzMIEBfr6BAz29yk7Qj0cy6S7DJlU= -github.com/google/pprof v0.0.0-20231212022811-ec68065c825e/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= +github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 h1:FKHo8hFI3A+7w0aUQuYXQ+6EN5stWmeY/AZqtM8xk9k= +github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= @@ -65,11 +62,8 @@ github.com/kedacore/keda/v2 v2.8.2 h1:Em4Is3enAI2R0o8Q0Z82MXQC/CeNzK5x/A8DzfJZnc github.com/kedacore/keda/v2 v2.8.2/go.mod h1:jL4AfkWpTxZttNZMiZ7T741Bqxsd52JlbL0oU8C39w8= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= @@ -81,10 +75,10 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.17.1 h1:V++EzdbhI4ZV4ev0UTIj0PzhzOcReJFyJaLjtSF55M8= -github.com/onsi/ginkgo/v2 v2.17.1/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs= -github.com/onsi/gomega v1.32.0 h1:JRYU78fJ1LPxlckP6Txi/EYqJvjtMrDC04/MM5XRHPk= -github.com/onsi/gomega v1.32.0/go.mod h1:a4x4gW6Pz2yK1MAmvluYme5lvYTn61afQ2ETw/8n4Lg= +github.com/onsi/ginkgo/v2 v2.20.0 h1:PE84V2mHqoT1sglvHc8ZdQtPcwmvvt29WLEEO3xmdZw= +github.com/onsi/ginkgo/v2 v2.20.0/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI= +github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= +github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= github.com/openshift/api v0.0.0-20230105153616-8ac112765edc h1:GMgNoJsM3C5NelwclamlIl9jkAmWL5BD+4V3bHK/jD4= github.com/openshift/api v0.0.0-20230105153616-8ac112765edc/go.mod h1:OW9hi5XDXOQWm/kRqUww6RVxZSf0nqrS4heerSmHBC4= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -93,24 +87,18 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= -github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= -github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= -github.com/prometheus/common v0.48.0 h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE= -github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc= -github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= -github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= +github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= +github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= +github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -126,52 +114,52 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= -golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= +golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa h1:ELnwvuAXPNtPk1TJRuGkI9fDTwym6AYBu0qzT8AcHdI= +golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa/go.mod h1:akd2r19cwCdwSwWeIdzYQGa/EZZyqcOdwWiwj5L5eKQ= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= +golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= -golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= +golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= +golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= -golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= +golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= +golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -180,7 +168,6 @@ gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= k8s.io/api v0.29.3 h1:2ORfZ7+bGC3YJqGpV0KSDDEVf8hdGQ6A03/50vj8pmw= @@ -193,12 +180,12 @@ k8s.io/client-go v0.29.3 h1:R/zaZbEAxqComZ9FHeQwOh3Y1ZUs7FaHKZdQtIc2WZg= k8s.io/client-go v0.29.3/go.mod h1:tkDisCvgPfiRpxGnOORfkljmS+UrW+WtXAy2fTvXJB0= k8s.io/component-base v0.29.3 h1:Oq9/nddUxlnrCuuR2K/jp6aflVvc0uDvxMzAWxnGzAo= k8s.io/component-base v0.29.3/go.mod h1:Yuj33XXjuOk2BAaHsIGHhCKZQAgYKhqIxIjIr2UXYio= -k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0= -k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo= -k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780= -k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= -k8s.io/utils v0.0.0-20231127182322-b307cd553661 h1:FepOBzJ0GXm8t0su67ln2wAZjbQ6RxQGZDnzuLcrUTI= -k8s.io/utils v0.0.0-20231127182322-b307cd553661/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= +k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= +k8s.io/kube-openapi v0.0.0-20240812233141-91dab695df6f h1:bnWtxXWdAl5bVOCEPoNdvMkyj6cTW3zxHuwKIakuV9w= +k8s.io/kube-openapi v0.0.0-20240812233141-91dab695df6f/go.mod h1:G0W3eI9gG219NHRq3h5uQaRBl4pj4ZpwzRP5ti8y770= +k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A= +k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= knative.dev/pkg v0.0.0-20221123154742-05b694ec4d3a h1:mTDxXL+zRBMz7BcdM3WOgw9FVbmkIN/3cvEj4MeS8zI= knative.dev/pkg v0.0.0-20221123154742-05b694ec4d3a/go.mod h1:fckNBPf9bu5/p1RbnOhEauX7r+kfN1zSQupEVtkaYBs= sigs.k8s.io/cluster-api v1.7.2 h1:bRE8zoao7ajuLC0HijqfZVcubKQCPlZ04HMgcA53FGE=