From 273e1bafd58efc279e1916785537d885a373d270 Mon Sep 17 00:00:00 2001 From: AWS Controllers for Kubernetes Bot <82905295+ack-bot@users.noreply.github.com> Date: Fri, 11 Oct 2024 17:51:36 -0700 Subject: [PATCH] operator ack-eventbridge-controller (1.0.15) --- .../1.0.15/bundle.Dockerfile | 21 + ...idge-controller.clusterserviceversion.yaml | 307 +++++++++++ ...ventbridge-metrics-service_v1_service.yaml | 16 + ...der_rbac.authorization.k8s.io_v1_role.yaml | 17 + ...ter_rbac.authorization.k8s.io_v1_role.yaml | 32 ++ ...eventbridge.services.k8s.aws_archives.yaml | 186 +++++++ ...ventbridge.services.k8s.aws_endpoints.yaml | 209 +++++++ ...entbridge.services.k8s.aws_eventbuses.yaml | 176 ++++++ .../eventbridge.services.k8s.aws_rules.yaml | 521 ++++++++++++++++++ .../1.0.15/metadata/annotations.yaml | 15 + .../1.0.15/tests/scorecard/config.yaml | 50 ++ 11 files changed, 1550 insertions(+) create mode 100644 operators/ack-eventbridge-controller/1.0.15/bundle.Dockerfile create mode 100644 operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-controller.clusterserviceversion.yaml create mode 100644 operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-metrics-service_v1_service.yaml create mode 100644 operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-reader_rbac.authorization.k8s.io_v1_role.yaml create mode 100644 operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-writer_rbac.authorization.k8s.io_v1_role.yaml create mode 100644 operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_archives.yaml create mode 100644 operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_endpoints.yaml create mode 100644 operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_eventbuses.yaml create mode 100644 operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_rules.yaml create mode 100644 operators/ack-eventbridge-controller/1.0.15/metadata/annotations.yaml create mode 100644 operators/ack-eventbridge-controller/1.0.15/tests/scorecard/config.yaml diff --git a/operators/ack-eventbridge-controller/1.0.15/bundle.Dockerfile b/operators/ack-eventbridge-controller/1.0.15/bundle.Dockerfile new file mode 100644 index 00000000000..647f44c7f73 --- /dev/null +++ b/operators/ack-eventbridge-controller/1.0.15/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-eventbridge-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-eventbridge-controller/1.0.15/manifests/ack-eventbridge-controller.clusterserviceversion.yaml b/operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-controller.clusterserviceversion.yaml new file mode 100644 index 00000000000..0fdf96552a8 --- /dev/null +++ b/operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-controller.clusterserviceversion.yaml @@ -0,0 +1,307 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "eventbridge.services.k8s.aws/v1alpha1", + "kind": "Archive", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "eventbridge.services.k8s.aws/v1alpha1", + "kind": "Endpoint", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "eventbridge.services.k8s.aws/v1alpha1", + "kind": "EventBus", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "eventbridge.services.k8s.aws/v1alpha1", + "kind": "Rule", + "metadata": { + "name": "example" + }, + "spec": {} + } + ] + capabilities: Basic Install + categories: Cloud Provider + certified: "false" + containerImage: public.ecr.aws/aws-controllers-k8s/eventbridge-controller:1.0.15 + createdAt: "2024-10-12T00:20:35Z" + description: AWS EventBridge controller is a service controller for managing EventBridge + 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 + labels: + operatorframework.io/arch.amd64: supported + operatorframework.io/arch.arm64: supported + operatorframework.io/os.linux: supported + name: ack-eventbridge-controller.v1.0.15 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: Archive represents the state of an AWS eventbridge Archive resource. + displayName: Archive + kind: Archive + name: archives.eventbridge.services.k8s.aws + version: v1alpha1 + - description: Endpoint represents the state of an AWS eventbridge Endpoint resource. + displayName: Endpoint + kind: Endpoint + name: endpoints.eventbridge.services.k8s.aws + version: v1alpha1 + - description: EventBus represents the state of an AWS eventbridge EventBus resource. + displayName: EventBus + kind: EventBus + name: eventbuses.eventbridge.services.k8s.aws + version: v1alpha1 + - description: Rule represents the state of an AWS eventbridge Rule resource. + displayName: Rule + kind: Rule + name: rules.eventbridge.services.k8s.aws + version: v1alpha1 + description: |- + Manage Amazon EventBridge resources in AWS from within your Kubernetes cluster. + + **About Amazon EventBridge** + + EventBridge is a serverless service that uses events to connect application components together, making it easier for you to build scalable event-driven applications. Use it to route events from sources such as home-grown applications, AWS services, and third- party software to consumer applications across your organization. EventBridge provides a simple and consistent way to ingest, filter, transform, and deliver events so you can build new applications quickly. + + **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 EventBridge + icon: + - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzA0IDE4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzA0IDE4MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNTJGM0U7fQoJLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRjk5MDA7fQo8L3N0eWxlPgo8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04Ni40LDY2LjRjMCwzLjcsMC40LDYuNywxLjEsOC45YzAuOCwyLjIsMS44LDQuNiwzLjIsNy4yYzAuNSwwLjgsMC43LDEuNiwwLjcsMi4zYzAsMS0wLjYsMi0xLjksM2wtNi4zLDQuMiAgIGMtMC45LDAuNi0xLjgsMC45LTIuNiwwLjljLTEsMC0yLTAuNS0zLTEuNEM3Ni4yLDkwLDc1LDg4LjQsNzQsODYuOGMtMS0xLjctMi0zLjYtMy4xLTUuOWMtNy44LDkuMi0xNy42LDEzLjgtMjkuNCwxMy44ICAgYy04LjQsMC0xNS4xLTIuNC0yMC03LjJjLTQuOS00LjgtNy40LTExLjItNy40LTE5LjJjMC04LjUsMy0xNS40LDkuMS0yMC42YzYuMS01LjIsMTQuMi03LjgsMjQuNS03LjhjMy40LDAsNi45LDAuMywxMC42LDAuOCAgIGMzLjcsMC41LDcuNSwxLjMsMTEuNSwyLjJ2LTcuM2MwLTcuNi0xLjYtMTIuOS00LjctMTZjLTMuMi0zLjEtOC42LTQuNi0xNi4zLTQuNmMtMy41LDAtNy4xLDAuNC0xMC44LDEuM2MtMy43LDAuOS03LjMsMi0xMC44LDMuNCAgIGMtMS42LDAuNy0yLjgsMS4xLTMuNSwxLjNjLTAuNywwLjItMS4yLDAuMy0xLjYsMC4zYy0xLjQsMC0yLjEtMS0yLjEtMy4xdi00LjljMC0xLjYsMC4yLTIuOCwwLjctMy41YzAuNS0wLjcsMS40LTEuNCwyLjgtMi4xICAgYzMuNS0xLjgsNy43LTMuMywxMi42LTQuNWM0LjktMS4zLDEwLjEtMS45LDE1LjYtMS45YzExLjksMCwyMC42LDIuNywyNi4yLDguMWM1LjUsNS40LDguMywxMy42LDguMywyNC42VjY2LjR6IE00NS44LDgxLjYgICBjMy4zLDAsNi43LTAuNiwxMC4zLTEuOGMzLjYtMS4yLDYuOC0zLjQsOS41LTYuNGMxLjYtMS45LDIuOC00LDMuNC02LjRjMC42LTIuNCwxLTUuMywxLTguN3YtNC4yYy0yLjktMC43LTYtMS4zLTkuMi0xLjcgICBjLTMuMi0wLjQtNi4zLTAuNi05LjQtMC42Yy02LjcsMC0xMS42LDEuMy0xNC45LDRjLTMuMywyLjctNC45LDYuNS00LjksMTEuNWMwLDQuNywxLjIsOC4yLDMuNywxMC42ICAgQzM3LjcsODAuNCw0MS4yLDgxLjYsNDUuOCw4MS42eiBNMTI2LjEsOTIuNGMtMS44LDAtMy0wLjMtMy44LTFjLTAuOC0wLjYtMS41LTItMi4xLTMuOUw5Ni43LDEwLjJjLTAuNi0yLTAuOS0zLjMtMC45LTQgICBjMC0xLjYsMC44LTIuNSwyLjQtMi41aDkuOGMxLjksMCwzLjIsMC4zLDMuOSwxYzAuOCwwLjYsMS40LDIsMiwzLjlsMTYuOCw2Ni4ybDE1LjYtNjYuMmMwLjUtMiwxLjEtMy4zLDEuOS0zLjljMC44LTAuNiwyLjItMSw0LTEgICBoOGMxLjksMCwzLjIsMC4zLDQsMWMwLjgsMC42LDEuNSwyLDEuOSwzLjlsMTUuOCw2N2wxNy4zLTY3YzAuNi0yLDEuMy0zLjMsMi0zLjljMC44LTAuNiwyLjEtMSwzLjktMWg5LjNjMS42LDAsMi41LDAuOCwyLjUsMi41ICAgYzAsMC41LTAuMSwxLTAuMiwxLjZjLTAuMSwwLjYtMC4zLDEuNC0wLjcsMi41bC0yNC4xLDc3LjNjLTAuNiwyLTEuMywzLjMtMi4xLDMuOWMtMC44LDAuNi0yLjEsMS0zLjgsMWgtOC42Yy0xLjksMC0zLjItMC4zLTQtMSAgIGMtMC44LTAuNy0xLjUtMi0xLjktNEwxNTYsMjNsLTE1LjQsNjQuNGMtMC41LDItMS4xLDMuMy0xLjksNGMtMC44LDAuNy0yLjIsMS00LDFIMTI2LjF6IE0yNTQuNiw5NS4xYy01LjIsMC0xMC40LTAuNi0xNS40LTEuOCAgIGMtNS0xLjItOC45LTIuNS0xMS41LTRjLTEuNi0wLjktMi43LTEuOS0zLjEtMi44Yy0wLjQtMC45LTAuNi0xLjktMC42LTIuOHYtNS4xYzAtMi4xLDAuOC0zLjEsMi4zLTMuMWMwLjYsMCwxLjIsMC4xLDEuOCwwLjMgICBjMC42LDAuMiwxLjUsMC42LDIuNSwxYzMuNCwxLjUsNy4xLDIuNywxMSwzLjVjNCwwLjgsNy45LDEuMiwxMS45LDEuMmM2LjMsMCwxMS4yLTEuMSwxNC42LTMuM2MzLjQtMi4yLDUuMi01LjQsNS4yLTkuNSAgIGMwLTIuOC0wLjktNS4xLTIuNy03Yy0xLjgtMS45LTUuMi0zLjYtMTAuMS01LjJMMjQ2LDUyYy03LjMtMi4zLTEyLjctNS43LTE2LTEwLjJjLTMuMy00LjQtNS05LjMtNS0xNC41YzAtNC4yLDAuOS03LjksMi43LTExLjEgICBjMS44LTMuMiw0LjItNiw3LjItOC4yYzMtMi4zLDYuNC00LDEwLjQtNS4yYzQtMS4yLDguMi0xLjcsMTIuNi0xLjdjMi4yLDAsNC41LDAuMSw2LjcsMC40YzIuMywwLjMsNC40LDAuNyw2LjUsMS4xICAgYzIsMC41LDMuOSwxLDUuNywxLjZjMS44LDAuNiwzLjIsMS4yLDQuMiwxLjhjMS40LDAuOCwyLjQsMS42LDMsMi41YzAuNiwwLjgsMC45LDEuOSwwLjksMy4zdjQuN2MwLDIuMS0wLjgsMy4yLTIuMywzLjIgICBjLTAuOCwwLTIuMS0wLjQtMy44LTEuMmMtNS43LTIuNi0xMi4xLTMuOS0xOS4yLTMuOWMtNS43LDAtMTAuMiwwLjktMTMuMywyLjhjLTMuMSwxLjktNC43LDQuOC00LjcsOC45YzAsMi44LDEsNS4yLDMsNy4xICAgYzIsMS45LDUuNywzLjgsMTEsNS41bDE0LjIsNC41YzcuMiwyLjMsMTIuNCw1LjUsMTUuNSw5LjZjMy4xLDQuMSw0LjYsOC44LDQuNiwxNGMwLDQuMy0wLjksOC4yLTIuNiwxMS42ICAgYy0xLjgsMy40LTQuMiw2LjQtNy4zLDguOGMtMy4xLDIuNS02LjgsNC4zLTExLjEsNS42QzI2NC40LDk0LjQsMjU5LjcsOTUuMSwyNTQuNiw5NS4xeiIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI3My41LDE0My43Yy0zMi45LDI0LjMtODAuNywzNy4yLTEyMS44LDM3LjJjLTU3LjYsMC0xMDkuNS0yMS4zLTE0OC43LTU2LjdjLTMuMS0yLjgtMC4zLTYuNiwzLjQtNC40ICAgIGM0Mi40LDI0LjYsOTQuNywzOS41LDE0OC44LDM5LjVjMzYuNSwwLDc2LjYtNy42LDExMy41LTIzLjJDMjc0LjIsMTMzLjYsMjc4LjksMTM5LjcsMjczLjUsMTQzLjd6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI4Ny4yLDEyOC4xYy00LjItNS40LTI3LjgtMi42LTM4LjUtMS4zYy0zLjIsMC40LTMuNy0yLjQtMC44LTQuNWMxOC44LTEzLjIsNDkuNy05LjQsNTMuMy01ICAgIGMzLjYsNC41LTEsMzUuNC0xOC42LDUwLjJjLTIuNywyLjMtNS4zLDEuMS00LjEtMS45QzI4Mi41LDE1NS43LDI5MS40LDEzMy40LDI4Ny4yLDEyOC4xeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPg== + mediatype: image/svg+xml + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - configmaps + - secrets + verbs: + - get + - list + - patch + - watch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch + - apiGroups: + - eventbridge.services.k8s.aws + resources: + - archives + - endpoints + - eventbuses + - rules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - eventbridge.services.k8s.aws + resources: + - archives/status + - endpoints/status + - eventbuses/status + - rules/status + verbs: + - get + - patch + - update + - apiGroups: + - services.k8s.aws + resources: + - adoptedresources + - fieldexports + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - services.k8s.aws + resources: + - adoptedresources/status + - fieldexports/status + verbs: + - get + - patch + - update + serviceAccountName: ack-eventbridge-controller + deployments: + - label: + app.kubernetes.io/name: ack-eventbridge-controller + app.kubernetes.io/part-of: ack-system + name: ack-eventbridge-controller + spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: ack-eventbridge-controller + strategy: {} + template: + metadata: + labels: + app.kubernetes.io/name: ack-eventbridge-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) + - --reconcile-default-max-concurrent-syncs + - $(RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS) + command: + - ./bin/controller + env: + - name: ACK_SYSTEM_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + envFrom: + - configMapRef: + name: ack-eventbridge-user-config + optional: false + - secretRef: + name: ack-eventbridge-user-secrets + optional: true + image: public.ecr.aws/aws-controllers-k8s/eventbridge-controller:1.0.15 + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + name: controller + ports: + - containerPort: 8080 + name: http + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + limits: + cpu: 100m + memory: 300Mi + requests: + cpu: 100m + memory: 200Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + privileged: false + runAsNonRoot: true + dnsPolicy: ClusterFirst + securityContext: + seccompProfile: + type: RuntimeDefault + serviceAccountName: ack-eventbridge-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-eventbridge-controller + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: true + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - eventbridge + - 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 EventBridge Developer Resources + url: https://aws.amazon.com/eventbridge/resources/ + maintainers: + - email: ack-maintainers@amazon.com + name: eventbridge maintainer team + maturity: alpha + provider: + name: Amazon, Inc. + url: https://aws.amazon.com + version: 1.0.15 diff --git a/operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-metrics-service_v1_service.yaml b/operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..58919139ed7 --- /dev/null +++ b/operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-metrics-service_v1_service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + name: ack-eventbridge-metrics-service +spec: + ports: + - name: metricsport + port: 8080 + protocol: TCP + targetPort: http + selector: + app.kubernetes.io/name: ack-eventbridge-controller + type: NodePort +status: + loadBalancer: {} diff --git a/operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-reader_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-reader_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..b9afede1db4 --- /dev/null +++ b/operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-reader_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,17 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-eventbridge-reader +rules: +- apiGroups: + - eventbridge.services.k8s.aws + resources: + - archives + - endpoints + - eventbuses + - rules + verbs: + - get + - list + - watch diff --git a/operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-writer_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-writer_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..b6d29431377 --- /dev/null +++ b/operators/ack-eventbridge-controller/1.0.15/manifests/ack-eventbridge-writer_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,32 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-eventbridge-writer +rules: +- apiGroups: + - eventbridge.services.k8s.aws + resources: + - archives + - endpoints + - eventbuses + - rules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - eventbridge.services.k8s.aws + resources: + - archives + - endpoints + - eventbuses + - rules + verbs: + - get + - patch + - update diff --git a/operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_archives.yaml b/operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_archives.yaml new file mode 100644 index 00000000000..6b035715bb6 --- /dev/null +++ b/operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_archives.yaml @@ -0,0 +1,186 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: archives.eventbridge.services.k8s.aws +spec: + group: eventbridge.services.k8s.aws + names: + kind: Archive + listKind: ArchiveList + plural: archives + singular: archive + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.ackResourceMetadata.arn + name: ARN + priority: 1 + type: string + - jsonPath: .status.state + name: STATE + type: string + - jsonPath: .status.conditions[?(@.type=="ACK.ResourceSynced")].status + name: Synced + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Archive is the Schema for the Archives 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: |- + ArchiveSpec defines the desired state of Archive. + + An Archive object that contains details about an archive. + properties: + description: + description: A description for the archive. + type: string + eventPattern: + description: An event pattern to use to filter events sent to the + archive. + type: string + eventSourceARN: + description: The ARN of the event bus that sends events to the archive. + type: string + eventSourceRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t + \ 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 + namespace: + type: string + type: object + type: object + name: + description: The name for the archive to create. + type: string + retentionDays: + description: |- + The number of days to retain events for. Default value is 0. If set to 0, + events are retained indefinitely + format: int64 + type: integer + required: + - name + type: object + status: + description: ArchiveStatus defines the observed state of Archive + 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. + 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 + creationTime: + description: The time at which the archive was created. + format: date-time + type: string + state: + description: The state of the archive that was created. + type: string + stateReason: + description: The reason that the archive is in the state. + 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-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_endpoints.yaml b/operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_endpoints.yaml new file mode 100644 index 00000000000..2f43b13be0c --- /dev/null +++ b/operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_endpoints.yaml @@ -0,0 +1,209 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: endpoints.eventbridge.services.k8s.aws +spec: + group: eventbridge.services.k8s.aws + names: + kind: Endpoint + listKind: EndpointList + plural: endpoints + singular: endpoint + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.ackResourceMetadata.arn + name: ARN + priority: 1 + type: string + - jsonPath: .status.state + name: STATE + type: string + - jsonPath: .status.conditions[?(@.type=="ACK.ResourceSynced")].status + name: Synced + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Endpoint is the Schema for the Endpoints 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: |- + EndpointSpec defines the desired state of Endpoint. + + A global endpoint used to improve your application's availability by making + it regional-fault tolerant. For more information about global endpoints, + see Making applications Regional-fault tolerant with global endpoints and + event replication (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-global-endpoints.html) + in the Amazon EventBridge User Guide. + properties: + description: + description: A description of the global endpoint. + type: string + eventBuses: + description: |- + Define the event buses used. + + The names of the event buses must be identical in each Region. + items: + description: The event buses the endpoint is associated with. + properties: + eventBusARN: + type: string + type: object + type: array + name: + description: The name of the global endpoint. For example, "Name":"us-east-2-custom_bus_A-endpoint". + type: string + replicationConfig: + description: |- + Enable or disable event replication. The default state is ENABLED which means + you must supply a RoleArn. If you don't have a RoleArn or you don't want + event replication enabled, set the state to DISABLED. + properties: + state: + type: string + type: object + roleARN: + description: The ARN of the role used for replication. + type: string + routingConfig: + description: Configure the routing policy, including the health check + and secondary Region.. + properties: + failoverConfig: + description: |- + The failover configuration for an endpoint. This includes what triggers failover + and what happens when it's triggered. + properties: + primary: + description: The primary Region of the endpoint. + properties: + healthCheck: + type: string + type: object + secondary: + description: |- + The secondary Region that processes events when failover is triggered or + replication is enabled. + properties: + route: + type: string + type: object + type: object + type: object + required: + - eventBuses + - name + - routingConfig + type: object + status: + description: EndpointStatus defines the observed state of Endpoint + 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. + 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 + state: + description: The state of the endpoint that was created by this request. + type: string + stateReason: + description: |- + The reason the endpoint you asked for information about is in its current + state. + 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-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_eventbuses.yaml b/operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_eventbuses.yaml new file mode 100644 index 00000000000..7ae7f89518b --- /dev/null +++ b/operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_eventbuses.yaml @@ -0,0 +1,176 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: eventbuses.eventbridge.services.k8s.aws +spec: + group: eventbridge.services.k8s.aws + names: + kind: EventBus + listKind: EventBusList + plural: eventbuses + shortNames: + - eb + - bus + singular: eventbus + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.ackResourceMetadata.arn + name: ARN + priority: 1 + type: string + - jsonPath: .status.conditions[?(@.type=="ACK.ResourceSynced")].status + name: Synced + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: EventBus is the Schema for the EventBuses 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: |- + EventBusSpec defines the desired state of EventBus. + + An event bus receives events from a source, uses rules to evaluate them, + applies any configured input transformation, and routes them to the appropriate + target(s). Your account's default event bus receives events from Amazon Web + Services services. A custom event bus can receive events from your custom + applications and services. A partner event bus receives events from an event + source created by an SaaS partner. These events come from the partners services + or applications. + properties: + eventSourceName: + description: |- + If you are creating a partner event bus, this specifies the partner event + source that the new event bus will be matched with. + type: string + name: + description: |- + The name of the new event bus. + + Custom event bus names can't contain the / character, but you can use the + / character in partner event bus names. In addition, for partner event buses, + the name must exactly match the name of the partner event source that this + event bus is matched to. + + You can't use the name default for a custom event bus, as this name is already + used for your account's default event bus. + type: string + tags: + description: Tags to associate with the event bus. + items: + description: |- + A key-value pair associated with an Amazon Web Services resource. In EventBridge, + rules and event buses support tagging. + properties: + key: + type: string + value: + type: string + type: object + type: array + required: + - name + type: object + status: + description: EventBusStatus defines the observed state of EventBus + 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. + 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 + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_rules.yaml b/operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_rules.yaml new file mode 100644 index 00000000000..3a1767ae5cf --- /dev/null +++ b/operators/ack-eventbridge-controller/1.0.15/manifests/eventbridge.services.k8s.aws_rules.yaml @@ -0,0 +1,521 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: rules.eventbridge.services.k8s.aws +spec: + group: eventbridge.services.k8s.aws + names: + kind: Rule + listKind: RuleList + plural: rules + shortNames: + - er + singular: rule + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.ackResourceMetadata.arn + name: ARN + priority: 1 + type: string + - jsonPath: .status.conditions[?(@.type=="ACK.ResourceSynced")].status + name: Synced + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + description: Rule is the Schema for the Rules 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: |- + RuleSpec defines the desired state of Rule. + + Contains information about a rule in Amazon EventBridge. + properties: + description: + description: A description of the rule. + type: string + eventBusName: + description: |- + The name or ARN of the event bus to associate with this rule. If you omit + this, the default event bus is used. + type: string + eventBusRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t + \ 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 + namespace: + type: string + type: object + type: object + eventPattern: + description: |- + The event pattern. For more information, see Amazon EventBridge event patterns + (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) + in the Amazon EventBridge User Guide. + type: string + name: + description: The name of the rule that you are creating or updating. + type: string + roleARN: + description: |- + The Amazon Resource Name (ARN) of the IAM role associated with the rule. + + If you're setting an event bus in another account as the target and that + account granted permission to your account through an organization instead + of directly by the account ID, you must specify a RoleArn with proper permissions + in the Target structure, instead of here in this parameter. + type: string + scheduleExpression: + description: The scheduling expression. For example, "cron(0 20 * + * ? *)" or "rate(5 minutes)". + type: string + state: + description: |- + The state of the rule. + + Valid values include: + + * DISABLED: The rule is disabled. EventBridge does not match any events + against the rule. + + * ENABLED: The rule is enabled. EventBridge matches events against the + rule, except for Amazon Web Services management events delivered through + CloudTrail. + + * ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS: The rule is enabled for + all events, including Amazon Web Services management events delivered + through CloudTrail. Management events provide visibility into management + operations that are performed on resources in your Amazon Web Services + account. These are also known as control plane operations. For more information, + see Logging management events (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) + in the CloudTrail User Guide, and Filtering management events from Amazon + Web Services services (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#eb-service-event-cloudtrail) + in the Amazon EventBridge User Guide. This value is only valid for rules + on the default (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is-how-it-works-concepts.html#eb-bus-concepts-buses) + event bus or custom event buses (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html). + It does not apply to partner event buses (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-saas.html). + type: string + tags: + description: The list of key-value pairs to associate with the rule. + items: + description: |- + A key-value pair associated with an Amazon Web Services resource. In EventBridge, + rules and event buses support tagging. + properties: + key: + type: string + value: + type: string + type: object + type: array + targets: + items: + description: |- + Targets are the resources to be invoked when a rule is triggered. For a complete + list of services and resources that can be set as a target, see PutTargets + (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html). + + If you are setting the event bus of another account as the target, and that + account granted permission to your account through an organization instead + of directly by the account ID, then you must specify a RoleArn with proper + permissions in the Target structure. For more information, see Sending and + Receiving Events Between Amazon Web Services Accounts (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) + in the Amazon EventBridge User Guide. + properties: + arn: + type: string + batchParameters: + description: The custom parameters to be used when the target + is an Batch job. + properties: + arrayProperties: + description: |- + The array properties for the submitted job, such as the size of the array. + The array size can be between 2 and 10,000. If you specify array properties + for a job, it becomes an array job. This parameter is used only if the target + is an Batch job. + properties: + size: + format: int64 + type: integer + type: object + jobDefinition: + type: string + jobName: + type: string + retryStrategy: + description: |- + The retry strategy to use for failed jobs, if the target is an Batch job. + If you specify a retry strategy here, it overrides the retry strategy defined + in the job definition. + properties: + attempts: + format: int64 + type: integer + type: object + type: object + deadLetterConfig: + description: |- + A DeadLetterConfig object that contains information about a dead-letter queue + configuration. + properties: + arn: + type: string + type: object + ecsParameters: + description: The custom parameters to be used when the target + is an Amazon ECS task. + properties: + capacityProviderStrategy: + items: + description: |- + The details of a capacity provider strategy. To learn more, see CapacityProviderStrategyItem + (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CapacityProviderStrategyItem.html) + in the Amazon ECS API Reference. + properties: + base: + format: int64 + type: integer + capacityProvider: + type: string + weight: + format: int64 + type: integer + type: object + type: array + enableECSManagedTags: + type: boolean + enableExecuteCommand: + type: boolean + group: + type: string + launchType: + type: string + networkConfiguration: + description: This structure specifies the network configuration + for an ECS task. + properties: + awsVPCConfiguration: + description: |- + This structure specifies the VPC subnets and security groups for the task, + and whether a public IP address is to be used. This structure is relevant + only for ECS tasks that use the awsvpc network mode. + properties: + assignPublicIP: + type: string + securityGroups: + items: + type: string + type: array + subnets: + items: + type: string + type: array + type: object + type: object + placementConstraints: + items: + description: |- + An object representing a constraint on task placement. To learn more, see + Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) + in the Amazon Elastic Container Service Developer Guide. + properties: + expression: + type: string + type_: + type: string + type: object + type: array + placementStrategy: + items: + description: |- + The task placement strategy for a task or service. To learn more, see Task + Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) + in the Amazon Elastic Container Service Service Developer Guide. + properties: + field: + type: string + type_: + type: string + type: object + type: array + platformVersion: + type: string + propagateTags: + type: string + referenceID: + type: string + tags: + items: + description: |- + A key-value pair associated with an Amazon Web Services resource. In EventBridge, + rules and event buses support tagging. + properties: + key: + type: string + value: + type: string + type: object + type: array + taskCount: + format: int64 + type: integer + taskDefinitionARN: + type: string + type: object + httpParameters: + description: |- + These are custom parameter to be used when the target is an API Gateway APIs + or EventBridge ApiDestinations. In the latter case, these are merged with + any InvocationParameters specified on the Connection, with any values from + the Connection taking precedence. + properties: + headerParameters: + additionalProperties: + type: string + type: object + pathParameterValues: + items: + type: string + type: array + queryStringParameters: + additionalProperties: + type: string + type: object + type: object + id: + type: string + input: + type: string + inputPath: + type: string + inputTransformer: + description: |- + Contains the parameters needed for you to provide custom input to a target + based on one or more pieces of data extracted from the event. + properties: + inputPathsMap: + additionalProperties: + type: string + type: object + inputTemplate: + type: string + type: object + kinesisParameters: + description: |- + This object enables you to specify a JSON path to extract from the event + and use as the partition key for the Amazon Kinesis data stream, so that + you can control the shard to which the event goes. If you do not include + this parameter, the default is to use the eventId as the partition key. + properties: + partitionKeyPath: + type: string + type: object + redshiftDataParameters: + description: |- + These are custom parameters to be used when the target is a Amazon Redshift + cluster to invoke the Amazon Redshift Data API ExecuteStatement based on + EventBridge events. + properties: + database: + description: Redshift Database + type: string + dbUser: + description: Database user name + type: string + secretManagerARN: + description: Optional SecretManager ARN which stores the + database credentials + type: string + sql: + description: A single Redshift SQL + type: string + sqls: + description: A list of SQLs. + items: + type: string + type: array + statementName: + description: A name for Redshift DataAPI statement which + can be used as filter of ListStatement. + type: string + withEvent: + type: boolean + type: object + retryPolicy: + description: A RetryPolicy object that includes information + about the retry policy settings. + properties: + maximumEventAgeInSeconds: + format: int64 + type: integer + maximumRetryAttempts: + format: int64 + type: integer + type: object + roleARN: + type: string + runCommandParameters: + description: |- + This parameter contains the criteria (either InstanceIds or a tag) used to + specify which EC2 instances are to be sent the command. + properties: + runCommandTargets: + items: + description: |- + Information about the EC2 instances that are to be sent the command, specified + as key-value pairs. Each RunCommandTarget block can include only one key, + but this key may specify multiple values. + properties: + key: + type: string + values: + items: + type: string + type: array + type: object + type: array + type: object + sageMakerPipelineParameters: + description: |- + These are custom parameters to use when the target is a SageMaker Model Building + Pipeline that starts based on EventBridge events. + properties: + pipelineParameterList: + items: + description: |- + Name/Value pair of a parameter to start execution of a SageMaker Model Building + Pipeline. + properties: + name: + type: string + value: + type: string + type: object + type: array + type: object + sqsParameters: + description: |- + This structure includes the custom parameter to be used when the target is + an SQS FIFO queue. + properties: + messageGroupID: + type: string + type: object + type: object + type: array + required: + - name + type: object + status: + description: RuleStatus defines the observed state of Rule + 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. + 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 + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-eventbridge-controller/1.0.15/metadata/annotations.yaml b/operators/ack-eventbridge-controller/1.0.15/metadata/annotations.yaml new file mode 100644 index 00000000000..c7e7b2a131d --- /dev/null +++ b/operators/ack-eventbridge-controller/1.0.15/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-eventbridge-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-eventbridge-controller/1.0.15/tests/scorecard/config.yaml b/operators/ack-eventbridge-controller/1.0.15/tests/scorecard/config.yaml new file mode 100644 index 00000000000..382ddefd156 --- /dev/null +++ b/operators/ack-eventbridge-controller/1.0.15/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: {}