From 42dbc9dd5f925c30d5dc14e1ad550a0883c9ea70 Mon Sep 17 00:00:00 2001 From: Ndm Space <124885634+ndmspc@users.noreply.github.com> Date: Sat, 14 Oct 2023 20:17:47 +0200 Subject: [PATCH] operator ndmspc-operator (0.5.0) --- .../apps.ndmspc.io_ndmspcconfigs.yaml | 168 +++++++++ ...er-manager-metrics-service_v1_service.yaml | 23 ++ ...-operator-manager-config_v1_configmap.yaml | 26 ++ ...c.authorization.k8s.io_v1_clusterrole.yaml | 17 + ...ndmspc-operator.clusterserviceversion.yaml | 324 ++++++++++++++++++ .../0.5.0/metadata/annotations.yaml | 14 + .../0.5.0/tests/scorecard/config.yaml | 70 ++++ 7 files changed, 642 insertions(+) create mode 100644 operators/ndmspc-operator/0.5.0/manifests/apps.ndmspc.io_ndmspcconfigs.yaml create mode 100644 operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator-controller-manager-metrics-service_v1_service.yaml create mode 100644 operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator-manager-config_v1_configmap.yaml create mode 100644 operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml create mode 100644 operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator.clusterserviceversion.yaml create mode 100644 operators/ndmspc-operator/0.5.0/metadata/annotations.yaml create mode 100644 operators/ndmspc-operator/0.5.0/tests/scorecard/config.yaml diff --git a/operators/ndmspc-operator/0.5.0/manifests/apps.ndmspc.io_ndmspcconfigs.yaml b/operators/ndmspc-operator/0.5.0/manifests/apps.ndmspc.io_ndmspcconfigs.yaml new file mode 100644 index 00000000000..b448f336f62 --- /dev/null +++ b/operators/ndmspc-operator/0.5.0/manifests/apps.ndmspc.io_ndmspcconfigs.yaml @@ -0,0 +1,168 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + name: ndmspcconfigs.apps.ndmspc.io +spec: + group: apps.ndmspc.io + names: + kind: NdmSpcConfig + listKind: NdmSpcConfigList + plural: ndmspcconfigs + singular: ndmspcconfig + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: NdmSpcConfig is the Schema for the ndmspcconfigs 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' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec defines the desired state of NdmSpcConfig + properties: + executor: + description: ExecutorSpec defines the desired state of Executor + properties: + image: + default: registry.gitlab.com/ndmspc/api:v0.2.0 + description: Custom Executor image + type: string + name: + default: executor + description: Name used for host or prefix in ingress + type: string + type: object + executors: + default: 1 + description: Desired number of Executor pods + type: integer + ingressbodysize: + default: 1m + description: Ingress request body size + type: string + ingressenablecors: + default: true + description: Flag if cors is enabled + type: boolean + ingressenabled: + default: true + description: Flag if ingress is enabled + type: boolean + ingresshostdomain: + default: 127.0.0.1.nip.io + description: Ingress host domain + type: string + ingresshosttype: + default: prefix + description: Ingress type (host or prefix). + type: string + ingresswebsockettimeout: + default: 120 + description: Web socket timeout + type: integer + salsa: + description: SalsaSpec defines the desired state of Salsa + properties: + image: + default: registry.gitlab.com/ndmspc/salsa:v0.4.15 + description: Custom SALSA image + type: string + worker: + description: SALSA worker customization + properties: + resources: + description: SALSA worker resources + properties: + limits: + description: SALSA worker resources limits + properties: + cpu: + default: 1000m + description: SALSA worker cpu limits + type: string + memory: + default: 2Gi + description: SALSA worker memory limits + type: string + type: object + requests: + description: SALSA worker resources requests + properties: + cpu: + default: 500m + description: SALSA worker cpu request + type: string + memory: + default: 1Gi + description: SALSA worker memory request + type: string + type: object + type: object + type: object + type: object + webapp: + description: WebAppSpec defines the desired state of WebApp + properties: + image: + default: registry.gitlab.com/ndmspc/react-ndmspc:v0.20231013.0 + description: Custom WebApp image + type: string + name: + default: ndmspc-web + description: Name used for host or prefix in ingress + type: string + type: object + webappcontainerport: + default: 8080 + description: Container port used to expose WebApp (80 for nginx, 8080 + for nginx-unprivileged) + type: integer + webapps: + default: 1 + description: Desired number of WebApp pods + type: integer + workers: + default: 2 + description: Desired number of Salsa worker pods + type: integer + zmq2ws: + description: Zmq2WsSpec defines the desired state of Zmq2ws + properties: + image: + default: registry.gitlab.com/ndmspc/zmq2ws:v1.20231012.0 + description: Custom Zmq2ws image + type: string + name: + default: zmq2ws + description: Name used for host or prefix in ingress + type: string + type: object + type: object + x-kubernetes-preserve-unknown-fields: true + status: + description: Status defines the observed state of NdmSpcConfig + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator-controller-manager-metrics-service_v1_service.yaml b/operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator-controller-manager-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..7fd78464903 --- /dev/null +++ b/operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator-controller-manager-metrics-service_v1_service.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/component: kube-rbac-proxy + app.kubernetes.io/created-by: ndmspc-operator + app.kubernetes.io/instance: controller-manager-metrics-service + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: service + app.kubernetes.io/part-of: ndmspc-operator + control-plane: controller-manager + name: ndmspc-operator-controller-manager-metrics-service +spec: + ports: + - name: https + port: 8443 + protocol: TCP + targetPort: https + selector: + control-plane: controller-manager +status: + loadBalancer: {} diff --git a/operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator-manager-config_v1_configmap.yaml b/operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator-manager-config_v1_configmap.yaml new file mode 100644 index 00000000000..603f4fd03f4 --- /dev/null +++ b/operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator-manager-config_v1_configmap.yaml @@ -0,0 +1,26 @@ +apiVersion: v1 +data: + controller_manager_config.yaml: | + apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 + kind: ControllerManagerConfig + health: + healthProbeBindAddress: :6789 + metrics: + bindAddress: 127.0.0.1:8080 + + leaderElection: + leaderElect: true + resourceName: 811c9dc5.ndmspc.io + # leaderElectionReleaseOnCancel defines if the leader should step down volume + # when the Manager ends. This requires the binary to immediately end when the + # Manager is stopped, otherwise, this setting is unsafe. Setting this significantly + # speeds up voluntary leader transitions as the new leader don't have to wait + # LeaseDuration time first. + # In the default scaffold provided, the program ends immediately after + # the manager stops, so would be fine to enable this option. However, + # if you are doing or is intended to do any operation such as perform cleanups + # after the manager stops then its usage might be unsafe. + # leaderElectionReleaseOnCancel: true +kind: ConfigMap +metadata: + name: ndmspc-operator-manager-config diff --git a/operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 00000000000..6afa9deddb6 --- /dev/null +++ b/operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,17 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/component: kube-rbac-proxy + app.kubernetes.io/created-by: ndmspc-operator + app.kubernetes.io/instance: metrics-reader + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: clusterrole + app.kubernetes.io/part-of: ndmspc-operator + name: ndmspc-operator-metrics-reader +rules: +- nonResourceURLs: + - /metrics + verbs: + - get diff --git a/operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator.clusterserviceversion.yaml b/operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator.clusterserviceversion.yaml new file mode 100644 index 00000000000..7466369e57b --- /dev/null +++ b/operators/ndmspc-operator/0.5.0/manifests/ndmspc-operator.clusterserviceversion.yaml @@ -0,0 +1,324 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "apps.ndmspc.io/v1alpha1", + "kind": "NdmSpcConfig", + "metadata": { + "labels": { + "app.kubernetes.io/created-by": "ndmspc-operator", + "app.kubernetes.io/instance": "ndmspcconfig-sample", + "app.kubernetes.io/managed-by": "kustomize", + "app.kubernetes.io/name": "ndmspcconfig", + "app.kubernetes.io/part-of": "ndmspc-operator" + }, + "name": "ndmspc-sample" + }, + "spec": { + "executor": { + "image": "registry.gitlab.com/ndmspc/api:v0.2.0", + "name": "api/v1" + }, + "executors": 1, + "ingressbodysize": "1m", + "ingressenablecors": true, + "ingressenabled": true, + "ingresshostdomain": "127.0.0.1.nip.io", + "ingresshosttype": "prefix", + "ingressnostname": "ndmspc", + "ingresswebsockettimeout": 120, + "salsa": { + "image": "registry.gitlab.com/ndmspc/salsa:v0.4.15", + "worker": { + "resources": { + "limits": { + "cpu": "200m", + "memory": "2Gi" + }, + "requests": { + "cpu": "100m", + "memory": "1Gi" + } + } + } + }, + "webapp": { + "image": "registry.gitlab.com/ndmspc/react-ndmspc:v0.20231013.0", + "name": "" + }, + "webappcontainerport": 8080, + "webapps": 1, + "workers": 2, + "zmq2ws": { + "image": "registry.gitlab.com/ndmspc/zmq2ws:v1.20231012.0", + "name": "zmq2ws" + } + } + } + ] + capabilities: Basic Install + categories: Big Data + containerImage: registry.gitlab.com/ndmspc/ndmspc-operator:0.5.0 + createdAt: "2023-10-14T17:52:37Z" + description: The NdmSpc operator automates the deployment and management of Ndmspc + suite on Kubernetes cluster. + operators.operatorframework.io/builder: operator-sdk-v1.32.0 + operators.operatorframework.io/project_layout: ansible.sdk.operatorframework.io/v1 + repository: https://gitlab.com/ndmspc/ndmspc-operator + name: ndmspc-operator.v0.5.0 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - kind: NdmSpcConfig + name: ndmspcconfigs.apps.ndmspc.io + version: v1alpha1 + description: NdmSpc configuration + displayName: NdmSpc Config + description: "The NdmSpc operator automates the deployment and management of Ndmspc + suite on Kubernetes cluster. This operator allows user to deploy SALSA cluster + with ZMQ2WS and job executor service and specify custom webapp page.\n\n### Capabilities\n\n- + SALSA cluster\n- ZMQ2WS api service\n- Job executor service \n- Custom WebApp + page\n" + displayName: NdmSpc operator + icon: + - base64data: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MzEuNjUgNjg4LjIzIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2U5ZTllOTt9LmNscy0yLC5jbHMtNCwuY2xzLTZ7ZmlsbDpub25lO3N0cm9rZS1saW5lam9pbjpyb3VuZDt9LmNscy0yLC5jbHMtNntzdHJva2U6Izg4OWJiMzt9LmNscy0ye3N0cm9rZS13aWR0aDo2cHg7b3BhY2l0eTowLjI1O30uY2xzLTN7b3BhY2l0eTowLjU5O30uY2xzLTR7c3Ryb2tlOiM5OGE3YmM7c3Ryb2tlLXdpZHRoOjRweDt9LmNscy01e2ZpbGw6Izg4OWJiMzt9LmNscy02e3N0cm9rZS13aWR0aDo4cHg7fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJMYXllcl82IiBkYXRhLW5hbWU9IkxheWVyIDYiPjxnIGlkPSJrb2NrYS0yIiBkYXRhLW5hbWU9ImtvY2thIj48cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMzE3LjU0IDIyNy45NCA1MTQuMjkgMTE0LjE2IDMxNy41NCAwIDEyMC45NCAxMTMuOTcgMzE3LjU0IDIyNy45NCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIzLjQ4IDU0Mi43MiAyMDAuNCA2NTYuMjEgMjAwLjg4IDQyOC43NSAzLjg4IDMxNS40NyAzLjQ4IDU0Mi43MiIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSI2MzEuNjUgNTQzLjMyIDQzNC43NCA2NTYuODIgNDM0LjI1IDQyOS4zNSA2MzEuMjUgMzE2LjA3IDYzMS42NSA1NDMuMzIiLz48cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMTQ4LjA3IDEzNC4zMiAzNi4yOSAxOTguNzMgMTY3LjE5IDI3NC44MSAyNTUuMTkgMjI0LjY4IDI1NS4xOSAxOTYuNDIgMTQ4LjA3IDEzNC4zMiIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIzNC4xOSAyMDIuMTkgMTY1LjE3IDI3OC4yOCAxNjUuMjQgMzgwLjIzIDE0NS4wMiAzOTIuMDIgMzQuMTkgMzI4LjI2IDM0LjE5IDIwMi4xOSIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIyNTcuMTkgMjI4LjMzIDE2OS4yMSAyNzguMjkgMTY5LjI4IDM3OS45NCAyNTcuMTkgMzI4Ljk1IDI1Ny4xOSAyMjguMzMiLz48cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iNDg2Ljg1IDEzNC42NCA1OTguMDggMTk4Ljc0IDQ2Ny4xOCAyNzQuODIgMzc5LjE5IDIyNC42OCAzNzkuMTkgMTk2LjkxIDQ4Ni44NSAxMzQuNjQiLz48cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iNjAwLjE5IDIwMi4xOSA0NjkuMiAyNzguMjkgNDY5LjEzIDM4MC4yNCA0OTAuMiAzOTIuNTEgNjAwLjE5IDMyOS4xMyA2MDAuMTkgMjAyLjE5Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjM3Ny4xOSAyMjguMTcgNDY1LjE2IDI3OC4zIDQ2NS4xNCAzODAgMzc3LjE5IDMyOC45NiAzNzcuMTkgMjI4LjE3Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjIwNS4xNyA2MjQuMDkgMzE2LjE5IDY4OC4yMyAzMTUuNzMgNTM3LjE5IDIyNy42NSA0ODYuMzkgMjA1LjExIDQ5OS4xNyAyMDUuMTcgNjI0LjA5Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjMyMC4yMiA2ODguNDMgMzE5Ljg3IDUzNy4wOCA0MDcuMjcgNDg1Ljk5IDQzMC4yNiA0OTkuMjYgNDMwLjI2IDYyNC43NyAzMjAuMjIgNjg4LjQzIi8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjIyOS44MSA0ODIuODMgMzE3Ljc2IDUzMy42MyA0MDUuMDYgNDgyLjU1IDMxNy45NyA0MzIuMjIgMjI5LjgxIDQ4Mi44MyIvPjwvZz48ZyBpZD0icGF2dWNpbmEiPjxwb2x5bGluZSBjbGFzcz0iY2xzLTIiIHBvaW50cz0iNDI2LjQyIDQyNC44NCAzMTYuMiAzNjEuOTUgMjEwLjQ5IDQyNC40NiIvPjxsaW5lIGNsYXNzPSJjbHMtMiIgeDE9IjMxNS42NSIgeTE9IjM2MS45NSIgeDI9IjMxNS42NSIgeTI9IjIzNi43NyIvPjxnIGNsYXNzPSJjbHMtMyI+PHBvbHlsaW5lIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSIzODEuMjcgMzk5LjQ1IDMxNi4wNCAzNjIuMjMgMjUzLjQ4IDM5OS4yMyIvPjxsaW5lIGNsYXNzPSJjbHMtNCIgeDE9IjMxNS43MSIgeTE9IjM2Mi4yMyIgeDI9IjMxNS43MSIgeTI9IjI4OC4xNSIvPjwvZz48cG9seWdvbiBjbGFzcz0iY2xzLTUiIHBvaW50cz0iMjUyLjQyIDM5Ny40OSAyNTQuMTUgNDAwLjQ5IDIxNS42NCA0MjQuNTMgMjEyLjkzIDQxOS44NCAyNTIuNDIgMzk3LjQ5Ii8+PHBvbHlnb24gY2xhc3M9ImNscy01IiBwb2ludHM9IjMxNy42NiAyODguMTUgMzE0LjIgMjg4LjE1IDMxMi42MyAyNDIuNzcgMzE4LjA1IDI0Mi43NyAzMTcuNjYgMjg4LjE1Ii8+PHBvbHlnb24gY2xhc3M9ImNscy01IiBwb2ludHM9IjM4My4yIDM5OC4yNSAzODEuNTIgNDAxLjI4IDQyMC40OSA0MjQuNTggNDIzLjExIDQxOS44NCAzODMuMiAzOTguMjUiLz48cG9seWdvbiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMzE2LjQ1IDI4OC4xNSAzODIuMDkgMzI2LjA5IDM4Mi4zNSAzOTkuNjkgMzE2LjcxIDQzNi4wMiAyNTMuMjQgMzk5LjQ2IDI1Mi45OCAzMjUuODYgMzE2LjQ1IDI4OC4xNSIvPjxwb2x5bGluZSBjbGFzcz0iY2xzLTYiIHBvaW50cz0iMjA5LjY0IDMwMS4zNiAzMTYuMDQgMzYyLjA5IDMxNi40OCA0ODYuMjQiLz48bGluZSBjbGFzcz0iY2xzLTYiIHgxPSIzMTUuNSIgeTE9IjM2Mi4wOSIgeDI9IjQyNS41NCIgeTI9IjMwMS43NCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtNiIgcG9pbnRzPSIzMTUuNjMgMjM4LjQ0IDQyNS40IDMwMS44OSA0MjUuODQgNDI0Ljk3IDMxNi4wNyA0ODUuNzMgMjA5LjkzIDQyNC41OSAyMDkuNDkgMzAxLjUxIDMxNS42MyAyMzguNDQiLz48L2c+PC9nPjwvc3ZnPg== + mediatype: image/svg+xml + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - secrets + - pods + - pods/exec + - pods/log + - services + - ingresses + - configmaps + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - deployments + - daemonsets + - replicasets + - statefulsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps.ndmspc.io + resources: + - ndmspcconfigs + - ndmspcconfigs/status + - ndmspcconfigs/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create + serviceAccountName: ndmspc-operator-controller-manager + deployments: + - label: + app.kubernetes.io/component: manager + app.kubernetes.io/created-by: ndmspc-operator + app.kubernetes.io/instance: controller-manager + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: deployment + app.kubernetes.io/part-of: ndmspc-operator + control-plane: controller-manager + name: ndmspc-operator-controller-manager + spec: + replicas: 1 + selector: + matchLabels: + control-plane: controller-manager + strategy: {} + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: manager + labels: + control-plane: controller-manager + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/arch + operator: In + values: + - amd64 + - arm64 + - ppc64le + - s390x + - key: kubernetes.io/os + operator: In + values: + - linux + containers: + - args: + - --secure-listen-address=0.0.0.0:8443 + - --upstream=http://127.0.0.1:8080/ + - --logtostderr=true + - --v=0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 + name: kube-rbac-proxy + ports: + - containerPort: 8443 + name: https + protocol: TCP + resources: + limits: + cpu: 500m + memory: 128Mi + requests: + cpu: 5m + memory: 64Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + - args: + - --health-probe-bind-address=:6789 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect + - --leader-election-id=ndmspc-operator + env: + - name: ANSIBLE_GATHERING + value: explicit + image: registry.gitlab.com/ndmspc/ndmspc-operator:0.5.0 + livenessProbe: + httpGet: + path: /healthz + port: 6789 + initialDelaySeconds: 15 + periodSeconds: 20 + name: manager + readinessProbe: + httpGet: + path: /readyz + port: 6789 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + limits: + cpu: 500m + memory: 768Mi + requests: + cpu: 10m + memory: 256Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + securityContext: + runAsNonRoot: true + serviceAccountName: ndmspc-operator-controller-manager + terminationGracePeriodSeconds: 10 + permissions: + - rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + serviceAccountName: ndmspc-operator-controller-manager + strategy: deployment + installModes: + - supported: false + type: OwnNamespace + - supported: false + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - ndmspc + links: + - name: Ndmspc Operator + url: https://ndmspc.gitlab.io/docs + maintainers: + - email: ndmspc@gmail.com + name: NdmSpc Support + maturity: alpha + minKubeVersion: 1.18.0 + provider: + name: NdmSpc project + version: 0.5.0 diff --git a/operators/ndmspc-operator/0.5.0/metadata/annotations.yaml b/operators/ndmspc-operator/0.5.0/metadata/annotations.yaml new file mode 100644 index 00000000000..152232c2b29 --- /dev/null +++ b/operators/ndmspc-operator/0.5.0/metadata/annotations.yaml @@ -0,0 +1,14 @@ +annotations: + # Core bundle annotations. + operators.operatorframework.io.bundle.mediatype.v1: registry+v1 + operators.operatorframework.io.bundle.manifests.v1: manifests/ + operators.operatorframework.io.bundle.metadata.v1: metadata/ + operators.operatorframework.io.bundle.package.v1: ndmspc-operator + operators.operatorframework.io.bundle.channels.v1: alpha + operators.operatorframework.io.metrics.builder: operator-sdk-v1.32.0 + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: ansible.sdk.operatorframework.io/v1 + + # Annotations for testing. + operators.operatorframework.io.test.mediatype.v1: scorecard+v1 + operators.operatorframework.io.test.config.v1: tests/scorecard/ diff --git a/operators/ndmspc-operator/0.5.0/tests/scorecard/config.yaml b/operators/ndmspc-operator/0.5.0/tests/scorecard/config.yaml new file mode 100644 index 00000000000..9769772ab10 --- /dev/null +++ b/operators/ndmspc-operator/0.5.0/tests/scorecard/config.yaml @@ -0,0 +1,70 @@ +apiVersion: scorecard.operatorframework.io/v1alpha3 +kind: Configuration +metadata: + name: config +stages: +- parallel: true + tests: + - entrypoint: + - scorecard-test + - basic-check-spec + image: quay.io/operator-framework/scorecard-test:v1.32.0 + labels: + suite: basic + test: basic-check-spec-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-bundle-validation + image: quay.io/operator-framework/scorecard-test:v1.32.0 + labels: + suite: olm + test: olm-bundle-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-validation + image: quay.io/operator-framework/scorecard-test:v1.32.0 + labels: + suite: olm + test: olm-crds-have-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-crds-have-resources + image: quay.io/operator-framework/scorecard-test:v1.32.0 + labels: + suite: olm + test: olm-crds-have-resources-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-spec-descriptors + image: quay.io/operator-framework/scorecard-test:v1.32.0 + labels: + suite: olm + test: olm-spec-descriptors-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-status-descriptors + image: quay.io/operator-framework/scorecard-test:v1.32.0 + labels: + suite: olm + test: olm-status-descriptors-test + storage: + spec: + mountPath: {} +storage: + spec: + mountPath: {}