diff --git a/operators/ack-pipes-controller/1.0.2/bundle.Dockerfile b/operators/ack-pipes-controller/1.0.2/bundle.Dockerfile new file mode 100644 index 00000000000..837f02de5ce --- /dev/null +++ b/operators/ack-pipes-controller/1.0.2/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-pipes-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-pipes-controller/1.0.2/manifests/ack-pipes-controller.clusterserviceversion.yaml b/operators/ack-pipes-controller/1.0.2/manifests/ack-pipes-controller.clusterserviceversion.yaml new file mode 100644 index 00000000000..9ad62aff1c1 --- /dev/null +++ b/operators/ack-pipes-controller/1.0.2/manifests/ack-pipes-controller.clusterserviceversion.yaml @@ -0,0 +1,254 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: '[]' + capabilities: Basic Install + categories: Cloud Provider + certified: "false" + containerImage: public.ecr.aws/aws-controllers-k8s/pipes-controller:1.0.2 + createdAt: "2023-09-17T05:19:03Z" + description: AWS Pipes controller is a service controller for managing Pipes 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-pipes-controller.v1.0.2 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: Pipe represents the state of an AWS pipes Pipe resource. + displayName: Pipe + kind: Pipe + name: pipes.pipes.services.k8s.aws + version: v1alpha1 + description: |- + Manage Amazon Pipes resources in AWS from within your Kubernetes cluster. + + **About Amazon Pipes** + + {ADD YOUR DESCRIPTION HERE} + + **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 Pipes + 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: + - pipes.services.k8s.aws + resources: + - pipes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - pipes.services.k8s.aws + resources: + - pipes/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-pipes-controller + deployments: + - label: + app.kubernetes.io/name: ack-pipes-controller + app.kubernetes.io/part-of: ack-system + name: ack-pipes-controller + spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: ack-pipes-controller + strategy: {} + template: + metadata: + labels: + app.kubernetes.io/name: ack-pipes-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-pipes-user-config + optional: false + - secretRef: + name: ack-pipes-user-secrets + optional: true + image: public.ecr.aws/aws-controllers-k8s/pipes-controller:1.0.2 + 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 + dnsPolicy: ClusterFirst + securityContext: + seccompProfile: + type: RuntimeDefault + serviceAccountName: ack-pipes-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-pipes-controller + strategy: deployment + installModes: + - supported: true + type: AllNamespaces + keywords: + - pipes + - 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 Pipes Developer Resources + url: https://aws.amazon.com/Pipes/developer-resources/ + maintainers: + - email: ack-maintainers@amazon.com + name: pipes maintainer team + maturity: alpha + provider: + name: Amazon, Inc. + url: https://aws.amazon.com + version: 1.0.2 diff --git a/operators/ack-pipes-controller/1.0.2/manifests/ack-pipes-metrics-service_v1_service.yaml b/operators/ack-pipes-controller/1.0.2/manifests/ack-pipes-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..e53e26166ee --- /dev/null +++ b/operators/ack-pipes-controller/1.0.2/manifests/ack-pipes-metrics-service_v1_service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + name: ack-pipes-metrics-service +spec: + ports: + - name: metricsport + port: 8080 + protocol: TCP + targetPort: http + selector: + app.kubernetes.io/name: ack-pipes-controller + type: NodePort +status: + loadBalancer: {} diff --git a/operators/ack-pipes-controller/1.0.2/manifests/ack-pipes-reader_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-pipes-controller/1.0.2/manifests/ack-pipes-reader_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..162e0f7f56f --- /dev/null +++ b/operators/ack-pipes-controller/1.0.2/manifests/ack-pipes-reader_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,14 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-pipes-reader +rules: +- apiGroups: + - pipes.services.k8s.aws + resources: + - pipes + verbs: + - get + - list + - watch diff --git a/operators/ack-pipes-controller/1.0.2/manifests/ack-pipes-writer_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-pipes-controller/1.0.2/manifests/ack-pipes-writer_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..5f4ab536b7b --- /dev/null +++ b/operators/ack-pipes-controller/1.0.2/manifests/ack-pipes-writer_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,26 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-pipes-writer +rules: +- apiGroups: + - pipes.services.k8s.aws + resources: + - pipes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - pipes.services.k8s.aws + resources: + - pipes + verbs: + - get + - patch + - update diff --git a/operators/ack-pipes-controller/1.0.2/manifests/pipes.services.k8s.aws_pipes.yaml b/operators/ack-pipes-controller/1.0.2/manifests/pipes.services.k8s.aws_pipes.yaml new file mode 100644 index 00000000000..eb233185ab7 --- /dev/null +++ b/operators/ack-pipes-controller/1.0.2/manifests/pipes.services.k8s.aws_pipes.yaml @@ -0,0 +1,879 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: pipes.pipes.services.k8s.aws +spec: + group: pipes.services.k8s.aws + names: + kind: Pipe + listKind: PipeList + plural: pipes + singular: pipe + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.ackResourceMetadata.arn + name: ARN + priority: 1 + type: string + - jsonPath: .spec.source + name: SOURCE + priority: 1 + type: string + - jsonPath: .status.currentState + name: STATE + type: string + - jsonPath: .spec.target + name: TARGET + 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: Pipe is the Schema for the Pipes 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: "PipeSpec defines the desired state of Pipe. \n An object + that represents a pipe. Amazon EventBridgePipes connect event sources + to targets and reduces the need for specialized knowledge and integration + code." + properties: + description: + description: A description of the pipe. + type: string + desiredState: + description: The state the pipe should be in. + type: string + enrichment: + description: The ARN of the enrichment resource. + type: string + enrichmentParameters: + description: The parameters required to set up enrichment on your + pipe. + properties: + httpParameters: + description: These are custom parameter to be used when the target + is an API Gateway REST 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 + inputTemplate: + type: string + type: object + name: + description: The name of the pipe. + type: string + roleARN: + description: The ARN of the role that allows the pipe to send data + to the target. + type: string + source: + description: The ARN of the source resource. + type: string + sourceParameters: + description: The parameters required to set up a source for your pipe. + properties: + activeMQBrokerParameters: + description: The parameters for using an Active MQ broker as a + source. + properties: + batchSize: + format: int64 + type: integer + credentials: + description: The Secrets Manager secret that stores your broker + credentials. + properties: + basicAuth: + description: // Optional SecretManager ARN which stores + the database credentials + type: string + type: object + maximumBatchingWindowInSeconds: + format: int64 + type: integer + queueName: + type: string + type: object + dynamoDBStreamParameters: + description: The parameters for using a DynamoDB stream as a source. + properties: + batchSize: + format: int64 + type: integer + deadLetterConfig: + description: A DeadLetterConfig object that contains information + about a dead-letter queue configuration. + properties: + arn: + type: string + type: object + maximumBatchingWindowInSeconds: + format: int64 + type: integer + maximumRecordAgeInSeconds: + format: int64 + type: integer + maximumRetryAttempts: + format: int64 + type: integer + onPartialBatchItemFailure: + type: string + parallelizationFactor: + format: int64 + type: integer + startingPosition: + type: string + type: object + filterCriteria: + description: The collection of event patterns used to filter events. + For more information, see Events and Event Patterns (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) + in the Amazon EventBridge User Guide. + properties: + filters: + items: + description: Filter events using an event pattern. For more + information, see Events and Event Patterns (https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) + in the Amazon EventBridge User Guide. + properties: + pattern: + type: string + type: object + type: array + type: object + kinesisStreamParameters: + description: The parameters for using a Kinesis stream as a source. + properties: + batchSize: + format: int64 + type: integer + deadLetterConfig: + description: A DeadLetterConfig object that contains information + about a dead-letter queue configuration. + properties: + arn: + type: string + type: object + maximumBatchingWindowInSeconds: + format: int64 + type: integer + maximumRecordAgeInSeconds: + format: int64 + type: integer + maximumRetryAttempts: + format: int64 + type: integer + onPartialBatchItemFailure: + type: string + parallelizationFactor: + format: int64 + type: integer + startingPosition: + type: string + startingPositionTimestamp: + format: date-time + type: string + type: object + managedStreamingKafkaParameters: + description: The parameters for using an MSK stream as a source. + properties: + batchSize: + format: int64 + type: integer + consumerGroupID: + type: string + credentials: + description: The Secrets Manager secret that stores your stream + credentials. + properties: + clientCertificateTLSAuth: + description: // Optional SecretManager ARN which stores + the database credentials + type: string + saslSCRAM512Auth: + description: // Optional SecretManager ARN which stores + the database credentials + type: string + type: object + maximumBatchingWindowInSeconds: + format: int64 + type: integer + startingPosition: + type: string + topicName: + type: string + type: object + rabbitMQBrokerParameters: + description: The parameters for using a Rabbit MQ broker as a + source. + properties: + batchSize: + format: int64 + type: integer + credentials: + description: The Secrets Manager secret that stores your broker + credentials. + properties: + basicAuth: + description: // Optional SecretManager ARN which stores + the database credentials + type: string + type: object + maximumBatchingWindowInSeconds: + format: int64 + type: integer + queueName: + type: string + virtualHost: + type: string + type: object + selfManagedKafkaParameters: + description: The parameters for using a self-managed Apache Kafka + stream as a source. + properties: + additionalBootstrapServers: + items: + type: string + type: array + batchSize: + format: int64 + type: integer + consumerGroupID: + type: string + credentials: + description: The Secrets Manager secret that stores your stream + credentials. + properties: + basicAuth: + description: // Optional SecretManager ARN which stores + the database credentials + type: string + clientCertificateTLSAuth: + description: // Optional SecretManager ARN which stores + the database credentials + type: string + saslSCRAM256Auth: + description: // Optional SecretManager ARN which stores + the database credentials + type: string + saslSCRAM512Auth: + description: // Optional SecretManager ARN which stores + the database credentials + type: string + type: object + maximumBatchingWindowInSeconds: + format: int64 + type: integer + serverRootCaCertificate: + description: // Optional SecretManager ARN which stores the + database credentials + type: string + startingPosition: + type: string + topicName: + type: string + vpc: + description: This structure specifies the VPC subnets and + security groups for the stream, and whether a public IP + address is to be used. + properties: + securityGroup: + description: List of SecurityGroupId. + items: + type: string + type: array + subnets: + description: List of SubnetId. + items: + type: string + type: array + type: object + type: object + sqsQueueParameters: + description: The parameters for using a Amazon SQS stream as a + source. + properties: + batchSize: + format: int64 + type: integer + maximumBatchingWindowInSeconds: + format: int64 + type: integer + type: object + type: object + tags: + additionalProperties: + type: string + description: The list of key-value pairs to associate with the pipe. + type: object + target: + description: The ARN of the target resource. + type: string + targetParameters: + description: The parameters required to set up a target for your pipe. + properties: + batchJobParameters: + description: The parameters for using an Batch job as a target. + 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 + containerOverrides: + description: The overrides that are sent to a container. + properties: + command: + items: + type: string + type: array + environment: + items: + description: "The environment variables to send to the + container. You can add new environment variables, + which are added to the container at launch, or you + can override the existing environment variables from + the Docker image or the task definition. \n Environment + variables cannot start with \"Batch\". This naming + convention is reserved for variables that Batch sets." + properties: + name: + type: string + value: + type: string + type: object + type: array + instanceType: + type: string + resourceRequirements: + items: + description: The type and amount of a resource to assign + to a container. The supported resources include GPU, + MEMORY, and VCPU. + properties: + type_: + type: string + value: + type: string + type: object + type: array + type: object + dependsOn: + items: + description: An object that represents an Batch job dependency. + properties: + jobID: + type: string + type_: + type: string + type: object + type: array + jobDefinition: + type: string + jobName: + type: string + parameters: + additionalProperties: + type: string + type: object + retryStrategy: + description: The retry strategy that's associated with a job. + For more information, see Automated job retries (https://docs.aws.amazon.com/batch/latest/userguide/job_retries.html) + in the Batch User Guide. + properties: + attempts: + format: int64 + type: integer + type: object + type: object + cloudWatchLogsParameters: + description: The parameters for using an CloudWatch Logs log stream + as a target. + properties: + logStreamName: + type: string + timestamp: + type: string + type: object + ecsTaskParameters: + description: The parameters for using an Amazon ECS task as a + target. + 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 Amazon 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 + overrides: + description: The overrides that are associated with a task. + properties: + containerOverrides: + items: + description: 'The overrides that are sent to a container. + An empty container override can be passed in. An example + of an empty container override is {"containerOverrides": + [ ] }. If a non-empty container override is specified, + the name parameter must be included.' + properties: + command: + items: + type: string + type: array + cpu: + format: int64 + type: integer + environment: + items: + description: The environment variables to send + to the container. You can add new environment + variables, which are added to the container + at launch, or you can override the existing + environment variables from the Docker image + or the task definition. You must also specify + a container name. + properties: + name: + type: string + value: + type: string + type: object + type: array + environmentFiles: + items: + description: "A list of files containing the environment + variables to pass to a container. You can specify + up to ten environment files. The file must have + a .env file extension. Each line in an environment + file should contain an environment variable + in VARIABLE=VALUE format. Lines beginning with + # are treated as comments and are ignored. For + more information about the environment variable + file syntax, see Declare default environment + variables in file (https://docs.docker.com/compose/env-file/). + \n If there are environment variables specified + using the environment parameter in a container + definition, they take precedence over the variables + contained within an environment file. If multiple + environment files are specified that contain + the same variable, they're processed from the + top down. We recommend that you use unique variable + names. For more information, see Specifying + environment variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) + in the Amazon Elastic Container Service Developer + Guide. \n This parameter is only supported for + tasks hosted on Fargate using the following + platform versions: \n * Linux platform version + 1.4.0 or later. \n * Windows platform version + 1.0.0 or later." + properties: + type_: + type: string + value: + type: string + type: object + type: array + memory: + format: int64 + type: integer + memoryReservation: + format: int64 + type: integer + name: + type: string + resourceRequirements: + items: + description: The type and amount of a resource + to assign to a container. The supported resource + types are GPUs and Elastic Inference accelerators. + For more information, see Working with GPUs + on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) + or Working with Amazon Elastic Inference on + Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) + in the Amazon Elastic Container Service Developer + Guide + properties: + type_: + type: string + value: + type: string + type: object + type: array + type: object + type: array + cpu: + type: string + ephemeralStorage: + description: "The amount of ephemeral storage to allocate + for the task. This parameter is used to expand the total + amount of ephemeral storage available, beyond the default + amount, for tasks hosted on Fargate. For more information, + see Fargate task storage (https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html) + in the Amazon ECS User Guide for Fargate. \n This parameter + is only supported for tasks hosted on Fargate using + Linux platform version 1.4.0 or later. This parameter + is not supported for Windows containers on Fargate." + properties: + sizeInGiB: + format: int64 + type: integer + type: object + executionRoleARN: + type: string + inferenceAcceleratorOverrides: + items: + description: Details on an Elastic Inference accelerator + task override. This parameter is used to override + the Elastic Inference accelerator specified in the + task definition. For more information, see Working + with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/userguide/ecs-inference.html) + in the Amazon Elastic Container Service Developer + Guide. + properties: + deviceName: + type: string + deviceType: + type: string + type: object + type: array + memory: + type: string + taskRoleARN: + type: string + 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 + eventBridgeEventBusParameters: + description: The parameters for using an EventBridge event bus + as a target. + properties: + detailType: + type: string + endpointID: + type: string + resources: + items: + type: string + type: array + source: + type: string + time: + type: string + type: object + httpParameters: + description: These are custom parameter to be used when the target + is an API Gateway REST APIs or EventBridge ApiDestinations. + properties: + headerParameters: + additionalProperties: + type: string + type: object + pathParameterValues: + items: + type: string + type: array + queryStringParameters: + additionalProperties: + type: string + type: object + type: object + inputTemplate: + type: string + kinesisStreamParameters: + description: The parameters for using a Kinesis stream as a source. + properties: + partitionKey: + type: string + type: object + lambdaFunctionParameters: + description: The parameters for using a Lambda function as a target. + properties: + invocationType: + 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. + properties: + database: + description: // Redshift Database + type: string + dbUser: + description: // Database user name + type: string + secretManagerARN: + description: // For targets, can either specify an ARN or + a jsonpath pointing to the ARN. + 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 + sageMakerPipelineParameters: + description: The parameters for using a SageMaker pipeline as + a target. + 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 + sqsQueueParameters: + description: The parameters for using a Amazon SQS stream as a + source. + properties: + messageDeduplicationID: + type: string + messageGroupID: + type: string + type: object + stepFunctionStateMachineParameters: + description: The parameters for using a Step Functions state machine + as a target. + properties: + invocationType: + type: string + type: object + type: object + required: + - name + - roleARN + - source + - target + type: object + status: + description: PipeStatus defines the observed state of Pipe + 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 + creationTime: + description: The time the pipe was created. + format: date-time + type: string + currentState: + description: The state the pipe is in. + type: string + lastModifiedTime: + description: When the pipe was last updated, in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime) + (YYYY-MM-DDThh:mm:ss.sTZD). + format: date-time + type: string + stateReason: + description: The reason the pipe 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-pipes-controller/1.0.2/metadata/annotations.yaml b/operators/ack-pipes-controller/1.0.2/metadata/annotations.yaml new file mode 100644 index 00000000000..cb62984e2ea --- /dev/null +++ b/operators/ack-pipes-controller/1.0.2/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-pipes-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-pipes-controller/1.0.2/tests/scorecard/config.yaml b/operators/ack-pipes-controller/1.0.2/tests/scorecard/config.yaml new file mode 100644 index 00000000000..382ddefd156 --- /dev/null +++ b/operators/ack-pipes-controller/1.0.2/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: {}