From c9b8f5f48008c05304f2c423008247ae7a371d00 Mon Sep 17 00:00:00 2001 From: gazarenkov Date: Thu, 8 Aug 2024 12:47:22 +0300 Subject: [PATCH] upgrade tool versions to the latest Signed-off-by: gazarenkov --- Makefile | 19 +- api/v1alpha1/zz_generated.deepcopy.go | 1 - api/v1alpha2/zz_generated.deepcopy.go | 1 - ...kstage-operator.clusterserviceversion.yaml | 2 +- .../manifests/rhdh.redhat.com_backstages.yaml | 538 ++++++++--------- .../crd/bases/rhdh.redhat.com_backstages.yaml | 539 +++++++++--------- config/rbac/role.yaml | 1 - 7 files changed, 557 insertions(+), 544 deletions(-) diff --git a/Makefile b/Makefile index 46b9208a..a4015860 100644 --- a/Makefile +++ b/Makefile @@ -53,8 +53,7 @@ endif # Image URL to use all building/pushing image targets IMG ?= $(IMAGE_TAG_BASE):$(VERSION) -# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. -ENVTEST_K8S_VERSION = 1.25.0 + # Default Backstage config directory to use # it has to be defined as a set of YAML files inside ./config/manager/$(CONF_DIR) directory @@ -227,15 +226,17 @@ ADDLICENSE ?= $(LOCALBIN)/addlicense GOSEC ?= $(LOCALBIN)/gosec ## Tool Versions -KUSTOMIZE_VERSION ?= v3.8.7 -CONTROLLER_TOOLS_VERSION ?= v0.11.3 -GOLANGCI_LINT_VERSION ?= v1.55.2 -GOIMPORTS_VERSION ?= v0.15.0 +KUSTOMIZE_VERSION ?= v5.4.2 +CONTROLLER_TOOLS_VERSION ?= v0.14.0 +GOLANGCI_LINT_VERSION ?= v1.59.1 +GOIMPORTS_VERSION ?= v0.16.1 ADDLICENSE_VERSION ?= v1.1.1 # opm and operator-sdk version -OPM_VERSION ?= v1.36.0 -OPERATOR_SDK_VERSION ?= v1.33.0 -GOSEC_VERSION ?= v2.18.2 +OPM_VERSION ?= v1.45.0 +OPERATOR_SDK_VERSION ?= v1.36.0 +GOSEC_VERSION ?= v2.20.0 +# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. +ENVTEST_K8S_VERSION = 1.28.0 ## Gosec options - default format is sarif so we can integrate with Github code scanning GOSEC_FMT ?= sarif # for other options, see https://github.com/securego/gosec#output-formats diff --git a/api/v1alpha1/zz_generated.deepcopy.go b/api/v1alpha1/zz_generated.deepcopy.go index da31d8b8..c129d12e 100644 --- a/api/v1alpha1/zz_generated.deepcopy.go +++ b/api/v1alpha1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated /* Copyright 2023 Red Hat Inc.. diff --git a/api/v1alpha2/zz_generated.deepcopy.go b/api/v1alpha2/zz_generated.deepcopy.go index 280d13d4..4a5c4e8d 100644 --- a/api/v1alpha2/zz_generated.deepcopy.go +++ b/api/v1alpha2/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated /* Copyright 2023 Red Hat Inc.. diff --git a/bundle/manifests/backstage-operator.clusterserviceversion.yaml b/bundle/manifests/backstage-operator.clusterserviceversion.yaml index d2b4dced..bca45585 100644 --- a/bundle/manifests/backstage-operator.clusterserviceversion.yaml +++ b/bundle/manifests/backstage-operator.clusterserviceversion.yaml @@ -21,7 +21,7 @@ metadata: } ] capabilities: Seamless Upgrades - createdAt: "2024-08-02T19:08:51Z" + createdAt: "2024-08-08T09:36:53Z" operatorframework.io/suggested-namespace: backstage-system operators.operatorframework.io/builder: operator-sdk-v1.33.0 operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 diff --git a/bundle/manifests/rhdh.redhat.com_backstages.yaml b/bundle/manifests/rhdh.redhat.com_backstages.yaml index 2ae9d8ee..e8a89a8a 100644 --- a/bundle/manifests/rhdh.redhat.com_backstages.yaml +++ b/bundle/manifests/rhdh.redhat.com_backstages.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.3 + controller-gen.kubebuilder.io/version: v0.14.0 creationTimestamp: null name: backstages.rhdh.redhat.com spec: @@ -24,14 +24,19 @@ spec: description: Backstage is the Schema for the backstages 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 @@ -42,29 +47,23 @@ spec: description: Configuration for Backstage. Optional. properties: appConfig: - description: References to existing app-configs ConfigMap objects, - that will be mounted as files in the specified mount path. Each - element can be a reference to any ConfigMap or Secret, and will - be mounted inside the main application container under a specified - mount directory. Additionally, each file will be passed as a - `--config /mount/path/to/configmap/key` to the main container - args in the order of the entries defined in the AppConfigs list. - But bear in mind that for a single ConfigMap element containing - several filenames, the order in which those files will be appended - to the main container args cannot be guaranteed. So if you want - to pass multiple app-config files, it is recommended to pass - one ConfigMap per app-config file. + description: |- + References to existing app-configs ConfigMap objects, that will be mounted as files in the specified mount path. + Each element can be a reference to any ConfigMap or Secret, + and will be mounted inside the main application container under a specified mount directory. + Additionally, each file will be passed as a `--config /mount/path/to/configmap/key` to the + main container args in the order of the entries defined in the AppConfigs list. + But bear in mind that for a single ConfigMap element containing several filenames, + the order in which those files will be appended to the main container args cannot be guaranteed. + So if you want to pass multiple app-config files, it is recommended to pass one ConfigMap per app-config file. properties: configMaps: - description: List of ConfigMaps storing the app-config files. - Will be mounted as files under the MountPath specified. - For each item in this array, if a key is not specified, - it means that all keys in the ConfigMap will be mounted - as files. Otherwise, only the specified key will be mounted - as a file. Bear in mind not to put sensitive data in those - ConfigMaps. Instead, your app-config content can reference - environment variables (which you can set with the ExtraEnvs - field) and/or include extra files (see the ExtraFiles field). + description: |- + List of ConfigMaps storing the app-config files. Will be mounted as files under the MountPath specified. + For each item in this array, if a key is not specified, it means that all keys in the ConfigMap will be mounted as files. + Otherwise, only the specified key will be mounted as a file. + Bear in mind not to put sensitive data in those ConfigMaps. Instead, your app-config content can reference + environment variables (which you can set with the ExtraEnvs field) and/or include extra files (see the ExtraFiles field). More details on https://backstage.io/docs/conf/writing/. items: properties: @@ -72,8 +71,9 @@ spec: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -86,28 +86,28 @@ spec: type: string type: object dynamicPluginsConfigMapName: - description: 'Reference to an existing ConfigMap for Dynamic Plugins. + description: |- + Reference to an existing ConfigMap for Dynamic Plugins. A new one will be generated with the default config if not set. - The ConfigMap object must have an existing key named: ''dynamic-plugins.yaml''.' + The ConfigMap object must have an existing key named: 'dynamic-plugins.yaml'. type: string extraEnvs: description: Extra environment variables properties: configMaps: - description: List of references to ConfigMaps objects to inject - as additional environment variables. For each item in this - array, if a key is not specified, it means that all keys - in the ConfigMap will be injected as additional environment - variables. Otherwise, only the specified key will be injected - as an additional environment variable. + description: |- + List of references to ConfigMaps objects to inject as additional environment variables. + For each item in this array, if a key is not specified, it means that all keys in the ConfigMap will be injected as additional environment variables. + Otherwise, only the specified key will be injected as an additional environment variable. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -130,20 +130,19 @@ spec: type: object type: array secrets: - description: List of references to Secrets objects to inject - as additional environment variables. For each item in this - array, if a key is not specified, it means that all keys - in the Secret will be injected as additional environment - variables. Otherwise, only the specified key will be injected - as environment variable. + description: |- + List of references to Secrets objects to inject as additional environment variables. + For each item in this array, if a key is not specified, it means that all keys in the Secret will be injected as additional environment variables. + Otherwise, only the specified key will be injected as environment variable. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -151,25 +150,25 @@ spec: type: array type: object extraFiles: - description: References to existing Config objects to use as extra - config files. They will be mounted as files in the specified - mount path. Each element can be a reference to any ConfigMap - or Secret. + description: |- + References to existing Config objects to use as extra config files. + They will be mounted as files in the specified mount path. + Each element can be a reference to any ConfigMap or Secret. properties: configMaps: - description: List of references to ConfigMaps objects mounted - as extra files under the MountPath specified. For each item - in this array, if a key is not specified, it means that - all keys in the ConfigMap will be mounted as files. Otherwise, - only the specified key will be mounted as a file. + description: |- + List of references to ConfigMaps objects mounted as extra files under the MountPath specified. + For each item in this array, if a key is not specified, it means that all keys in the ConfigMap will be mounted as files. + Otherwise, only the specified key will be mounted as a file. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -181,18 +180,18 @@ spec: listed in the Items field type: string secrets: - description: List of references to Secrets objects mounted - as extra files under the MountPath specified. For each item - in this array, a key must be specified that will be mounted - as a file. + description: |- + List of references to Secrets objects mounted as extra files under the MountPath specified. + For each item in this array, a key must be specified that will be mounted as a file. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -200,10 +199,9 @@ spec: type: array type: object image: - description: Custom image to use in all containers (including - Init Containers). It is your responsibility to make sure the - image is from trusted sources and has been validated for security - compliance + description: |- + Custom image to use in all containers (including Init Containers). + It is your responsibility to make sure the image is from trusted sources and has been validated for security compliance type: string imagePullSecrets: description: Image Pull Secrets to use in all containers (including @@ -213,8 +211,9 @@ spec: type: array replicas: default: 1 - description: Number of desired replicas to set in the Backstage - Deployment. Defaults to 1. + description: |- + Number of desired replicas to set in the Backstage Deployment. + Defaults to 1. format: int32 type: integer route: @@ -225,46 +224,47 @@ spec: description: Control the creation of a Route on OpenShift. type: boolean host: - description: Host is an alias/DNS that points to the service. - Optional. Ignored if Enabled is false. If not specified - a route name will typically be automatically chosen. Must - follow DNS952 subdomain conventions. + description: |- + Host is an alias/DNS that points to the service. Optional. + Ignored if Enabled is false. + If not specified a route name will typically be automatically + chosen. Must follow DNS952 subdomain conventions. maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string subdomain: - description: 'Subdomain is a DNS subdomain that is requested - within the ingress controller''s domain (as a subdomain). - Ignored if Enabled is false. Example: subdomain `frontend` - automatically receives the router subdomain `apps.mycluster.com` - to have a full hostname `frontend.apps.mycluster.com`.' + description: |- + Subdomain is a DNS subdomain that is requested within the ingress controller's + domain (as a subdomain). + Ignored if Enabled is false. + Example: subdomain `frontend` automatically receives the router subdomain + `apps.mycluster.com` to have a full hostname `frontend.apps.mycluster.com`. maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: - description: The tls field provides the ability to configure - certificates for the route. Ignored if Enabled is false. + description: |- + The tls field provides the ability to configure certificates for the route. + Ignored if Enabled is false. properties: caCertificate: description: caCertificate provides the cert authority certificate contents type: string certificate: - description: certificate provides certificate contents. - This should be a single serving certificate, not a certificate + description: |- + certificate provides certificate contents. This should be a single serving certificate, not a certificate chain. Do not include a CA certificate. type: string externalCertificateSecretName: - description: ExternalCertificateSecretName provides certificate - contents as a secret reference. This should be a single - serving certificate, not a certificate chain. Do not - include a CA certificate. The secret referenced should + description: |- + ExternalCertificateSecretName provides certificate contents as a secret reference. + This should be a single serving certificate, not a certificate + chain. Do not include a CA certificate. The secret referenced should be present in the same namespace as that of the Route. - Forbidden when `certificate` is set. Note that securing - Routes with external certificates in TLS secrets is - a Technology Preview feature in OpenShift, and requires - enabling the `RouteExternalCertificate` OpenShift Feature - Gate and might not be functionally complete. + Forbidden when `certificate` is set. + Note that securing Routes with external certificates in TLS secrets is a Technology Preview feature in OpenShift, + and requires enabling the `RouteExternalCertificate` OpenShift Feature Gate and might not be functionally complete. type: string key: description: key provides key file contents @@ -276,14 +276,16 @@ spec: description: Configuration for database access. Optional. properties: authSecretName: - description: 'Name of the secret for database authentication. - Optional. For a local database deployment (EnableLocalDb=true), - a secret will be auto generated if it does not exist. The secret - shall include information used for the database access. An example - for PostgreSQL DB access: "POSTGRES_PASSWORD": "rl4s3Fh4ng3M4" - "POSTGRES_PORT": "5432" "POSTGRES_USER": "postgres" "POSTGRESQL_ADMIN_PASSWORD": - "rl4s3Fh4ng3M4" "POSTGRES_HOST": "backstage-psql-bs1" # For - local database, set to "backstage-psql-".' + description: |- + Name of the secret for database authentication. Optional. + For a local database deployment (EnableLocalDb=true), a secret will be auto generated if it does not exist. + The secret shall include information used for the database access. + An example for PostgreSQL DB access: + "POSTGRES_PASSWORD": "rl4s3Fh4ng3M4" + "POSTGRES_PORT": "5432" + "POSTGRES_USER": "postgres" + "POSTGRESQL_ADMIN_PASSWORD": "rl4s3Fh4ng3M4" + "POSTGRES_HOST": "backstage-psql-bs1" # For local database, set to "backstage-psql-". type: string enableLocalDb: default: true @@ -313,42 +315,42 @@ spec: of the runtime items: description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 @@ -362,11 +364,12 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -390,14 +393,19 @@ spec: description: Backstage is the Schema for the backstages 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 @@ -408,29 +416,23 @@ spec: description: Configuration for Backstage. Optional. properties: appConfig: - description: References to existing app-configs ConfigMap objects, - that will be mounted as files in the specified mount path. Each - element can be a reference to any ConfigMap or Secret, and will - be mounted inside the main application container under a specified - mount directory. Additionally, each file will be passed as a - `--config /mount/path/to/configmap/key` to the main container - args in the order of the entries defined in the AppConfigs list. - But bear in mind that for a single ConfigMap element containing - several filenames, the order in which those files will be appended - to the main container args cannot be guaranteed. So if you want - to pass multiple app-config files, it is recommended to pass - one ConfigMap per app-config file. + description: |- + References to existing app-configs ConfigMap objects, that will be mounted as files in the specified mount path. + Each element can be a reference to any ConfigMap or Secret, + and will be mounted inside the main application container under a specified mount directory. + Additionally, each file will be passed as a `--config /mount/path/to/configmap/key` to the + main container args in the order of the entries defined in the AppConfigs list. + But bear in mind that for a single ConfigMap element containing several filenames, + the order in which those files will be appended to the main container args cannot be guaranteed. + So if you want to pass multiple app-config files, it is recommended to pass one ConfigMap per app-config file. properties: configMaps: - description: List of ConfigMaps storing the app-config files. - Will be mounted as files under the MountPath specified. - For each item in this array, if a key is not specified, - it means that all keys in the ConfigMap will be mounted - as files. Otherwise, only the specified key will be mounted - as a file. Bear in mind not to put sensitive data in those - ConfigMaps. Instead, your app-config content can reference - environment variables (which you can set with the ExtraEnvs - field) and/or include extra files (see the ExtraFiles field). + description: |- + List of ConfigMaps storing the app-config files. Will be mounted as files under the MountPath specified. + For each item in this array, if a key is not specified, it means that all keys in the ConfigMap will be mounted as files. + Otherwise, only the specified key will be mounted as a file. + Bear in mind not to put sensitive data in those ConfigMaps. Instead, your app-config content can reference + environment variables (which you can set with the ExtraEnvs field) and/or include extra files (see the ExtraFiles field). More details on https://backstage.io/docs/conf/writing/. items: properties: @@ -438,8 +440,9 @@ spec: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -452,28 +455,28 @@ spec: type: string type: object dynamicPluginsConfigMapName: - description: 'Reference to an existing ConfigMap for Dynamic Plugins. + description: |- + Reference to an existing ConfigMap for Dynamic Plugins. A new one will be generated with the default config if not set. - The ConfigMap object must have an existing key named: ''dynamic-plugins.yaml''.' + The ConfigMap object must have an existing key named: 'dynamic-plugins.yaml'. type: string extraEnvs: description: Extra environment variables properties: configMaps: - description: List of references to ConfigMaps objects to inject - as additional environment variables. For each item in this - array, if a key is not specified, it means that all keys - in the ConfigMap will be injected as additional environment - variables. Otherwise, only the specified key will be injected - as an additional environment variable. + description: |- + List of references to ConfigMaps objects to inject as additional environment variables. + For each item in this array, if a key is not specified, it means that all keys in the ConfigMap will be injected as additional environment variables. + Otherwise, only the specified key will be injected as an additional environment variable. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -496,20 +499,19 @@ spec: type: object type: array secrets: - description: List of references to Secrets objects to inject - as additional environment variables. For each item in this - array, if a key is not specified, it means that all keys - in the Secret will be injected as additional environment - variables. Otherwise, only the specified key will be injected - as environment variable. + description: |- + List of references to Secrets objects to inject as additional environment variables. + For each item in this array, if a key is not specified, it means that all keys in the Secret will be injected as additional environment variables. + Otherwise, only the specified key will be injected as environment variable. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -517,25 +519,25 @@ spec: type: array type: object extraFiles: - description: References to existing Config objects to use as extra - config files. They will be mounted as files in the specified - mount path. Each element can be a reference to any ConfigMap - or Secret. + description: |- + References to existing Config objects to use as extra config files. + They will be mounted as files in the specified mount path. + Each element can be a reference to any ConfigMap or Secret. properties: configMaps: - description: List of references to ConfigMaps objects mounted - as extra files under the MountPath specified. For each item - in this array, if a key is not specified, it means that - all keys in the ConfigMap will be mounted as files. Otherwise, - only the specified key will be mounted as a file. + description: |- + List of references to ConfigMaps objects mounted as extra files under the MountPath specified. + For each item in this array, if a key is not specified, it means that all keys in the ConfigMap will be mounted as files. + Otherwise, only the specified key will be mounted as a file. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -547,18 +549,18 @@ spec: listed in the Items field type: string secrets: - description: List of references to Secrets objects mounted - as extra files under the MountPath specified. For each item - in this array, a key must be specified that will be mounted - as a file. + description: |- + List of references to Secrets objects mounted as extra files under the MountPath specified. + For each item in this array, a key must be specified that will be mounted as a file. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -566,10 +568,9 @@ spec: type: array type: object image: - description: Custom image to use in all containers (including - Init Containers). It is your responsibility to make sure the - image is from trusted sources and has been validated for security - compliance + description: |- + Custom image to use in all containers (including Init Containers). + It is your responsibility to make sure the image is from trusted sources and has been validated for security compliance type: string imagePullSecrets: description: Image Pull Secrets to use in all containers (including @@ -579,8 +580,9 @@ spec: type: array replicas: default: 1 - description: Number of desired replicas to set in the Backstage - Deployment. Defaults to 1. + description: |- + Number of desired replicas to set in the Backstage Deployment. + Defaults to 1. format: int32 type: integer route: @@ -591,46 +593,47 @@ spec: description: Control the creation of a Route on OpenShift. type: boolean host: - description: Host is an alias/DNS that points to the service. - Optional. Ignored if Enabled is false. If not specified - a route name will typically be automatically chosen. Must - follow DNS952 subdomain conventions. + description: |- + Host is an alias/DNS that points to the service. Optional. + Ignored if Enabled is false. + If not specified a route name will typically be automatically + chosen. Must follow DNS952 subdomain conventions. maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string subdomain: - description: 'Subdomain is a DNS subdomain that is requested - within the ingress controller''s domain (as a subdomain). - Ignored if Enabled is false. Example: subdomain `frontend` - automatically receives the router subdomain `apps.mycluster.com` - to have a full hostname `frontend.apps.mycluster.com`.' + description: |- + Subdomain is a DNS subdomain that is requested within the ingress controller's + domain (as a subdomain). + Ignored if Enabled is false. + Example: subdomain `frontend` automatically receives the router subdomain + `apps.mycluster.com` to have a full hostname `frontend.apps.mycluster.com`. maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: - description: The tls field provides the ability to configure - certificates for the route. Ignored if Enabled is false. + description: |- + The tls field provides the ability to configure certificates for the route. + Ignored if Enabled is false. properties: caCertificate: description: caCertificate provides the cert authority certificate contents type: string certificate: - description: certificate provides certificate contents. - This should be a single serving certificate, not a certificate + description: |- + certificate provides certificate contents. This should be a single serving certificate, not a certificate chain. Do not include a CA certificate. type: string externalCertificateSecretName: - description: ExternalCertificateSecretName provides certificate - contents as a secret reference. This should be a single - serving certificate, not a certificate chain. Do not - include a CA certificate. The secret referenced should + description: |- + ExternalCertificateSecretName provides certificate contents as a secret reference. + This should be a single serving certificate, not a certificate + chain. Do not include a CA certificate. The secret referenced should be present in the same namespace as that of the Route. - Forbidden when `certificate` is set. Note that securing - Routes with external certificates in TLS secrets is - a Technology Preview feature in OpenShift, and requires - enabling the `RouteExternalCertificate` OpenShift Feature - Gate and might not be functionally complete. + Forbidden when `certificate` is set. + Note that securing Routes with external certificates in TLS secrets is a Technology Preview feature in OpenShift, + and requires enabling the `RouteExternalCertificate` OpenShift Feature Gate and might not be functionally complete. type: string key: description: key provides key file contents @@ -642,14 +645,16 @@ spec: description: Configuration for database access. Optional. properties: authSecretName: - description: 'Name of the secret for database authentication. - Optional. For a local database deployment (EnableLocalDb=true), - a secret will be auto generated if it does not exist. The secret - shall include information used for the database access. An example - for PostgreSQL DB access: "POSTGRES_PASSWORD": "rl4s3Fh4ng3M4" - "POSTGRES_PORT": "5432" "POSTGRES_USER": "postgres" "POSTGRESQL_ADMIN_PASSWORD": - "rl4s3Fh4ng3M4" "POSTGRES_HOST": "backstage-psql-bs1" # For - local database, set to "backstage-psql-".' + description: |- + Name of the secret for database authentication. Optional. + For a local database deployment (EnableLocalDb=true), a secret will be auto generated if it does not exist. + The secret shall include information used for the database access. + An example for PostgreSQL DB access: + "POSTGRES_PASSWORD": "rl4s3Fh4ng3M4" + "POSTGRES_PORT": "5432" + "POSTGRES_USER": "postgres" + "POSTGRESQL_ADMIN_PASSWORD": "rl4s3Fh4ng3M4" + "POSTGRES_HOST": "backstage-psql-bs1" # For local database, set to "backstage-psql-". type: string enableLocalDb: default: true @@ -658,14 +663,16 @@ spec: type: boolean type: object deployment: - description: Valid fragment of Deployment to be merged with default/raw - configuration. Set the Deployment's metadata and|or spec fields - you want to override or add. Optional. + description: |- + Valid fragment of Deployment to be merged with default/raw configuration. + Set the Deployment's metadata and|or spec fields you want to override or add. + Optional. properties: patch: - description: Valid fragment of Deployment to be merged with default/raw - configuration. Set the Deployment's metadata and|or spec fields - you want to override or add. Optional. + description: |- + Valid fragment of Deployment to be merged with default/raw configuration. + Set the Deployment's metadata and|or spec fields you want to override or add. + Optional. x-kubernetes-preserve-unknown-fields: true type: object x-kubernetes-preserve-unknown-fields: true @@ -691,42 +698,42 @@ spec: of the runtime items: description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 @@ -740,11 +747,12 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string diff --git a/config/crd/bases/rhdh.redhat.com_backstages.yaml b/config/crd/bases/rhdh.redhat.com_backstages.yaml index 5930c075..ed8d3272 100644 --- a/config/crd/bases/rhdh.redhat.com_backstages.yaml +++ b/config/crd/bases/rhdh.redhat.com_backstages.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.11.3 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: backstages.rhdh.redhat.com spec: group: rhdh.redhat.com @@ -25,14 +24,19 @@ spec: description: Backstage is the Schema for the backstages 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 @@ -43,29 +47,23 @@ spec: description: Configuration for Backstage. Optional. properties: appConfig: - description: References to existing app-configs ConfigMap objects, - that will be mounted as files in the specified mount path. Each - element can be a reference to any ConfigMap or Secret, and will - be mounted inside the main application container under a specified - mount directory. Additionally, each file will be passed as a - `--config /mount/path/to/configmap/key` to the main container - args in the order of the entries defined in the AppConfigs list. - But bear in mind that for a single ConfigMap element containing - several filenames, the order in which those files will be appended - to the main container args cannot be guaranteed. So if you want - to pass multiple app-config files, it is recommended to pass - one ConfigMap per app-config file. + description: |- + References to existing app-configs ConfigMap objects, that will be mounted as files in the specified mount path. + Each element can be a reference to any ConfigMap or Secret, + and will be mounted inside the main application container under a specified mount directory. + Additionally, each file will be passed as a `--config /mount/path/to/configmap/key` to the + main container args in the order of the entries defined in the AppConfigs list. + But bear in mind that for a single ConfigMap element containing several filenames, + the order in which those files will be appended to the main container args cannot be guaranteed. + So if you want to pass multiple app-config files, it is recommended to pass one ConfigMap per app-config file. properties: configMaps: - description: List of ConfigMaps storing the app-config files. - Will be mounted as files under the MountPath specified. - For each item in this array, if a key is not specified, - it means that all keys in the ConfigMap will be mounted - as files. Otherwise, only the specified key will be mounted - as a file. Bear in mind not to put sensitive data in those - ConfigMaps. Instead, your app-config content can reference - environment variables (which you can set with the ExtraEnvs - field) and/or include extra files (see the ExtraFiles field). + description: |- + List of ConfigMaps storing the app-config files. Will be mounted as files under the MountPath specified. + For each item in this array, if a key is not specified, it means that all keys in the ConfigMap will be mounted as files. + Otherwise, only the specified key will be mounted as a file. + Bear in mind not to put sensitive data in those ConfigMaps. Instead, your app-config content can reference + environment variables (which you can set with the ExtraEnvs field) and/or include extra files (see the ExtraFiles field). More details on https://backstage.io/docs/conf/writing/. items: properties: @@ -73,8 +71,9 @@ spec: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -87,28 +86,28 @@ spec: type: string type: object dynamicPluginsConfigMapName: - description: 'Reference to an existing ConfigMap for Dynamic Plugins. + description: |- + Reference to an existing ConfigMap for Dynamic Plugins. A new one will be generated with the default config if not set. - The ConfigMap object must have an existing key named: ''dynamic-plugins.yaml''.' + The ConfigMap object must have an existing key named: 'dynamic-plugins.yaml'. type: string extraEnvs: description: Extra environment variables properties: configMaps: - description: List of references to ConfigMaps objects to inject - as additional environment variables. For each item in this - array, if a key is not specified, it means that all keys - in the ConfigMap will be injected as additional environment - variables. Otherwise, only the specified key will be injected - as an additional environment variable. + description: |- + List of references to ConfigMaps objects to inject as additional environment variables. + For each item in this array, if a key is not specified, it means that all keys in the ConfigMap will be injected as additional environment variables. + Otherwise, only the specified key will be injected as an additional environment variable. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -131,20 +130,19 @@ spec: type: object type: array secrets: - description: List of references to Secrets objects to inject - as additional environment variables. For each item in this - array, if a key is not specified, it means that all keys - in the Secret will be injected as additional environment - variables. Otherwise, only the specified key will be injected - as environment variable. + description: |- + List of references to Secrets objects to inject as additional environment variables. + For each item in this array, if a key is not specified, it means that all keys in the Secret will be injected as additional environment variables. + Otherwise, only the specified key will be injected as environment variable. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -152,25 +150,25 @@ spec: type: array type: object extraFiles: - description: References to existing Config objects to use as extra - config files. They will be mounted as files in the specified - mount path. Each element can be a reference to any ConfigMap - or Secret. + description: |- + References to existing Config objects to use as extra config files. + They will be mounted as files in the specified mount path. + Each element can be a reference to any ConfigMap or Secret. properties: configMaps: - description: List of references to ConfigMaps objects mounted - as extra files under the MountPath specified. For each item - in this array, if a key is not specified, it means that - all keys in the ConfigMap will be mounted as files. Otherwise, - only the specified key will be mounted as a file. + description: |- + List of references to ConfigMaps objects mounted as extra files under the MountPath specified. + For each item in this array, if a key is not specified, it means that all keys in the ConfigMap will be mounted as files. + Otherwise, only the specified key will be mounted as a file. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -182,18 +180,18 @@ spec: listed in the Items field type: string secrets: - description: List of references to Secrets objects mounted - as extra files under the MountPath specified. For each item - in this array, a key must be specified that will be mounted - as a file. + description: |- + List of references to Secrets objects mounted as extra files under the MountPath specified. + For each item in this array, a key must be specified that will be mounted as a file. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -201,10 +199,9 @@ spec: type: array type: object image: - description: Custom image to use in all containers (including - Init Containers). It is your responsibility to make sure the - image is from trusted sources and has been validated for security - compliance + description: |- + Custom image to use in all containers (including Init Containers). + It is your responsibility to make sure the image is from trusted sources and has been validated for security compliance type: string imagePullSecrets: description: Image Pull Secrets to use in all containers (including @@ -214,8 +211,9 @@ spec: type: array replicas: default: 1 - description: Number of desired replicas to set in the Backstage - Deployment. Defaults to 1. + description: |- + Number of desired replicas to set in the Backstage Deployment. + Defaults to 1. format: int32 type: integer route: @@ -226,46 +224,47 @@ spec: description: Control the creation of a Route on OpenShift. type: boolean host: - description: Host is an alias/DNS that points to the service. - Optional. Ignored if Enabled is false. If not specified - a route name will typically be automatically chosen. Must - follow DNS952 subdomain conventions. + description: |- + Host is an alias/DNS that points to the service. Optional. + Ignored if Enabled is false. + If not specified a route name will typically be automatically + chosen. Must follow DNS952 subdomain conventions. maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string subdomain: - description: 'Subdomain is a DNS subdomain that is requested - within the ingress controller''s domain (as a subdomain). - Ignored if Enabled is false. Example: subdomain `frontend` - automatically receives the router subdomain `apps.mycluster.com` - to have a full hostname `frontend.apps.mycluster.com`.' + description: |- + Subdomain is a DNS subdomain that is requested within the ingress controller's + domain (as a subdomain). + Ignored if Enabled is false. + Example: subdomain `frontend` automatically receives the router subdomain + `apps.mycluster.com` to have a full hostname `frontend.apps.mycluster.com`. maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: - description: The tls field provides the ability to configure - certificates for the route. Ignored if Enabled is false. + description: |- + The tls field provides the ability to configure certificates for the route. + Ignored if Enabled is false. properties: caCertificate: description: caCertificate provides the cert authority certificate contents type: string certificate: - description: certificate provides certificate contents. - This should be a single serving certificate, not a certificate + description: |- + certificate provides certificate contents. This should be a single serving certificate, not a certificate chain. Do not include a CA certificate. type: string externalCertificateSecretName: - description: ExternalCertificateSecretName provides certificate - contents as a secret reference. This should be a single - serving certificate, not a certificate chain. Do not - include a CA certificate. The secret referenced should + description: |- + ExternalCertificateSecretName provides certificate contents as a secret reference. + This should be a single serving certificate, not a certificate + chain. Do not include a CA certificate. The secret referenced should be present in the same namespace as that of the Route. - Forbidden when `certificate` is set. Note that securing - Routes with external certificates in TLS secrets is - a Technology Preview feature in OpenShift, and requires - enabling the `RouteExternalCertificate` OpenShift Feature - Gate and might not be functionally complete. + Forbidden when `certificate` is set. + Note that securing Routes with external certificates in TLS secrets is a Technology Preview feature in OpenShift, + and requires enabling the `RouteExternalCertificate` OpenShift Feature Gate and might not be functionally complete. type: string key: description: key provides key file contents @@ -277,14 +276,16 @@ spec: description: Configuration for database access. Optional. properties: authSecretName: - description: 'Name of the secret for database authentication. - Optional. For a local database deployment (EnableLocalDb=true), - a secret will be auto generated if it does not exist. The secret - shall include information used for the database access. An example - for PostgreSQL DB access: "POSTGRES_PASSWORD": "rl4s3Fh4ng3M4" - "POSTGRES_PORT": "5432" "POSTGRES_USER": "postgres" "POSTGRESQL_ADMIN_PASSWORD": - "rl4s3Fh4ng3M4" "POSTGRES_HOST": "backstage-psql-bs1" # For - local database, set to "backstage-psql-".' + description: |- + Name of the secret for database authentication. Optional. + For a local database deployment (EnableLocalDb=true), a secret will be auto generated if it does not exist. + The secret shall include information used for the database access. + An example for PostgreSQL DB access: + "POSTGRES_PASSWORD": "rl4s3Fh4ng3M4" + "POSTGRES_PORT": "5432" + "POSTGRES_USER": "postgres" + "POSTGRESQL_ADMIN_PASSWORD": "rl4s3Fh4ng3M4" + "POSTGRES_HOST": "backstage-psql-bs1" # For local database, set to "backstage-psql-". type: string enableLocalDb: default: true @@ -314,42 +315,42 @@ spec: of the runtime items: description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 @@ -363,11 +364,12 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -391,14 +393,19 @@ spec: description: Backstage is the Schema for the backstages 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 @@ -409,29 +416,23 @@ spec: description: Configuration for Backstage. Optional. properties: appConfig: - description: References to existing app-configs ConfigMap objects, - that will be mounted as files in the specified mount path. Each - element can be a reference to any ConfigMap or Secret, and will - be mounted inside the main application container under a specified - mount directory. Additionally, each file will be passed as a - `--config /mount/path/to/configmap/key` to the main container - args in the order of the entries defined in the AppConfigs list. - But bear in mind that for a single ConfigMap element containing - several filenames, the order in which those files will be appended - to the main container args cannot be guaranteed. So if you want - to pass multiple app-config files, it is recommended to pass - one ConfigMap per app-config file. + description: |- + References to existing app-configs ConfigMap objects, that will be mounted as files in the specified mount path. + Each element can be a reference to any ConfigMap or Secret, + and will be mounted inside the main application container under a specified mount directory. + Additionally, each file will be passed as a `--config /mount/path/to/configmap/key` to the + main container args in the order of the entries defined in the AppConfigs list. + But bear in mind that for a single ConfigMap element containing several filenames, + the order in which those files will be appended to the main container args cannot be guaranteed. + So if you want to pass multiple app-config files, it is recommended to pass one ConfigMap per app-config file. properties: configMaps: - description: List of ConfigMaps storing the app-config files. - Will be mounted as files under the MountPath specified. - For each item in this array, if a key is not specified, - it means that all keys in the ConfigMap will be mounted - as files. Otherwise, only the specified key will be mounted - as a file. Bear in mind not to put sensitive data in those - ConfigMaps. Instead, your app-config content can reference - environment variables (which you can set with the ExtraEnvs - field) and/or include extra files (see the ExtraFiles field). + description: |- + List of ConfigMaps storing the app-config files. Will be mounted as files under the MountPath specified. + For each item in this array, if a key is not specified, it means that all keys in the ConfigMap will be mounted as files. + Otherwise, only the specified key will be mounted as a file. + Bear in mind not to put sensitive data in those ConfigMaps. Instead, your app-config content can reference + environment variables (which you can set with the ExtraEnvs field) and/or include extra files (see the ExtraFiles field). More details on https://backstage.io/docs/conf/writing/. items: properties: @@ -439,8 +440,9 @@ spec: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -453,28 +455,28 @@ spec: type: string type: object dynamicPluginsConfigMapName: - description: 'Reference to an existing ConfigMap for Dynamic Plugins. + description: |- + Reference to an existing ConfigMap for Dynamic Plugins. A new one will be generated with the default config if not set. - The ConfigMap object must have an existing key named: ''dynamic-plugins.yaml''.' + The ConfigMap object must have an existing key named: 'dynamic-plugins.yaml'. type: string extraEnvs: description: Extra environment variables properties: configMaps: - description: List of references to ConfigMaps objects to inject - as additional environment variables. For each item in this - array, if a key is not specified, it means that all keys - in the ConfigMap will be injected as additional environment - variables. Otherwise, only the specified key will be injected - as an additional environment variable. + description: |- + List of references to ConfigMaps objects to inject as additional environment variables. + For each item in this array, if a key is not specified, it means that all keys in the ConfigMap will be injected as additional environment variables. + Otherwise, only the specified key will be injected as an additional environment variable. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -497,20 +499,19 @@ spec: type: object type: array secrets: - description: List of references to Secrets objects to inject - as additional environment variables. For each item in this - array, if a key is not specified, it means that all keys - in the Secret will be injected as additional environment - variables. Otherwise, only the specified key will be injected - as environment variable. + description: |- + List of references to Secrets objects to inject as additional environment variables. + For each item in this array, if a key is not specified, it means that all keys in the Secret will be injected as additional environment variables. + Otherwise, only the specified key will be injected as environment variable. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -518,25 +519,25 @@ spec: type: array type: object extraFiles: - description: References to existing Config objects to use as extra - config files. They will be mounted as files in the specified - mount path. Each element can be a reference to any ConfigMap - or Secret. + description: |- + References to existing Config objects to use as extra config files. + They will be mounted as files in the specified mount path. + Each element can be a reference to any ConfigMap or Secret. properties: configMaps: - description: List of references to ConfigMaps objects mounted - as extra files under the MountPath specified. For each item - in this array, if a key is not specified, it means that - all keys in the ConfigMap will be mounted as files. Otherwise, - only the specified key will be mounted as a file. + description: |- + List of references to ConfigMaps objects mounted as extra files under the MountPath specified. + For each item in this array, if a key is not specified, it means that all keys in the ConfigMap will be mounted as files. + Otherwise, only the specified key will be mounted as a file. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -548,18 +549,18 @@ spec: listed in the Items field type: string secrets: - description: List of references to Secrets objects mounted - as extra files under the MountPath specified. For each item - in this array, a key must be specified that will be mounted - as a file. + description: |- + List of references to Secrets objects mounted as extra files under the MountPath specified. + For each item in this array, a key must be specified that will be mounted as a file. items: properties: key: description: Key in the object type: string name: - description: Name of the object We support only ConfigMaps - and Secrets. + description: |- + Name of the object + We support only ConfigMaps and Secrets. type: string required: - name @@ -567,10 +568,9 @@ spec: type: array type: object image: - description: Custom image to use in all containers (including - Init Containers). It is your responsibility to make sure the - image is from trusted sources and has been validated for security - compliance + description: |- + Custom image to use in all containers (including Init Containers). + It is your responsibility to make sure the image is from trusted sources and has been validated for security compliance type: string imagePullSecrets: description: Image Pull Secrets to use in all containers (including @@ -580,8 +580,9 @@ spec: type: array replicas: default: 1 - description: Number of desired replicas to set in the Backstage - Deployment. Defaults to 1. + description: |- + Number of desired replicas to set in the Backstage Deployment. + Defaults to 1. format: int32 type: integer route: @@ -592,46 +593,47 @@ spec: description: Control the creation of a Route on OpenShift. type: boolean host: - description: Host is an alias/DNS that points to the service. - Optional. Ignored if Enabled is false. If not specified - a route name will typically be automatically chosen. Must - follow DNS952 subdomain conventions. + description: |- + Host is an alias/DNS that points to the service. Optional. + Ignored if Enabled is false. + If not specified a route name will typically be automatically + chosen. Must follow DNS952 subdomain conventions. maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string subdomain: - description: 'Subdomain is a DNS subdomain that is requested - within the ingress controller''s domain (as a subdomain). - Ignored if Enabled is false. Example: subdomain `frontend` - automatically receives the router subdomain `apps.mycluster.com` - to have a full hostname `frontend.apps.mycluster.com`.' + description: |- + Subdomain is a DNS subdomain that is requested within the ingress controller's + domain (as a subdomain). + Ignored if Enabled is false. + Example: subdomain `frontend` automatically receives the router subdomain + `apps.mycluster.com` to have a full hostname `frontend.apps.mycluster.com`. maxLength: 253 pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$ type: string tls: - description: The tls field provides the ability to configure - certificates for the route. Ignored if Enabled is false. + description: |- + The tls field provides the ability to configure certificates for the route. + Ignored if Enabled is false. properties: caCertificate: description: caCertificate provides the cert authority certificate contents type: string certificate: - description: certificate provides certificate contents. - This should be a single serving certificate, not a certificate + description: |- + certificate provides certificate contents. This should be a single serving certificate, not a certificate chain. Do not include a CA certificate. type: string externalCertificateSecretName: - description: ExternalCertificateSecretName provides certificate - contents as a secret reference. This should be a single - serving certificate, not a certificate chain. Do not - include a CA certificate. The secret referenced should + description: |- + ExternalCertificateSecretName provides certificate contents as a secret reference. + This should be a single serving certificate, not a certificate + chain. Do not include a CA certificate. The secret referenced should be present in the same namespace as that of the Route. - Forbidden when `certificate` is set. Note that securing - Routes with external certificates in TLS secrets is - a Technology Preview feature in OpenShift, and requires - enabling the `RouteExternalCertificate` OpenShift Feature - Gate and might not be functionally complete. + Forbidden when `certificate` is set. + Note that securing Routes with external certificates in TLS secrets is a Technology Preview feature in OpenShift, + and requires enabling the `RouteExternalCertificate` OpenShift Feature Gate and might not be functionally complete. type: string key: description: key provides key file contents @@ -643,14 +645,16 @@ spec: description: Configuration for database access. Optional. properties: authSecretName: - description: 'Name of the secret for database authentication. - Optional. For a local database deployment (EnableLocalDb=true), - a secret will be auto generated if it does not exist. The secret - shall include information used for the database access. An example - for PostgreSQL DB access: "POSTGRES_PASSWORD": "rl4s3Fh4ng3M4" - "POSTGRES_PORT": "5432" "POSTGRES_USER": "postgres" "POSTGRESQL_ADMIN_PASSWORD": - "rl4s3Fh4ng3M4" "POSTGRES_HOST": "backstage-psql-bs1" # For - local database, set to "backstage-psql-".' + description: |- + Name of the secret for database authentication. Optional. + For a local database deployment (EnableLocalDb=true), a secret will be auto generated if it does not exist. + The secret shall include information used for the database access. + An example for PostgreSQL DB access: + "POSTGRES_PASSWORD": "rl4s3Fh4ng3M4" + "POSTGRES_PORT": "5432" + "POSTGRES_USER": "postgres" + "POSTGRESQL_ADMIN_PASSWORD": "rl4s3Fh4ng3M4" + "POSTGRES_HOST": "backstage-psql-bs1" # For local database, set to "backstage-psql-". type: string enableLocalDb: default: true @@ -659,14 +663,16 @@ spec: type: boolean type: object deployment: - description: Valid fragment of Deployment to be merged with default/raw - configuration. Set the Deployment's metadata and|or spec fields - you want to override or add. Optional. + description: |- + Valid fragment of Deployment to be merged with default/raw configuration. + Set the Deployment's metadata and|or spec fields you want to override or add. + Optional. properties: patch: - description: Valid fragment of Deployment to be merged with default/raw - configuration. Set the Deployment's metadata and|or spec fields - you want to override or add. Optional. + description: |- + Valid fragment of Deployment to be merged with default/raw configuration. + Set the Deployment's metadata and|or spec fields you want to override or add. + Optional. x-kubernetes-preserve-unknown-fields: true type: object x-kubernetes-preserve-unknown-fields: true @@ -692,42 +698,42 @@ spec: of the runtime items: description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 @@ -741,11 +747,12 @@ spec: - Unknown type: string type: - description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 48610f5b..c7c98a2d 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: