From 067e7515fb25f7ac20a7e74269eafab125147bf9 Mon Sep 17 00:00:00 2001 From: AWS Controllers for Kubernetes Bot <82905295+ack-bot@users.noreply.github.com> Date: Thu, 8 Aug 2024 09:48:11 -0700 Subject: [PATCH] operator ack-s3-controller (1.0.15) --- .../1.0.15/bundle.Dockerfile | 21 + ...k-s3-controller.clusterserviceversion.yaml | 288 ++++ .../ack-s3-metrics-service_v1_service.yaml | 16 + ...der_rbac.authorization.k8s.io_v1_role.yaml | 14 + ...ter_rbac.authorization.k8s.io_v1_role.yaml | 26 + .../s3.services.k8s.aws_buckets.yaml | 1181 +++++++++++++++++ .../1.0.15/metadata/annotations.yaml | 15 + .../1.0.15/tests/scorecard/config.yaml | 50 + 8 files changed, 1611 insertions(+) create mode 100644 operators/ack-s3-controller/1.0.15/bundle.Dockerfile create mode 100644 operators/ack-s3-controller/1.0.15/manifests/ack-s3-controller.clusterserviceversion.yaml create mode 100644 operators/ack-s3-controller/1.0.15/manifests/ack-s3-metrics-service_v1_service.yaml create mode 100644 operators/ack-s3-controller/1.0.15/manifests/ack-s3-reader_rbac.authorization.k8s.io_v1_role.yaml create mode 100644 operators/ack-s3-controller/1.0.15/manifests/ack-s3-writer_rbac.authorization.k8s.io_v1_role.yaml create mode 100644 operators/ack-s3-controller/1.0.15/manifests/s3.services.k8s.aws_buckets.yaml create mode 100644 operators/ack-s3-controller/1.0.15/metadata/annotations.yaml create mode 100644 operators/ack-s3-controller/1.0.15/tests/scorecard/config.yaml diff --git a/operators/ack-s3-controller/1.0.15/bundle.Dockerfile b/operators/ack-s3-controller/1.0.15/bundle.Dockerfile new file mode 100644 index 00000000000..7baff5f220b --- /dev/null +++ b/operators/ack-s3-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-s3-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-s3-controller/1.0.15/manifests/ack-s3-controller.clusterserviceversion.yaml b/operators/ack-s3-controller/1.0.15/manifests/ack-s3-controller.clusterserviceversion.yaml new file mode 100644 index 00000000000..450a602790e --- /dev/null +++ b/operators/ack-s3-controller/1.0.15/manifests/ack-s3-controller.clusterserviceversion.yaml @@ -0,0 +1,288 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "s3.services.k8s.aws/v1alpha1", + "kind": "Bucket", + "metadata": { + "name": "example" + }, + "spec": {} + } + ] + capabilities: Basic Install + categories: Cloud Provider + certified: "false" + containerImage: public.ecr.aws/aws-controllers-k8s/s3-controller:1.0.15 + createdAt: "2024-08-08T16:28:04Z" + description: AWS S3 controller is a service controller for managing S3 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-s3-controller.v1.0.15 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: Bucket represents the state of an AWS s3 Bucket resource. + displayName: Bucket + kind: Bucket + name: buckets.s3.services.k8s.aws + version: v1alpha1 + description: |- + Manage Amazon Simple Storage Service (S3) resources in AWS from within your Kubernetes cluster. + + **About Amazon S3** + + Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. This means customers of all sizes and industries can use it to store and protect any amount of data for a range of use cases, such as data lakes, websites, mobile applications, backup and restore, archive, enterprise applications, IoT devices, and big data analytics. Amazon S3 provides easy-to-use management features so you can organize your data and configure finely-tuned access controls to meet your specific business, organizational, and compliance requirements. Amazon S3 is designed for 99.999999999% (11 9s) of durability, and stores data for millions of applications for companies all around the world. + + **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 S3 + 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: + - s3.services.k8s.aws + resources: + - buckets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - s3.services.k8s.aws + resources: + - buckets/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-s3-controller + deployments: + - label: + app.kubernetes.io/name: ack-s3-controller + app.kubernetes.io/part-of: ack-system + name: ack-s3-controller + spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: ack-s3-controller + strategy: {} + template: + metadata: + labels: + app.kubernetes.io/name: ack-s3-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-s3-user-config + optional: false + - secretRef: + name: ack-s3-user-secrets + optional: true + image: public.ecr.aws/aws-controllers-k8s/s3-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-s3-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-s3-controller + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: true + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - s3 + - 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 S3 Developer Resources + url: https://aws.amazon.com/s3/developer-resources/ + maintainers: + - email: ack-maintainers@amazon.com + name: s3 maintainer team + maturity: alpha + provider: + name: Amazon, Inc. + url: https://aws.amazon.com + version: 1.0.15 diff --git a/operators/ack-s3-controller/1.0.15/manifests/ack-s3-metrics-service_v1_service.yaml b/operators/ack-s3-controller/1.0.15/manifests/ack-s3-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..b22f8da2ba6 --- /dev/null +++ b/operators/ack-s3-controller/1.0.15/manifests/ack-s3-metrics-service_v1_service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + name: ack-s3-metrics-service +spec: + ports: + - name: metricsport + port: 8080 + protocol: TCP + targetPort: http + selector: + app.kubernetes.io/name: ack-s3-controller + type: NodePort +status: + loadBalancer: {} diff --git a/operators/ack-s3-controller/1.0.15/manifests/ack-s3-reader_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-s3-controller/1.0.15/manifests/ack-s3-reader_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..9c5ad79b4c1 --- /dev/null +++ b/operators/ack-s3-controller/1.0.15/manifests/ack-s3-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-s3-reader +rules: +- apiGroups: + - s3.services.k8s.aws + resources: + - buckets + verbs: + - get + - list + - watch diff --git a/operators/ack-s3-controller/1.0.15/manifests/ack-s3-writer_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-s3-controller/1.0.15/manifests/ack-s3-writer_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..79627b206e3 --- /dev/null +++ b/operators/ack-s3-controller/1.0.15/manifests/ack-s3-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-s3-writer +rules: +- apiGroups: + - s3.services.k8s.aws + resources: + - buckets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - s3.services.k8s.aws + resources: + - buckets + verbs: + - get + - patch + - update diff --git a/operators/ack-s3-controller/1.0.15/manifests/s3.services.k8s.aws_buckets.yaml b/operators/ack-s3-controller/1.0.15/manifests/s3.services.k8s.aws_buckets.yaml new file mode 100644 index 00000000000..471c25d783f --- /dev/null +++ b/operators/ack-s3-controller/1.0.15/manifests/s3.services.k8s.aws_buckets.yaml @@ -0,0 +1,1181 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + creationTimestamp: null + name: buckets.s3.services.k8s.aws +spec: + group: s3.services.k8s.aws + names: + kind: Bucket + listKind: BucketList + plural: buckets + singular: bucket + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Bucket is the Schema for the Buckets 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: |- + BucketSpec defines the desired state of Bucket. + + + In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name + is globally unique, and the namespace is shared by all Amazon Web Services + accounts. + properties: + accelerate: + description: Container for setting the transfer acceleration state. + properties: + status: + type: string + type: object + acl: + description: The canned ACL to apply to the bucket. + type: string + analytics: + items: + description: |- + Specifies the configuration and any analyses for the analytics filter of + an Amazon S3 bucket. + properties: + filter: + description: |- + The filter used to describe a set of objects for analyses. A filter must + have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). + If no filter is provided, all objects will be considered in any analysis. + properties: + and: + description: |- + A conjunction (logical AND) of predicates, which is used in evaluating a + metrics filter. The operator must have at least two predicates in any combination, + and an object must match all of the predicates for the filter to apply. + properties: + prefix: + type: string + tags: + items: + description: A container of a key value name pair. + properties: + key: + type: string + value: + type: string + type: object + type: array + type: object + prefix: + type: string + tag: + description: A container of a key value name pair. + properties: + key: + type: string + value: + type: string + type: object + type: object + id: + type: string + storageClassAnalysis: + description: |- + Specifies data related to access patterns to be collected and made available + to analyze the tradeoffs between different storage classes for an Amazon + S3 bucket. + properties: + dataExport: + description: |- + Container for data related to the storage class analysis for an Amazon S3 + bucket for export. + properties: + destination: + description: Where to publish the analytics results. + properties: + s3BucketDestination: + description: Contains information about where to + publish the analytics results. + properties: + bucket: + type: string + bucketAccountID: + type: string + format: + type: string + prefix: + type: string + type: object + type: object + outputSchemaVersion: + type: string + type: object + type: object + type: object + type: array + cors: + description: |- + Describes the cross-origin access configuration for objects in an Amazon + S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing + (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon + S3 User Guide. + properties: + corsRules: + items: + description: Specifies a cross-origin access rule for an Amazon + S3 bucket. + properties: + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposeHeaders: + items: + type: string + type: array + id: + type: string + maxAgeSeconds: + format: int64 + type: integer + type: object + type: array + type: object + createBucketConfiguration: + description: The configuration information for the bucket. + properties: + locationConstraint: + type: string + type: object + encryption: + description: Specifies the default server-side-encryption configuration. + properties: + rules: + items: + description: Specifies the default server-side encryption configuration. + properties: + applyServerSideEncryptionByDefault: + description: |- + Describes the default server-side encryption to apply to new objects in the + bucket. If a PUT Object request doesn't specify any server-side encryption, + this default encryption will be applied. If you don't specify a customer + managed key at configuration, Amazon S3 automatically creates an Amazon Web + Services KMS key in your Amazon Web Services account the first time that + you add an object encrypted with SSE-KMS to a bucket. By default, Amazon + S3 uses this KMS key for SSE-KMS. For more information, see PUT Bucket encryption + (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) + in the Amazon S3 API Reference. + properties: + kmsMasterKeyID: + type: string + sseAlgorithm: + type: string + type: object + bucketKeyEnabled: + type: boolean + type: object + type: array + type: object + grantFullControl: + description: |- + Allows grantee the read, write, read ACP, and write ACP permissions on the + bucket. + type: string + grantRead: + description: Allows grantee to list the objects in the bucket. + type: string + grantReadACP: + description: Allows grantee to read the bucket ACL. + type: string + grantWrite: + description: |- + Allows grantee to create new objects in the bucket. + + + For the bucket and object owners of existing objects, also allows deletions + and overwrites of those objects. + type: string + grantWriteACP: + description: Allows grantee to write the ACL for the applicable bucket. + type: string + intelligentTiering: + items: + description: |- + Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket. + + + For information about the S3 Intelligent-Tiering storage class, see Storage + class for automatically optimizing frequently and infrequently accessed objects + (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access). + properties: + filter: + description: |- + The Filter is used to identify objects that the S3 Intelligent-Tiering configuration + applies to. + properties: + and: + description: |- + A container for specifying S3 Intelligent-Tiering filters. The filters determine + the subset of objects to which the rule applies. + properties: + prefix: + type: string + tags: + items: + description: A container of a key value name pair. + properties: + key: + type: string + value: + type: string + type: object + type: array + type: object + prefix: + type: string + tag: + description: A container of a key value name pair. + properties: + key: + type: string + value: + type: string + type: object + type: object + id: + type: string + status: + type: string + tierings: + items: + description: |- + The S3 Intelligent-Tiering storage class is designed to optimize storage + costs by automatically moving data to the most cost-effective storage access + tier, without additional operational overhead. + properties: + accessTier: + type: string + days: + format: int64 + type: integer + type: object + type: array + type: object + type: array + inventory: + items: + description: |- + Specifies the inventory configuration for an Amazon S3 bucket. For more information, + see GET Bucket inventory (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) + in the Amazon S3 API Reference. + properties: + destination: + description: Specifies the inventory configuration for an Amazon + S3 bucket. + properties: + s3BucketDestination: + description: |- + Contains the bucket name, file format, bucket owner (optional), and prefix + (optional) where inventory results are published. + properties: + accountID: + type: string + bucket: + type: string + encryption: + description: |- + Contains the type of server-side encryption used to encrypt the inventory + results. + properties: + sseKMS: + description: Specifies the use of SSE-KMS to encrypt + delivered inventory reports. + properties: + keyID: + type: string + type: object + type: object + format: + type: string + prefix: + type: string + type: object + type: object + filter: + description: |- + Specifies an inventory filter. The inventory only includes objects that meet + the filter's criteria. + properties: + prefix: + type: string + type: object + id: + type: string + includedObjectVersions: + type: string + isEnabled: + type: boolean + optionalFields: + items: + type: string + type: array + schedule: + description: Specifies the schedule for generating inventory + results. + properties: + frequency: + type: string + type: object + type: object + type: array + lifecycle: + description: Container for lifecycle rules. You can add as many as + 1,000 rules. + properties: + rules: + items: + description: A lifecycle rule for individual objects in an Amazon + S3 bucket. + properties: + abortIncompleteMultipartUpload: + description: |- + Specifies the days since the initiation of an incomplete multipart upload + that Amazon S3 will wait before permanently removing all parts of the upload. + For more information, see Aborting Incomplete Multipart Uploads Using a Bucket + Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) + in the Amazon S3 User Guide. + properties: + daysAfterInitiation: + format: int64 + type: integer + type: object + expiration: + description: Container for the expiration for the lifecycle + of the object. + properties: + date: + format: date-time + type: string + days: + format: int64 + type: integer + expiredObjectDeleteMarker: + type: boolean + type: object + filter: + description: |- + The Filter is used to identify objects that a Lifecycle Rule applies to. + A Filter must have exactly one of Prefix, Tag, or And specified. + properties: + and: + description: |- + This is used in a Lifecycle Rule Filter to apply a logical AND to two or + more predicates. The Lifecycle Rule will apply to any object matching all + of the predicates configured inside the And operator. + properties: + objectSizeGreaterThan: + format: int64 + type: integer + objectSizeLessThan: + format: int64 + type: integer + prefix: + type: string + tags: + items: + description: A container of a key value name pair. + properties: + key: + type: string + value: + type: string + type: object + type: array + type: object + objectSizeGreaterThan: + format: int64 + type: integer + objectSizeLessThan: + format: int64 + type: integer + prefix: + type: string + tag: + description: A container of a key value name pair. + properties: + key: + type: string + value: + type: string + type: object + type: object + id: + type: string + noncurrentVersionExpiration: + description: |- + Specifies when noncurrent object versions expire. Upon expiration, Amazon + S3 permanently deletes the noncurrent object versions. You set this lifecycle + configuration action on a bucket that has versioning enabled (or suspended) + to request that Amazon S3 delete noncurrent object versions at a specific + period in the object's lifetime. + properties: + newerNoncurrentVersions: + format: int64 + type: integer + noncurrentDays: + format: int64 + type: integer + type: object + noncurrentVersionTransitions: + items: + description: |- + Container for the transition rule that describes when noncurrent objects + transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, + GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled + (or versioning is suspended), you can set this action to request that Amazon + S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA, + INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class at + a specific period in the object's lifetime. + properties: + newerNoncurrentVersions: + format: int64 + type: integer + noncurrentDays: + format: int64 + type: integer + storageClass: + type: string + type: object + type: array + prefix: + type: string + status: + type: string + transitions: + items: + description: |- + Specifies when an object transitions to a specified storage class. For more + information about Amazon S3 lifecycle configuration rules, see Transitioning + Objects Using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) + in the Amazon S3 User Guide. + properties: + date: + format: date-time + type: string + days: + format: int64 + type: integer + storageClass: + type: string + type: object + type: array + type: object + type: array + type: object + logging: + description: Container for logging status information. + properties: + loggingEnabled: + description: |- + Describes where logs are stored and the prefix that Amazon S3 assigns to + all log object keys for a bucket. For more information, see PUT Bucket logging + (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) + in the Amazon S3 API Reference. + properties: + targetBucket: + type: string + targetGrants: + items: + description: |- + Container for granting information. + + + Buckets that use the bucket owner enforced setting for Object Ownership don't + support target grants. For more information, see Permissions server access + log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) + in the Amazon S3 User Guide. + properties: + grantee: + description: Container for the person being granted + permissions. + properties: + displayName: + type: string + emailAddress: + type: string + id: + type: string + type_: + type: string + uRI: + type: string + type: object + permission: + type: string + type: object + type: array + targetPrefix: + type: string + type: object + type: object + metrics: + items: + description: |- + Specifies a metrics configuration for the CloudWatch request metrics (specified + by the metrics configuration ID) from an Amazon S3 bucket. If you're updating + an existing metrics configuration, note that this is a full replacement of + the existing metrics configuration. If you don't include the elements you + want to keep, they are erased. For more information, see PutBucketMetricsConfiguration + (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html). + properties: + filter: + description: |- + Specifies a metrics configuration filter. The metrics configuration only + includes objects that meet the filter's criteria. A filter must be a prefix, + an object tag, an access point ARN, or a conjunction (MetricsAndOperator). + For more information, see PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html). + properties: + accessPointARN: + type: string + and: + description: |- + A conjunction (logical AND) of predicates, which is used in evaluating a + metrics filter. The operator must have at least two predicates, and an object + must match all of the predicates in order for the filter to apply. + properties: + accessPointARN: + type: string + prefix: + type: string + tags: + items: + description: A container of a key value name pair. + properties: + key: + type: string + value: + type: string + type: object + type: array + type: object + prefix: + type: string + tag: + description: A container of a key value name pair. + properties: + key: + type: string + value: + type: string + type: object + type: object + id: + type: string + type: object + type: array + name: + description: The name of the bucket to create. + type: string + notification: + description: |- + A container for specifying the notification configuration of the bucket. + If this element is empty, notifications are turned off for the bucket. + properties: + lambdaFunctionConfigurations: + items: + description: A container for specifying the configuration for + Lambda notifications. + properties: + events: + items: + type: string + type: array + filter: + description: |- + Specifies object key name filtering rules. For information about key name + filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + in the Amazon S3 User Guide. + properties: + key: + description: A container for object key name prefix + and suffix filtering rules. + properties: + filterRules: + description: |- + A list of containers for the key-value pair that defines the criteria for + the filter rule. + items: + description: |- + Specifies the Amazon S3 object key name to filter on and whether to filter + on the suffix or prefix of the key name. + properties: + name: + type: string + value: + type: string + type: object + type: array + type: object + type: object + id: + description: |- + An optional unique identifier for configurations in a notification configuration. + If you don't provide one, Amazon S3 will assign an ID. + type: string + lambdaFunctionARN: + type: string + type: object + type: array + queueConfigurations: + items: + description: |- + Specifies the configuration for publishing messages to an Amazon Simple Queue + Service (Amazon SQS) queue when Amazon S3 detects specified events. + properties: + events: + items: + type: string + type: array + filter: + description: |- + Specifies object key name filtering rules. For information about key name + filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + in the Amazon S3 User Guide. + properties: + key: + description: A container for object key name prefix + and suffix filtering rules. + properties: + filterRules: + description: |- + A list of containers for the key-value pair that defines the criteria for + the filter rule. + items: + description: |- + Specifies the Amazon S3 object key name to filter on and whether to filter + on the suffix or prefix of the key name. + properties: + name: + type: string + value: + type: string + type: object + type: array + type: object + type: object + id: + description: |- + An optional unique identifier for configurations in a notification configuration. + If you don't provide one, Amazon S3 will assign an ID. + type: string + queueARN: + type: string + type: object + type: array + topicConfigurations: + items: + description: |- + A container for specifying the configuration for publication of messages + to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 + detects specified events. + properties: + events: + items: + type: string + type: array + filter: + description: |- + Specifies object key name filtering rules. For information about key name + filtering, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) + in the Amazon S3 User Guide. + properties: + key: + description: A container for object key name prefix + and suffix filtering rules. + properties: + filterRules: + description: |- + A list of containers for the key-value pair that defines the criteria for + the filter rule. + items: + description: |- + Specifies the Amazon S3 object key name to filter on and whether to filter + on the suffix or prefix of the key name. + properties: + name: + type: string + value: + type: string + type: object + type: array + type: object + type: object + id: + description: |- + An optional unique identifier for configurations in a notification configuration. + If you don't provide one, Amazon S3 will assign an ID. + type: string + topicARN: + type: string + type: object + type: array + type: object + objectLockEnabledForBucket: + description: Specifies whether you want S3 Object Lock to be enabled + for the new bucket. + type: boolean + objectOwnership: + type: string + ownershipControls: + description: |- + The OwnershipControls (BucketOwnerEnforced, BucketOwnerPreferred, or ObjectWriter) + that you want to apply to this Amazon S3 bucket. + properties: + rules: + items: + description: The container element for an ownership control + rule. + properties: + objectOwnership: + description: |- + The container element for object ownership for a bucket's ownership controls. + + + BucketOwnerPreferred - Objects uploaded to the bucket change ownership to + the bucket owner if the objects are uploaded with the bucket-owner-full-control + canned ACL. + + + ObjectWriter - The uploading account will own the object if the object is + uploaded with the bucket-owner-full-control canned ACL. + + + BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer + affect permissions. The bucket owner automatically owns and has full control + over every object in the bucket. The bucket only accepts PUT requests that + don't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control + canned ACL or an equivalent form of this ACL expressed in the XML format. + type: string + type: object + type: array + type: object + policy: + description: The bucket policy as a JSON document. + type: string + publicAccessBlock: + description: |- + The PublicAccessBlock configuration that you want to apply to this Amazon + S3 bucket. You can enable the configuration options in any combination. For + more information about when Amazon S3 considers a bucket or object public, + see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) + in the Amazon S3 User Guide. + properties: + blockPublicACLs: + type: boolean + blockPublicPolicy: + type: boolean + ignorePublicACLs: + type: boolean + restrictPublicBuckets: + type: boolean + type: object + replication: + description: |- + A container for replication rules. You can add up to 1,000 rules. The maximum + size of a replication configuration is 2 MB. + properties: + role: + type: string + rules: + items: + description: Specifies which Amazon S3 objects to replicate + and where to store the replicas. + properties: + deleteMarkerReplication: + description: |- + Specifies whether Amazon S3 replicates delete markers. If you specify a Filter + in your replication configuration, you must also include a DeleteMarkerReplication + element. If your Filter includes a Tag element, the DeleteMarkerReplication + Status must be set to Disabled, because Amazon S3 does not support replicating + delete markers for tag-based rules. For an example configuration, see Basic + Rule Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). + + + For more information about delete marker replication, see Basic Rule Configuration + (https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). + + + If you are using an earlier version of the replication configuration, Amazon + S3 handles replication of delete markers differently. For more information, + see Backward Compatibility (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations). + properties: + status: + type: string + type: object + destination: + description: |- + Specifies information about where to publish analysis or configuration results + for an Amazon S3 bucket and S3 Replication Time Control (S3 RTC). + properties: + accessControlTranslation: + description: A container for information about access + control for replicas. + properties: + owner: + type: string + type: object + account: + type: string + bucket: + type: string + encryptionConfiguration: + description: |- + Specifies encryption-related information for an Amazon S3 bucket that is + a destination for replicated objects. + properties: + replicaKMSKeyID: + type: string + type: object + metrics: + description: |- + A container specifying replication metrics-related settings enabling replication + metrics and events. + properties: + eventThreshold: + description: |- + A container specifying the time value for S3 Replication Time Control (S3 + RTC) and replication metrics EventThreshold. + properties: + minutes: + format: int64 + type: integer + type: object + status: + type: string + type: object + replicationTime: + description: |- + A container specifying S3 Replication Time Control (S3 RTC) related information, + including whether S3 RTC is enabled and the time when all objects and operations + on objects must be replicated. Must be specified together with a Metrics + block. + properties: + status: + type: string + time: + description: |- + A container specifying the time value for S3 Replication Time Control (S3 + RTC) and replication metrics EventThreshold. + properties: + minutes: + format: int64 + type: integer + type: object + type: object + storageClass: + type: string + type: object + existingObjectReplication: + description: |- + Optional configuration to replicate existing source bucket objects. For more + information, see Replicating Existing Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication) + in the Amazon S3 User Guide. + properties: + status: + type: string + type: object + filter: + description: |- + A filter that identifies the subset of objects to which the replication rule + applies. A Filter must specify exactly one Prefix, Tag, or an And child element. + properties: + and: + description: |- + A container for specifying rule filters. The filters determine the subset + of objects to which the rule applies. This element is required only if you + specify more than one filter. + + + For example: + + + * If you specify both a Prefix and a Tag filter, wrap these filters in + an And tag. + + + * If you specify a filter based on multiple tags, wrap the Tag elements + in an And tag. + properties: + prefix: + type: string + tags: + items: + description: A container of a key value name pair. + properties: + key: + type: string + value: + type: string + type: object + type: array + type: object + prefix: + type: string + tag: + description: A container of a key value name pair. + properties: + key: + type: string + value: + type: string + type: object + type: object + id: + type: string + prefix: + type: string + priority: + format: int64 + type: integer + sourceSelectionCriteria: + description: |- + A container that describes additional filters for identifying the source + objects that you want to replicate. You can choose to enable or disable the + replication of these objects. Currently, Amazon S3 supports only the filter + that you can specify for objects created with server-side encryption using + a customer managed key stored in Amazon Web Services Key Management Service + (SSE-KMS). + properties: + replicaModifications: + description: |- + A filter that you can specify for selection for modifications on replicas. + Amazon S3 doesn't replicate replica modifications by default. In the latest + version of replication configuration (when Filter is specified), you can + specify this element and set the status to Enabled to replicate modifications + on replicas. + + + If you don't specify the Filter element, Amazon S3 assumes that the replication + configuration is the earlier version, V1. In the earlier version, this element + is not allowed. + properties: + status: + type: string + type: object + sseKMSEncryptedObjects: + description: |- + A container for filter information for the selection of S3 objects encrypted + with Amazon Web Services KMS. + properties: + status: + type: string + type: object + type: object + status: + type: string + type: object + type: array + type: object + requestPayment: + description: Container for Payer. + properties: + payer: + type: string + type: object + tagging: + description: Container for the TagSet and Tag elements. + properties: + tagSet: + items: + description: A container of a key value name pair. + properties: + key: + type: string + value: + type: string + type: object + type: array + type: object + versioning: + description: Container for setting the versioning state. + properties: + status: + type: string + type: object + website: + description: Container for the request. + properties: + errorDocument: + description: The error information. + properties: + key: + type: string + type: object + indexDocument: + description: Container for the Suffix element. + properties: + suffix: + type: string + type: object + redirectAllRequestsTo: + description: |- + Specifies the redirect behavior of all requests to a website endpoint of + an Amazon S3 bucket. + properties: + hostName: + type: string + protocol: + type: string + type: object + routingRules: + items: + description: |- + Specifies the redirect behavior and when a redirect is applied. For more + information about routing rules, see Configuring advanced conditional redirects + (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) + in the Amazon S3 User Guide. + properties: + condition: + description: |- + A container for describing a condition that must be met for the specified + redirect to apply. For example, 1. If request is for pages in the /docs folder, + redirect to the /documents folder. 2. If request results in HTTP error 4xx, + redirect request to another host where you might process the error. + properties: + httpErrorCodeReturnedEquals: + type: string + keyPrefixEquals: + type: string + type: object + redirect: + description: |- + Specifies how requests are redirected. In the event of an error, you can + specify a different error code to return. + properties: + hostName: + type: string + httpRedirectCode: + type: string + protocol: + type: string + replaceKeyPrefixWith: + type: string + replaceKeyWith: + type: string + type: object + type: object + type: array + type: object + required: + - name + type: object + status: + description: BucketStatus defines the observed state of Bucket + 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 + location: + description: A forward slash followed by the name of the bucket. + 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-s3-controller/1.0.15/metadata/annotations.yaml b/operators/ack-s3-controller/1.0.15/metadata/annotations.yaml new file mode 100644 index 00000000000..d6158e6c553 --- /dev/null +++ b/operators/ack-s3-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-s3-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-s3-controller/1.0.15/tests/scorecard/config.yaml b/operators/ack-s3-controller/1.0.15/tests/scorecard/config.yaml new file mode 100644 index 00000000000..382ddefd156 --- /dev/null +++ b/operators/ack-s3-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: {}