From 4f0db45f286f7bff5c0e10a64cdbf8c80b812f52 Mon Sep 17 00:00:00 2001 From: AWS Controllers for Kubernetes Bot <82905295+ack-bot@users.noreply.github.com> Date: Thu, 7 Sep 2023 14:48:31 -0700 Subject: [PATCH] operator ack-emrcontainers-controller (1.0.3) --- .../1.0.3/bundle.Dockerfile | 21 ++ ...ners-controller.clusterserviceversion.yaml | 289 ++++++++++++++++++ ...containers-metrics-service_v1_service.yaml | 16 + ...der_rbac.authorization.k8s.io_v1_role.yaml | 15 + ...ter_rbac.authorization.k8s.io_v1_role.yaml | 28 ++ ...mrcontainers.services.k8s.aws_jobruns.yaml | 182 +++++++++++ ...ners.services.k8s.aws_virtualclusters.yaml | 153 ++++++++++ .../1.0.3/metadata/annotations.yaml | 15 + .../1.0.3/tests/scorecard/config.yaml | 50 +++ 9 files changed, 769 insertions(+) create mode 100644 operators/ack-emrcontainers-controller/1.0.3/bundle.Dockerfile create mode 100644 operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-controller.clusterserviceversion.yaml create mode 100644 operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-metrics-service_v1_service.yaml create mode 100644 operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-reader_rbac.authorization.k8s.io_v1_role.yaml create mode 100644 operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-writer_rbac.authorization.k8s.io_v1_role.yaml create mode 100644 operators/ack-emrcontainers-controller/1.0.3/manifests/emrcontainers.services.k8s.aws_jobruns.yaml create mode 100644 operators/ack-emrcontainers-controller/1.0.3/manifests/emrcontainers.services.k8s.aws_virtualclusters.yaml create mode 100644 operators/ack-emrcontainers-controller/1.0.3/metadata/annotations.yaml create mode 100644 operators/ack-emrcontainers-controller/1.0.3/tests/scorecard/config.yaml diff --git a/operators/ack-emrcontainers-controller/1.0.3/bundle.Dockerfile b/operators/ack-emrcontainers-controller/1.0.3/bundle.Dockerfile new file mode 100644 index 00000000000..a3c97e14da3 --- /dev/null +++ b/operators/ack-emrcontainers-controller/1.0.3/bundle.Dockerfile @@ -0,0 +1,21 @@ +FROM scratch + +# Core bundle labels. +LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1 +LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ +LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ +LABEL operators.operatorframework.io.bundle.package.v1=ack-emrcontainers-controller +LABEL operators.operatorframework.io.bundle.channels.v1=alpha +LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha +LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.28.0 +LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 +LABEL operators.operatorframework.io.metrics.project_layout=unknown + +# Labels for testing. +LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1 +LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/ + +# Copy files to locations specified by labels. +COPY bundle/manifests /manifests/ +COPY bundle/metadata /metadata/ +COPY bundle/tests/scorecard /tests/scorecard/ diff --git a/operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-controller.clusterserviceversion.yaml b/operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-controller.clusterserviceversion.yaml new file mode 100644 index 00000000000..7972efebd55 --- /dev/null +++ b/operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-controller.clusterserviceversion.yaml @@ -0,0 +1,289 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "emrcontainers.services.k8s.aws/v1alpha1", + "kind": "VirtualCluster", + "metadata": { + "name": "example" + }, + "spec": {} + } + ] + capabilities: Basic Install + categories: Cloud Provider + certified: "false" + containerImage: public.ecr.aws/aws-controllers-k8s/emrcontainers-controller:1.0.3 + createdAt: "2023-09-07T21:31:31Z" + description: AWS EMR on EKS controller is a service controller for managing EMR + on EKS resources in Kubernetes + operatorframework.io/suggested-namespace: ack-system + operators.operatorframework.io/builder: operator-sdk-v1.28.0 + operators.operatorframework.io/project_layout: unknown + repository: https://github.com/aws-controllers-k8s + support: Community + name: ack-emrcontainers-controller.v1.0.3 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: JobRun represents the state of an AWS emrcontainers JobRun resource. + displayName: JobRun + kind: JobRun + name: jobruns.emrcontainers.services.k8s.aws + version: v1alpha1 + - description: VirtualCluster represents the state of an AWS emrcontainers VirtualCluster + resource. + displayName: VirtualCluster + kind: VirtualCluster + name: virtualclusters.emrcontainers.services.k8s.aws + version: v1alpha1 + description: |- + Manage Amazon EMR on EKS resources in AWS from within your Kubernetes cluster. + + **About Amazon EMR on EKS** + + Amazon EMR on EKS provides a deployment option for Amazon EMR that allows you to run open-source big data frameworks on Amazon Elastic Kubernetes Service (Amazon EKS). With this deployment option, you can focus on running analytics workloads while Amazon EMR on EKS builds, configures, and manages containers for open-source applications. + + **About the AWS Controllers for Kubernetes** + + This controller is a component of the [AWS Controller for Kubernetes](https://github.com/aws/aws-controllers-k8s) project. + + **Pre-Installation Steps** + + Please follow the following link: [Red Hat OpenShift](https://aws-controllers-k8s.github.io/community/docs/user-docs/openshift/) + displayName: AWS Controllers for Kubernetes - Amazon EMR on EKS + icon: + - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzA0IDE4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzA0IDE4MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNTJGM0U7fQoJLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRjk5MDA7fQo8L3N0eWxlPgo8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04Ni40LDY2LjRjMCwzLjcsMC40LDYuNywxLjEsOC45YzAuOCwyLjIsMS44LDQuNiwzLjIsNy4yYzAuNSwwLjgsMC43LDEuNiwwLjcsMi4zYzAsMS0wLjYsMi0xLjksM2wtNi4zLDQuMiAgIGMtMC45LDAuNi0xLjgsMC45LTIuNiwwLjljLTEsMC0yLTAuNS0zLTEuNEM3Ni4yLDkwLDc1LDg4LjQsNzQsODYuOGMtMS0xLjctMi0zLjYtMy4xLTUuOWMtNy44LDkuMi0xNy42LDEzLjgtMjkuNCwxMy44ICAgYy04LjQsMC0xNS4xLTIuNC0yMC03LjJjLTQuOS00LjgtNy40LTExLjItNy40LTE5LjJjMC04LjUsMy0xNS40LDkuMS0yMC42YzYuMS01LjIsMTQuMi03LjgsMjQuNS03LjhjMy40LDAsNi45LDAuMywxMC42LDAuOCAgIGMzLjcsMC41LDcuNSwxLjMsMTEuNSwyLjJ2LTcuM2MwLTcuNi0xLjYtMTIuOS00LjctMTZjLTMuMi0zLjEtOC42LTQuNi0xNi4zLTQuNmMtMy41LDAtNy4xLDAuNC0xMC44LDEuM2MtMy43LDAuOS03LjMsMi0xMC44LDMuNCAgIGMtMS42LDAuNy0yLjgsMS4xLTMuNSwxLjNjLTAuNywwLjItMS4yLDAuMy0xLjYsMC4zYy0xLjQsMC0yLjEtMS0yLjEtMy4xdi00LjljMC0xLjYsMC4yLTIuOCwwLjctMy41YzAuNS0wLjcsMS40LTEuNCwyLjgtMi4xICAgYzMuNS0xLjgsNy43LTMuMywxMi42LTQuNWM0LjktMS4zLDEwLjEtMS45LDE1LjYtMS45YzExLjksMCwyMC42LDIuNywyNi4yLDguMWM1LjUsNS40LDguMywxMy42LDguMywyNC42VjY2LjR6IE00NS44LDgxLjYgICBjMy4zLDAsNi43LTAuNiwxMC4zLTEuOGMzLjYtMS4yLDYuOC0zLjQsOS41LTYuNGMxLjYtMS45LDIuOC00LDMuNC02LjRjMC42LTIuNCwxLTUuMywxLTguN3YtNC4yYy0yLjktMC43LTYtMS4zLTkuMi0xLjcgICBjLTMuMi0wLjQtNi4zLTAuNi05LjQtMC42Yy02LjcsMC0xMS42LDEuMy0xNC45LDRjLTMuMywyLjctNC45LDYuNS00LjksMTEuNWMwLDQuNywxLjIsOC4yLDMuNywxMC42ICAgQzM3LjcsODAuNCw0MS4yLDgxLjYsNDUuOCw4MS42eiBNMTI2LjEsOTIuNGMtMS44LDAtMy0wLjMtMy44LTFjLTAuOC0wLjYtMS41LTItMi4xLTMuOUw5Ni43LDEwLjJjLTAuNi0yLTAuOS0zLjMtMC45LTQgICBjMC0xLjYsMC44LTIuNSwyLjQtMi41aDkuOGMxLjksMCwzLjIsMC4zLDMuOSwxYzAuOCwwLjYsMS40LDIsMiwzLjlsMTYuOCw2Ni4ybDE1LjYtNjYuMmMwLjUtMiwxLjEtMy4zLDEuOS0zLjljMC44LTAuNiwyLjItMSw0LTEgICBoOGMxLjksMCwzLjIsMC4zLDQsMWMwLjgsMC42LDEuNSwyLDEuOSwzLjlsMTUuOCw2N2wxNy4zLTY3YzAuNi0yLDEuMy0zLjMsMi0zLjljMC44LTAuNiwyLjEtMSwzLjktMWg5LjNjMS42LDAsMi41LDAuOCwyLjUsMi41ICAgYzAsMC41LTAuMSwxLTAuMiwxLjZjLTAuMSwwLjYtMC4zLDEuNC0wLjcsMi41bC0yNC4xLDc3LjNjLTAuNiwyLTEuMywzLjMtMi4xLDMuOWMtMC44LDAuNi0yLjEsMS0zLjgsMWgtOC42Yy0xLjksMC0zLjItMC4zLTQtMSAgIGMtMC44LTAuNy0xLjUtMi0xLjktNEwxNTYsMjNsLTE1LjQsNjQuNGMtMC41LDItMS4xLDMuMy0xLjksNGMtMC44LDAuNy0yLjIsMS00LDFIMTI2LjF6IE0yNTQuNiw5NS4xYy01LjIsMC0xMC40LTAuNi0xNS40LTEuOCAgIGMtNS0xLjItOC45LTIuNS0xMS41LTRjLTEuNi0wLjktMi43LTEuOS0zLjEtMi44Yy0wLjQtMC45LTAuNi0xLjktMC42LTIuOHYtNS4xYzAtMi4xLDAuOC0zLjEsMi4zLTMuMWMwLjYsMCwxLjIsMC4xLDEuOCwwLjMgICBjMC42LDAuMiwxLjUsMC42LDIuNSwxYzMuNCwxLjUsNy4xLDIuNywxMSwzLjVjNCwwLjgsNy45LDEuMiwxMS45LDEuMmM2LjMsMCwxMS4yLTEuMSwxNC42LTMuM2MzLjQtMi4yLDUuMi01LjQsNS4yLTkuNSAgIGMwLTIuOC0wLjktNS4xLTIuNy03Yy0xLjgtMS45LTUuMi0zLjYtMTAuMS01LjJMMjQ2LDUyYy03LjMtMi4zLTEyLjctNS43LTE2LTEwLjJjLTMuMy00LjQtNS05LjMtNS0xNC41YzAtNC4yLDAuOS03LjksMi43LTExLjEgICBjMS44LTMuMiw0LjItNiw3LjItOC4yYzMtMi4zLDYuNC00LDEwLjQtNS4yYzQtMS4yLDguMi0xLjcsMTIuNi0xLjdjMi4yLDAsNC41LDAuMSw2LjcsMC40YzIuMywwLjMsNC40LDAuNyw2LjUsMS4xICAgYzIsMC41LDMuOSwxLDUuNywxLjZjMS44LDAuNiwzLjIsMS4yLDQuMiwxLjhjMS40LDAuOCwyLjQsMS42LDMsMi41YzAuNiwwLjgsMC45LDEuOSwwLjksMy4zdjQuN2MwLDIuMS0wLjgsMy4yLTIuMywzLjIgICBjLTAuOCwwLTIuMS0wLjQtMy44LTEuMmMtNS43LTIuNi0xMi4xLTMuOS0xOS4yLTMuOWMtNS43LDAtMTAuMiwwLjktMTMuMywyLjhjLTMuMSwxLjktNC43LDQuOC00LjcsOC45YzAsMi44LDEsNS4yLDMsNy4xICAgYzIsMS45LDUuNywzLjgsMTEsNS41bDE0LjIsNC41YzcuMiwyLjMsMTIuNCw1LjUsMTUuNSw5LjZjMy4xLDQuMSw0LjYsOC44LDQuNiwxNGMwLDQuMy0wLjksOC4yLTIuNiwxMS42ICAgYy0xLjgsMy40LTQuMiw2LjQtNy4zLDguOGMtMy4xLDIuNS02LjgsNC4zLTExLjEsNS42QzI2NC40LDk0LjQsMjU5LjcsOTUuMSwyNTQuNiw5NS4xeiIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI3My41LDE0My43Yy0zMi45LDI0LjMtODAuNywzNy4yLTEyMS44LDM3LjJjLTU3LjYsMC0xMDkuNS0yMS4zLTE0OC43LTU2LjdjLTMuMS0yLjgtMC4zLTYuNiwzLjQtNC40ICAgIGM0Mi40LDI0LjYsOTQuNywzOS41LDE0OC44LDM5LjVjMzYuNSwwLDc2LjYtNy42LDExMy41LTIzLjJDMjc0LjIsMTMzLjYsMjc4LjksMTM5LjcsMjczLjUsMTQzLjd6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI4Ny4yLDEyOC4xYy00LjItNS40LTI3LjgtMi42LTM4LjUtMS4zYy0zLjIsMC40LTMuNy0yLjQtMC44LTQuNWMxOC44LTEzLjIsNDkuNy05LjQsNTMuMy01ICAgIGMzLjYsNC41LTEsMzUuNC0xOC42LDUwLjJjLTIuNywyLjMtNS4zLDEuMS00LjEtMS45QzI4Mi41LDE1NS43LDI5MS40LDEzMy40LDI4Ny4yLDEyOC4xeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPg== + mediatype: image/svg+xml + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - patch + - watch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - secrets + verbs: + - get + - list + - patch + - watch + - apiGroups: + - emrcontainers.services.k8s.aws + resources: + - jobruns + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - emrcontainers.services.k8s.aws + resources: + - jobruns/status + verbs: + - get + - patch + - update + - apiGroups: + - emrcontainers.services.k8s.aws + resources: + - virtualclusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - emrcontainers.services.k8s.aws + resources: + - virtualclusters/status + verbs: + - get + - patch + - update + - apiGroups: + - services.k8s.aws + resources: + - adoptedresources + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - services.k8s.aws + resources: + - adoptedresources/status + verbs: + - get + - patch + - update + - apiGroups: + - services.k8s.aws + resources: + - fieldexports + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - services.k8s.aws + resources: + - fieldexports/status + verbs: + - get + - patch + - update + serviceAccountName: ack-emrcontainers-controller + deployments: + - label: + app.kubernetes.io/name: ack-emrcontainers-controller + app.kubernetes.io/part-of: ack-system + name: ack-emrcontainers-controller + spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: ack-emrcontainers-controller + strategy: {} + template: + metadata: + labels: + app.kubernetes.io/name: ack-emrcontainers-controller + spec: + containers: + - args: + - --aws-region + - $(AWS_REGION) + - --aws-endpoint-url + - $(AWS_ENDPOINT_URL) + - --enable-development-logging=$(ACK_ENABLE_DEVELOPMENT_LOGGING) + - --log-level + - $(ACK_LOG_LEVEL) + - --resource-tags + - $(ACK_RESOURCE_TAGS) + - --watch-namespace + - $(ACK_WATCH_NAMESPACE) + - --enable-leader-election=$(ENABLE_LEADER_ELECTION) + - --leader-election-namespace + - $(LEADER_ELECTION_NAMESPACE) + command: + - ./bin/controller + env: + - name: ACK_SYSTEM_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + envFrom: + - configMapRef: + name: ack-emrcontainers-user-config + optional: false + - secretRef: + name: ack-emrcontainers-user-secrets + optional: true + image: public.ecr.aws/aws-controllers-k8s/emrcontainers-controller:1.0.3 + name: controller + ports: + - containerPort: 8080 + name: http + resources: + limits: + cpu: 100m + memory: 300Mi + requests: + cpu: 100m + memory: 200Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + privileged: false + runAsNonRoot: true + securityContext: + seccompProfile: + type: RuntimeDefault + serviceAccountName: ack-emrcontainers-controller + terminationGracePeriodSeconds: 10 + permissions: + - rules: + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + serviceAccountName: ack-emrcontainers-controller + strategy: deployment + installModes: + - supported: true + type: AllNamespaces + keywords: + - emrcontainers + - aws + - amazon + - ack + links: + - name: AWS Controllers for Kubernetes + url: https://github.com/aws-controllers-k8s/community + - name: Documentation + url: https://aws-controllers-k8s.github.io/community/ + - name: Amazon EMR on EKS Developer Resources + url: https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/emr-eks.html + maintainers: + - email: ack-maintainers@amazon.com + name: emr on eks maintainer team + maturity: alpha + provider: + name: Amazon, Inc. + url: https://aws.amazon.com + version: 1.0.3 diff --git a/operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-metrics-service_v1_service.yaml b/operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..5e49e4ba986 --- /dev/null +++ b/operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-metrics-service_v1_service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + name: ack-emrcontainers-metrics-service +spec: + ports: + - name: metricsport + port: 8080 + protocol: TCP + targetPort: http + selector: + app.kubernetes.io/name: ack-emrcontainers-controller + type: NodePort +status: + loadBalancer: {} diff --git a/operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-reader_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-reader_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..e741077735d --- /dev/null +++ b/operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-reader_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,15 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-emrcontainers-reader +rules: +- apiGroups: + - emrcontainers.services.k8s.aws + resources: + - jobruns + - virtualclusters + verbs: + - get + - list + - watch diff --git a/operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-writer_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-writer_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..2162096193d --- /dev/null +++ b/operators/ack-emrcontainers-controller/1.0.3/manifests/ack-emrcontainers-writer_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,28 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-emrcontainers-writer +rules: +- apiGroups: + - emrcontainers.services.k8s.aws + resources: + - jobruns + - virtualclusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - emrcontainers.services.k8s.aws + resources: + - jobruns + - virtualclusters + verbs: + - get + - patch + - update diff --git a/operators/ack-emrcontainers-controller/1.0.3/manifests/emrcontainers.services.k8s.aws_jobruns.yaml b/operators/ack-emrcontainers-controller/1.0.3/manifests/emrcontainers.services.k8s.aws_jobruns.yaml new file mode 100644 index 00000000000..52c39395920 --- /dev/null +++ b/operators/ack-emrcontainers-controller/1.0.3/manifests/emrcontainers.services.k8s.aws_jobruns.yaml @@ -0,0 +1,182 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: jobruns.emrcontainers.services.k8s.aws +spec: + group: emrcontainers.services.k8s.aws + names: + kind: JobRun + listKind: JobRunList + plural: jobruns + singular: jobrun + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.id + name: Job-ID + type: string + - jsonPath: .status.state + name: STATE + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: JobRun is the Schema for the JobRuns 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: "JobRunSpec defines the desired state of JobRun. \n This + entity describes a job run. A job run is a unit of work, such as a Spark + jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR + on EKS." + properties: + configurationOverrides: + type: string + executionRoleARN: + description: The execution role ARN for the job run. + type: string + jobDriver: + description: The job driver for the job run. + properties: + sparkSubmitJobDriver: + description: The information about job driver for Spark submit. + properties: + entryPoint: + type: string + entryPointArguments: + items: + type: string + type: array + sparkSubmitParameters: + type: string + type: object + type: object + name: + description: The name of the job run. + type: string + releaseLabel: + description: The Amazon EMR release version to use for the job run. + type: string + tags: + additionalProperties: + type: string + description: The tags assigned to job runs. + type: object + virtualClusterID: + description: The virtual cluster ID for which the job run request + is submitted. + type: string + virtualClusterRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference type to provide more user friendly syntax + for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + properties: + from: + description: AWSResourceReference provides all the values necessary + to reference another k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + type: object + type: object + required: + - executionRoleARN + - jobDriver + - releaseLabel + type: object + status: + description: JobRunStatus defines the observed state of JobRun + properties: + ackResourceMetadata: + description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` + member that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: 'ARN is the Amazon Resource Name for the resource. + This is a globally-unique identifier and is set only by the + ACK service controller once the controller has orchestrated + the creation of the resource OR when it has verified that an + "adopted" resource (a resource where the ARN annotation was + set by the Kubernetes user on the CR) exists and matches the + supplied CR''s Spec field values. TODO(vijat@): Find a better + strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270' + type: string + ownerAccountID: + description: OwnerAccountID is the AWS Account ID of the account + that owns the backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: All CRS managed by ACK have a common `Status.Conditions` + member that contains a collection of `ackv1alpha1.Condition` objects + that describe the various terminal states of the CR and its backend + AWS service API resource + items: + description: Condition is the common struct used by all CRDs managed + by ACK service controllers to indicate terminal states of the + CR and its backend AWS service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + id: + description: This output displays the started job run ID. + type: string + state: + description: The state of the job run. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-emrcontainers-controller/1.0.3/manifests/emrcontainers.services.k8s.aws_virtualclusters.yaml b/operators/ack-emrcontainers-controller/1.0.3/manifests/emrcontainers.services.k8s.aws_virtualclusters.yaml new file mode 100644 index 00000000000..5fb7458252e --- /dev/null +++ b/operators/ack-emrcontainers-controller/1.0.3/manifests/emrcontainers.services.k8s.aws_virtualclusters.yaml @@ -0,0 +1,153 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: virtualclusters.emrcontainers.services.k8s.aws +spec: + group: emrcontainers.services.k8s.aws + names: + kind: VirtualCluster + listKind: VirtualClusterList + plural: virtualclusters + singular: virtualcluster + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: VirtualCluster is the Schema for the VirtualClusters 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: "VirtualClusterSpec defines the desired state of VirtualCluster. + \n This entity describes a virtual cluster. A virtual cluster is a Kubernetes + namespace that Amazon EMR is registered with. Amazon EMR uses virtual + clusters to run jobs and host endpoints. Multiple virtual clusters can + be backed by the same physical cluster. However, each virtual cluster + maps to one namespace on an EKS cluster. Virtual clusters do not create + any active resources that contribute to your bill or that require lifecycle + management outside the service." + properties: + containerProvider: + description: The container provider of the virtual cluster. + properties: + id: + type: string + info: + description: The information about the container used for a job + run or a managed endpoint. + properties: + eksInfo: + description: The information about the EKS cluster. + properties: + namespace: + type: string + type: object + type: object + type_: + type: string + type: object + name: + description: The specified name of the virtual cluster. + type: string + tags: + additionalProperties: + type: string + description: The tags assigned to the virtual cluster. + type: object + required: + - containerProvider + - name + type: object + status: + description: VirtualClusterStatus defines the observed state of VirtualCluster + properties: + ackResourceMetadata: + description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` + member that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: 'ARN is the Amazon Resource Name for the resource. + This is a globally-unique identifier and is set only by the + ACK service controller once the controller has orchestrated + the creation of the resource OR when it has verified that an + "adopted" resource (a resource where the ARN annotation was + set by the Kubernetes user on the CR) exists and matches the + supplied CR''s Spec field values. TODO(vijat@): Find a better + strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270' + type: string + ownerAccountID: + description: OwnerAccountID is the AWS Account ID of the account + that owns the backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: All CRS managed by ACK have a common `Status.Conditions` + member that contains a collection of `ackv1alpha1.Condition` objects + that describe the various terminal states of the CR and its backend + AWS service API resource + items: + description: Condition is the common struct used by all CRDs managed + by ACK service controllers to indicate terminal states of the + CR and its backend AWS service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + id: + description: This output contains the virtual cluster ID. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-emrcontainers-controller/1.0.3/metadata/annotations.yaml b/operators/ack-emrcontainers-controller/1.0.3/metadata/annotations.yaml new file mode 100644 index 00000000000..c82b78c1e61 --- /dev/null +++ b/operators/ack-emrcontainers-controller/1.0.3/metadata/annotations.yaml @@ -0,0 +1,15 @@ +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: ack-emrcontainers-controller + operators.operatorframework.io.bundle.channels.v1: alpha + operators.operatorframework.io.bundle.channel.default.v1: alpha + operators.operatorframework.io.metrics.builder: operator-sdk-v1.28.0 + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: unknown + + # Annotations for testing. + operators.operatorframework.io.test.mediatype.v1: scorecard+v1 + operators.operatorframework.io.test.config.v1: tests/scorecard/ diff --git a/operators/ack-emrcontainers-controller/1.0.3/tests/scorecard/config.yaml b/operators/ack-emrcontainers-controller/1.0.3/tests/scorecard/config.yaml new file mode 100644 index 00000000000..382ddefd156 --- /dev/null +++ b/operators/ack-emrcontainers-controller/1.0.3/tests/scorecard/config.yaml @@ -0,0 +1,50 @@ +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.7.1 + 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.7.1 + 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.7.1 + labels: + suite: olm + test: olm-crds-have-validation-test + storage: + spec: + mountPath: {} + - entrypoint: + - scorecard-test + - olm-spec-descriptors + image: quay.io/operator-framework/scorecard-test:v1.7.1 + labels: + suite: olm + test: olm-spec-descriptors-test + storage: + spec: + mountPath: {} +storage: + spec: + mountPath: {}