From a7fb0e61607bf05050dbf2a6dfb77a764be2f135 Mon Sep 17 00:00:00 2001 From: Abilio Esteves Date: Wed, 29 Jan 2025 15:24:38 -0800 Subject: [PATCH 1/3] Adds release candidate anjuna operator --- ...c.authorization.k8s.io_v1_clusterrole.yaml | 24 ++ ...c.authorization.k8s.io_v1_clusterrole.yaml | 20 ++ ...er-manager-metrics-service_v1_service.yaml | 17 ++ ...-operator-manager-config_v1_configmap.yaml | 17 ++ ...c.authorization.k8s.io_v1_clusterrole.yaml | 10 + ...c.authorization.k8s.io_v1_rolebinding.yaml | 15 + ...anjuna-operator.clusterserviceversion.yaml | 274 ++++++++++++++++++ .../manifests/anjuna.io_anjunaruntimes.yaml | 249 ++++++++++++++++ .../0.0.1/metadata/annotations.yaml | 17 ++ .../0.0.1/tests/scorecard/config.yaml | 70 +++++ operators/anjuna-operator/ci.yaml | 1 + 11 files changed, 714 insertions(+) create mode 100644 operators/anjuna-operator/0.0.1/manifests/anjuna-operator-anjunaruntime-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml create mode 100644 operators/anjuna-operator/0.0.1/manifests/anjuna-operator-anjunaruntime-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml create mode 100644 operators/anjuna-operator/0.0.1/manifests/anjuna-operator-controller-manager-metrics-service_v1_service.yaml create mode 100644 operators/anjuna-operator/0.0.1/manifests/anjuna-operator-manager-config_v1_configmap.yaml create mode 100644 operators/anjuna-operator/0.0.1/manifests/anjuna-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml create mode 100644 operators/anjuna-operator/0.0.1/manifests/anjuna-operator-privileged-role-binding_rbac.authorization.k8s.io_v1_rolebinding.yaml create mode 100644 operators/anjuna-operator/0.0.1/manifests/anjuna-operator.clusterserviceversion.yaml create mode 100644 operators/anjuna-operator/0.0.1/manifests/anjuna.io_anjunaruntimes.yaml create mode 100644 operators/anjuna-operator/0.0.1/metadata/annotations.yaml create mode 100644 operators/anjuna-operator/0.0.1/tests/scorecard/config.yaml create mode 100644 operators/anjuna-operator/ci.yaml diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-anjunaruntime-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-anjunaruntime-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 00000000000..1786fc0c14f --- /dev/null +++ b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-anjunaruntime-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,24 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: anjuna-operator-anjunaruntime-editor-role +rules: +- apiGroups: + - anjuna.io + resources: + - anjunaruntimes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - anjuna.io + resources: + - anjunaruntimes/status + verbs: + - get diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-anjunaruntime-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-anjunaruntime-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 00000000000..743fa661a04 --- /dev/null +++ b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-anjunaruntime-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,20 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: anjuna-operator-anjunaruntime-viewer-role +rules: +- apiGroups: + - anjuna.io + resources: + - anjunaruntimes + verbs: + - get + - list + - watch +- apiGroups: + - anjuna.io + resources: + - anjunaruntimes/status + verbs: + - get diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-controller-manager-metrics-service_v1_service.yaml b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-controller-manager-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..b42dcbecce9 --- /dev/null +++ b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-controller-manager-metrics-service_v1_service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + labels: + control-plane: controller-manager + name: anjuna-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/anjuna-operator/0.0.1/manifests/anjuna-operator-manager-config_v1_configmap.yaml b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-manager-config_v1_configmap.yaml new file mode 100644 index 00000000000..27fd8233c3c --- /dev/null +++ b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-manager-config_v1_configmap.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +data: + controller_manager_config.yaml: | + apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 + kind: ControllerManagerConfig + health: + healthProbeBindAddress: :8081 + metrics: + bindAddress: 127.0.0.1:8080 + webhook: + port: 9443 + leaderElection: + leaderElect: true + resourceName: 69bf4d38.anjuna.io +kind: ConfigMap +metadata: + name: anjuna-operator-manager-config diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml new file mode 100644 index 00000000000..9c30fa5b323 --- /dev/null +++ b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml @@ -0,0 +1,10 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: anjuna-operator-metrics-reader +rules: +- nonResourceURLs: + - /metrics + verbs: + - get diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-privileged-role-binding_rbac.authorization.k8s.io_v1_rolebinding.yaml b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-privileged-role-binding_rbac.authorization.k8s.io_v1_rolebinding.yaml new file mode 100644 index 00000000000..54715d6727b --- /dev/null +++ b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-privileged-role-binding_rbac.authorization.k8s.io_v1_rolebinding.yaml @@ -0,0 +1,15 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + creationTimestamp: null + name: anjuna-operator-privileged-role-binding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: anjuna-operator-privileged-role +subjects: +- kind: ServiceAccount + name: anjuna-cloud-adaptor +- kind: ServiceAccount + name: anjuna-operator-controller-manager + namespace: anjuna-operator diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator.clusterserviceversion.yaml b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator.clusterserviceversion.yaml new file mode 100644 index 00000000000..79ad125049e --- /dev/null +++ b/operators/anjuna-operator/0.0.1/manifests/anjuna-operator.clusterserviceversion.yaml @@ -0,0 +1,274 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "anjuna.io/v1", + "kind": "AnjunaRuntime", + "metadata": { + "name": "anjunaruntime-config-remote" + }, + "spec": { + "nodeSelector": { + "matchLabels": { + "node-role.kubernetes.io/worker": "" + } + }, + "runtimeImage": "registry.connect.redhat.com/anjuna/anjuna-k8s-sev-runtime@sha256:3fd1c20a1327d3d4a7c49916cbe51782d95a06719f4229d733a1a73ca271255a" + } + } + ] + capabilities: Basic Install + createdAt: "2025-01-29T23:17:25Z" + features.operators.openshift.io/disconnected: "true" + features.operators.openshift.io/fips-compliant: "false" + features.operators.openshift.io/proxy-aware: "false" + features.operators.openshift.io/tls-profiles: "false" + features.operators.openshift.io/token-auth-aws: "false" + features.operators.openshift.io/token-auth-azure: "false" + features.operators.openshift.io/token-auth-gcp: "false" + operators.operatorframework.io/builder: operator-sdk-v1.36.1 + operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 + name: anjuna-operator.v1.0.0 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: AnjunaRuntime is the Schema for the anjunaruntimes API + displayName: Anjuna Runtime + kind: AnjunaRuntime + name: anjunaruntimes.anjuna.io + version: v1 + description: The Anjuna Seaglass Operator for OpenShift allows running any Pod in OpenShift in a Confidential Pod leveraging the full power of the Confidential Computing technology. + displayName: The Anjuna Seaglass™ Operator for OpenShift + icon: + - base64data: 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 + mediatype: image/png + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - update + - apiGroups: + - anjuna.io + resources: + - anjunaruntimes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - anjuna.io + resources: + - anjunaruntimes/finalizers + verbs: + - update + - apiGroups: + - anjuna.io + resources: + - anjunaruntimes/status + verbs: + - get + - patch + - update + - apiGroups: + - apps + resources: + - daemonsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - nodes + verbs: + - get + - list + - patch + - update + - watch + - apiGroups: + - node.k8s.io + resources: + - runtimeclasses + 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: anjuna-operator-controller-manager + deployments: + - label: + control-plane: controller-manager + name: anjuna-operator-controller-manager + spec: + replicas: 1 + selector: + matchLabels: + control-plane: controller-manager + strategy: {} + template: + metadata: + labels: + control-plane: controller-manager + spec: + containers: + - args: + - --secure-listen-address=0.0.0.0:8443 + - --upstream=http://127.0.0.1:8080/ + - --logtostderr=true + - --v=10 + image: gcr.io/kubebuilder/kube-rbac-proxy@sha256:d4883d7c622683b3319b5e6b3a7edfbf2594c18060131a8bf64504805f875522 + name: kube-rbac-proxy + ports: + - containerPort: 8443 + name: https + protocol: TCP + resources: {} + - args: + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect + command: + - /usr/local/bin/operator + env: + - name: ANJUNARUNTIME_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + image: registry.connect.redhat.com/anjuna/anjuna-k8s-sev-tools@sha256:c5b94c4bddb56c38425fbf3bee84be8dd8e72a9b5946e4688fa384b2b1e349ad + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + name: manager + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + limits: + cpu: 200m + memory: 100Mi + requests: + cpu: 100m + memory: 20Mi + securityContext: + allowPrivilegeEscalation: false + securityContext: + runAsNonRoot: true + serviceAccountName: anjuna-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 + - apiGroups: + - security.openshift.io + resourceNames: + - privileged + resources: + - securitycontextconstraints + verbs: + - use + serviceAccountName: anjuna-operator-controller-manager + strategy: deployment + installModes: + - supported: false + type: OwnNamespace + - supported: false + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - security + links: + - name: Anjuna Operator + url: https://anjuna-operator.domain + maintainers: + - email: abilio.esteves@anjuna.io + name: Abilio Esteves + - email: dor@anjuna.io + name: Dor Elish + maturity: alpha + minKubeVersion: 1.25.0 + provider: + name: anjuna + url: https://www.anjuna.io + relatedImages: + - image: gcr.io/kubebuilder/kube-rbac-proxy@sha256:d4883d7c622683b3319b5e6b3a7edfbf2594c18060131a8bf64504805f875522 + name: kube-rbac-proxy + - image: registry.connect.redhat.com/anjuna/anjuna-k8s-sev-tools@sha256:c5b94c4bddb56c38425fbf3bee84be8dd8e72a9b5946e4688fa384b2b1e349ad + name: manager + - image: registry.connect.redhat.com/anjuna/anjuna-k8s-sev-runtime@sha256:3fd1c20a1327d3d4a7c49916cbe51782d95a06719f4229d733a1a73ca271255a + name: anjuna-k8s-sev-runtime-3fd1c20a1327d3d4a7c49916cbe51782d95a06719f4229d733a1a73ca271255a-annotation + version: 0.0.1 diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna.io_anjunaruntimes.yaml b/operators/anjuna-operator/0.0.1/manifests/anjuna.io_anjunaruntimes.yaml new file mode 100644 index 00000000000..bce71e44a95 --- /dev/null +++ b/operators/anjuna-operator/0.0.1/manifests/anjuna.io_anjunaruntimes.yaml @@ -0,0 +1,249 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.1 + creationTimestamp: null + name: anjunaruntimes.anjuna.io +spec: + group: anjuna.io + names: + kind: AnjunaRuntime + listKind: AnjunaRuntimeList + plural: anjunaruntimes + shortNames: + - anjuna + singular: anjunaruntime + scope: Cluster + versions: + - name: v1 + schema: + openAPIV3Schema: + description: AnjunaRuntime is the Schema for the anjunaruntimes 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: AnjunaRuntimeSpec defines the desired state of AnjunaRuntime + properties: + nodeSelector: + description: |- + nodeSelector is used to select the worker nodes to deploy the runtime + if not specified, all worker nodes are selected + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. + items: + type: string + type: array + x-kubernetes-list-type: atomic + required: + - key + - operator + type: object + type: array + x-kubernetes-list-type: atomic + matchLabels: + additionalProperties: + type: string + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + runtimeImage: + type: string + required: + - runtimeImage + type: object + status: + description: AnjunaRuntimeStatus defines the observed state of AnjunaRuntime + properties: + installationStatus: + description: InstallationStatus reflects the status of the ongoing + runtime installation + properties: + completed: + description: Completed reflects the status of nodes that have + completed the installation + properties: + completedNodesCount: + description: CompletedNodesCount reflects the number of nodes + that have completed install operation + type: integer + completedNodesList: + description: CompletedNodesList reflects the list of nodes + that have completed install operation + items: + type: string + type: array + type: object + failed: + description: Failed reflects the status of nodes that have failed + installation + properties: + failedNodesCount: + description: FailedNodesCount reflects the number of nodes + that have failed installation + type: integer + failedNodesList: + description: FailedNodesList reflects the list of nodes that + have failed installation + items: + description: FailedNodeStatus holds the name and the error + message of the failed node + properties: + error: + description: Error message of the failed node reported + by the installation daemon + type: string + name: + description: Name of the failed node + type: string + required: + - error + - name + type: object + type: array + type: object + inProgress: + description: InProgress reflects the status of nodes that are + in the process of installation + properties: + binariesInstallNodesList: + items: + type: string + type: array + inProgressNodesCount: + description: InProgressNodesCount reflects the number of nodes + that are in the process of installation + type: integer + type: object + type: object + runtimeClass: + description: RuntimeClass is the name of the runtime class as used + in container runtime configuration + type: string + totalNodesCount: + description: TotalNodesCounts is the total number of worker nodes + targeted by this CR + type: integer + unInstallationStatus: + description: UnInstallationStatus reflects the status of the ongoing + runtime uninstallation + properties: + completed: + description: Completed reflects the status of nodes that have + completed the uninstallation operation + properties: + completedNodesCount: + description: CompletedNodesCount reflects the number of nodes + that have completed install operation + type: integer + completedNodesList: + description: CompletedNodesList reflects the list of nodes + that have completed install operation + items: + type: string + type: array + type: object + failed: + description: Failed reflects the status of nodes that have failed + uninstallation + properties: + failedNodesCount: + description: FailedNodesCount reflects the number of nodes + that have failed installation + type: integer + failedNodesList: + description: FailedNodesList reflects the list of nodes that + have failed installation + items: + description: FailedNodeStatus holds the name and the error + message of the failed node + properties: + error: + description: Error message of the failed node reported + by the installation daemon + type: string + name: + description: Name of the failed node + type: string + required: + - error + - name + type: object + type: array + type: object + inProgress: + description: InProgress reflects the status of nodes that are + in the process of uninstallation + properties: + binariesUninstallNodesList: + items: + type: string + type: array + inProgressNodesCount: + description: InProgressNodesCount reflects the number of nodes + that are in the process of uninstallation + type: integer + type: object + type: object + upgradeStatus: + description: Upgradestatus reflects the status of the ongoing runtime + upgrade + type: object + required: + - runtimeClass + - totalNodesCount + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/anjuna-operator/0.0.1/metadata/annotations.yaml b/operators/anjuna-operator/0.0.1/metadata/annotations.yaml new file mode 100644 index 00000000000..9543589ad53 --- /dev/null +++ b/operators/anjuna-operator/0.0.1/metadata/annotations.yaml @@ -0,0 +1,17 @@ +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: anjuna-operator + operators.operatorframework.io.bundle.channels.v1: alpha + operators.operatorframework.io.metrics.builder: operator-sdk-v1.36.1 + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 + + # Annotations for testing. + operators.operatorframework.io.test.mediatype.v1: scorecard+v1 + operators.operatorframework.io.test.config.v1: tests/scorecard/ + + # OpenShift Support Versions + com.redhat.openshift.versions: v4.14-v4.17 diff --git a/operators/anjuna-operator/0.0.1/tests/scorecard/config.yaml b/operators/anjuna-operator/0.0.1/tests/scorecard/config.yaml new file mode 100644 index 00000000000..89bdfbe4df9 --- /dev/null +++ b/operators/anjuna-operator/0.0.1/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.12.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.12.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.12.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.12.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.12.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.12.0 + labels: + suite: olm + test: olm-status-descriptors-test + storage: + spec: + mountPath: {} +storage: + spec: + mountPath: {} diff --git a/operators/anjuna-operator/ci.yaml b/operators/anjuna-operator/ci.yaml new file mode 100644 index 00000000000..81233620a12 --- /dev/null +++ b/operators/anjuna-operator/ci.yaml @@ -0,0 +1 @@ +cert_project_id: "671992c4fb0f02a324ce565d" From c8311bd62a6528820283b4bdfee30aa0bfa6c540 Mon Sep 17 00:00:00 2001 From: Abilio Esteves Date: Wed, 29 Jan 2025 17:08:10 -0800 Subject: [PATCH 2/3] Renames anjuna-operator initial version --- ...me-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml | 0 ...me-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml | 0 ...-operator-controller-manager-metrics-service_v1_service.yaml | 0 .../manifests/anjuna-operator-manager-config_v1_configmap.yaml | 0 ...metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml | 0 ...d-role-binding_rbac.authorization.k8s.io_v1_rolebinding.yaml | 0 .../manifests/anjuna-operator.clusterserviceversion.yaml | 2 +- .../{0.0.1 => 1.0.0}/manifests/anjuna.io_anjunaruntimes.yaml | 0 .../anjuna-operator/{0.0.1 => 1.0.0}/metadata/annotations.yaml | 0 .../{0.0.1 => 1.0.0}/tests/scorecard/config.yaml | 0 10 files changed, 1 insertion(+), 1 deletion(-) rename operators/anjuna-operator/{0.0.1 => 1.0.0}/manifests/anjuna-operator-anjunaruntime-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml (100%) rename operators/anjuna-operator/{0.0.1 => 1.0.0}/manifests/anjuna-operator-anjunaruntime-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml (100%) rename operators/anjuna-operator/{0.0.1 => 1.0.0}/manifests/anjuna-operator-controller-manager-metrics-service_v1_service.yaml (100%) rename operators/anjuna-operator/{0.0.1 => 1.0.0}/manifests/anjuna-operator-manager-config_v1_configmap.yaml (100%) rename operators/anjuna-operator/{0.0.1 => 1.0.0}/manifests/anjuna-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml (100%) rename operators/anjuna-operator/{0.0.1 => 1.0.0}/manifests/anjuna-operator-privileged-role-binding_rbac.authorization.k8s.io_v1_rolebinding.yaml (100%) rename operators/anjuna-operator/{0.0.1 => 1.0.0}/manifests/anjuna-operator.clusterserviceversion.yaml (99%) rename operators/anjuna-operator/{0.0.1 => 1.0.0}/manifests/anjuna.io_anjunaruntimes.yaml (100%) rename operators/anjuna-operator/{0.0.1 => 1.0.0}/metadata/annotations.yaml (100%) rename operators/anjuna-operator/{0.0.1 => 1.0.0}/tests/scorecard/config.yaml (100%) diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-anjunaruntime-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/anjuna-operator/1.0.0/manifests/anjuna-operator-anjunaruntime-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml similarity index 100% rename from operators/anjuna-operator/0.0.1/manifests/anjuna-operator-anjunaruntime-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml rename to operators/anjuna-operator/1.0.0/manifests/anjuna-operator-anjunaruntime-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-anjunaruntime-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/anjuna-operator/1.0.0/manifests/anjuna-operator-anjunaruntime-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml similarity index 100% rename from operators/anjuna-operator/0.0.1/manifests/anjuna-operator-anjunaruntime-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml rename to operators/anjuna-operator/1.0.0/manifests/anjuna-operator-anjunaruntime-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-controller-manager-metrics-service_v1_service.yaml b/operators/anjuna-operator/1.0.0/manifests/anjuna-operator-controller-manager-metrics-service_v1_service.yaml similarity index 100% rename from operators/anjuna-operator/0.0.1/manifests/anjuna-operator-controller-manager-metrics-service_v1_service.yaml rename to operators/anjuna-operator/1.0.0/manifests/anjuna-operator-controller-manager-metrics-service_v1_service.yaml diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-manager-config_v1_configmap.yaml b/operators/anjuna-operator/1.0.0/manifests/anjuna-operator-manager-config_v1_configmap.yaml similarity index 100% rename from operators/anjuna-operator/0.0.1/manifests/anjuna-operator-manager-config_v1_configmap.yaml rename to operators/anjuna-operator/1.0.0/manifests/anjuna-operator-manager-config_v1_configmap.yaml diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/anjuna-operator/1.0.0/manifests/anjuna-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml similarity index 100% rename from operators/anjuna-operator/0.0.1/manifests/anjuna-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml rename to operators/anjuna-operator/1.0.0/manifests/anjuna-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator-privileged-role-binding_rbac.authorization.k8s.io_v1_rolebinding.yaml b/operators/anjuna-operator/1.0.0/manifests/anjuna-operator-privileged-role-binding_rbac.authorization.k8s.io_v1_rolebinding.yaml similarity index 100% rename from operators/anjuna-operator/0.0.1/manifests/anjuna-operator-privileged-role-binding_rbac.authorization.k8s.io_v1_rolebinding.yaml rename to operators/anjuna-operator/1.0.0/manifests/anjuna-operator-privileged-role-binding_rbac.authorization.k8s.io_v1_rolebinding.yaml diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator.clusterserviceversion.yaml b/operators/anjuna-operator/1.0.0/manifests/anjuna-operator.clusterserviceversion.yaml similarity index 99% rename from operators/anjuna-operator/0.0.1/manifests/anjuna-operator.clusterserviceversion.yaml rename to operators/anjuna-operator/1.0.0/manifests/anjuna-operator.clusterserviceversion.yaml index 79ad125049e..a8ba5ec9cdb 100644 --- a/operators/anjuna-operator/0.0.1/manifests/anjuna-operator.clusterserviceversion.yaml +++ b/operators/anjuna-operator/1.0.0/manifests/anjuna-operator.clusterserviceversion.yaml @@ -271,4 +271,4 @@ spec: name: manager - image: registry.connect.redhat.com/anjuna/anjuna-k8s-sev-runtime@sha256:3fd1c20a1327d3d4a7c49916cbe51782d95a06719f4229d733a1a73ca271255a name: anjuna-k8s-sev-runtime-3fd1c20a1327d3d4a7c49916cbe51782d95a06719f4229d733a1a73ca271255a-annotation - version: 0.0.1 + version: 1.0.0 diff --git a/operators/anjuna-operator/0.0.1/manifests/anjuna.io_anjunaruntimes.yaml b/operators/anjuna-operator/1.0.0/manifests/anjuna.io_anjunaruntimes.yaml similarity index 100% rename from operators/anjuna-operator/0.0.1/manifests/anjuna.io_anjunaruntimes.yaml rename to operators/anjuna-operator/1.0.0/manifests/anjuna.io_anjunaruntimes.yaml diff --git a/operators/anjuna-operator/0.0.1/metadata/annotations.yaml b/operators/anjuna-operator/1.0.0/metadata/annotations.yaml similarity index 100% rename from operators/anjuna-operator/0.0.1/metadata/annotations.yaml rename to operators/anjuna-operator/1.0.0/metadata/annotations.yaml diff --git a/operators/anjuna-operator/0.0.1/tests/scorecard/config.yaml b/operators/anjuna-operator/1.0.0/tests/scorecard/config.yaml similarity index 100% rename from operators/anjuna-operator/0.0.1/tests/scorecard/config.yaml rename to operators/anjuna-operator/1.0.0/tests/scorecard/config.yaml From c483c65406ff333b6b353fda186369630feeb608 Mon Sep 17 00:00:00 2001 From: Abilio Esteves Date: Wed, 29 Jan 2025 17:16:36 -0800 Subject: [PATCH 3/3] Fix project id --- operators/anjuna-operator/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/operators/anjuna-operator/ci.yaml b/operators/anjuna-operator/ci.yaml index 81233620a12..34b344c8e93 100644 --- a/operators/anjuna-operator/ci.yaml +++ b/operators/anjuna-operator/ci.yaml @@ -1 +1 @@ -cert_project_id: "671992c4fb0f02a324ce565d" +cert_project_id: "673cdf3c4c0a606d656c7c50"