From dae912ad114a36752655402edea002d4fe79edb2 Mon Sep 17 00:00:00 2001 From: AWS Controllers for Kubernetes Bot <82905295+ack-bot@users.noreply.github.com> Date: Sat, 13 Apr 2024 09:36:30 -0500 Subject: [PATCH] ack-efs-controller artifacts for version 0.0.6 (#4301) Signed-off-by: ack-bot Co-authored-by: ack-bot --- .../0.0.6/bundle.Dockerfile | 21 + ...-efs-controller.clusterserviceversion.yaml | 397 ++++++++++++++++ .../ack-efs-metrics-service_v1_service.yaml | 16 + ...der_rbac.authorization.k8s.io_v1_role.yaml | 16 + ...ter_rbac.authorization.k8s.io_v1_role.yaml | 30 ++ .../efs.services.k8s.aws_accesspoints.yaml | 261 +++++++++++ .../efs.services.k8s.aws_filesystems.yaml | 426 ++++++++++++++++++ .../efs.services.k8s.aws_mounttargets.yaml | 255 +++++++++++ .../0.0.6/metadata/annotations.yaml | 15 + .../0.0.6/tests/scorecard/config.yaml | 50 ++ 10 files changed, 1487 insertions(+) create mode 100644 operators/ack-efs-controller/0.0.6/bundle.Dockerfile create mode 100644 operators/ack-efs-controller/0.0.6/manifests/ack-efs-controller.clusterserviceversion.yaml create mode 100644 operators/ack-efs-controller/0.0.6/manifests/ack-efs-metrics-service_v1_service.yaml create mode 100644 operators/ack-efs-controller/0.0.6/manifests/ack-efs-reader_rbac.authorization.k8s.io_v1_role.yaml create mode 100644 operators/ack-efs-controller/0.0.6/manifests/ack-efs-writer_rbac.authorization.k8s.io_v1_role.yaml create mode 100644 operators/ack-efs-controller/0.0.6/manifests/efs.services.k8s.aws_accesspoints.yaml create mode 100644 operators/ack-efs-controller/0.0.6/manifests/efs.services.k8s.aws_filesystems.yaml create mode 100644 operators/ack-efs-controller/0.0.6/manifests/efs.services.k8s.aws_mounttargets.yaml create mode 100644 operators/ack-efs-controller/0.0.6/metadata/annotations.yaml create mode 100644 operators/ack-efs-controller/0.0.6/tests/scorecard/config.yaml diff --git a/operators/ack-efs-controller/0.0.6/bundle.Dockerfile b/operators/ack-efs-controller/0.0.6/bundle.Dockerfile new file mode 100644 index 00000000000..a16b7b18e5f --- /dev/null +++ b/operators/ack-efs-controller/0.0.6/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-efs-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-efs-controller/0.0.6/manifests/ack-efs-controller.clusterserviceversion.yaml b/operators/ack-efs-controller/0.0.6/manifests/ack-efs-controller.clusterserviceversion.yaml new file mode 100644 index 00000000000..fe700c83ca6 --- /dev/null +++ b/operators/ack-efs-controller/0.0.6/manifests/ack-efs-controller.clusterserviceversion.yaml @@ -0,0 +1,397 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "efs.services.k8s.aws/v1alpha1", + "kind": "AccessPoint", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "efs.services.k8s.aws/v1alpha1", + "kind": "FileSystem", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "efs.services.k8s.aws/v1alpha1", + "kind": "MountTarget", + "metadata": { + "name": "example" + }, + "spec": {} + } + ] + capabilities: Basic Install + categories: Cloud Provider + certified: "false" + containerImage: public.ecr.aws/aws-controllers-k8s/efs-controller:0.0.6 + createdAt: "2024-03-29T18:07:03Z" + description: AWS EFS controller is a service controller for managing EFS 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-efs-controller.v0.0.6 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: AccessPoint represents the state of an AWS efs AccessPoint resource. + displayName: AccessPoint + kind: AccessPoint + name: accesspoints.efs.services.k8s.aws + version: v1alpha1 + - description: FileSystem represents the state of an AWS efs FileSystem resource. + displayName: FileSystem + kind: FileSystem + name: filesystems.efs.services.k8s.aws + version: v1alpha1 + - description: MountTarget represents the state of an AWS efs MountTarget resource. + displayName: MountTarget + kind: MountTarget + name: mounttargets.efs.services.k8s.aws + version: v1alpha1 + description: |- + Manage Amazon EFS resources in AWS from within your Kubernetes cluster. + + **About Amazon Elastic File System (Amazon EFS)** + + Amazon Elastic File System (Amazon EFS) provides serverless, fully elastic file storage so that you can share file data without provisioning or managing storage capacity and performance. Amazon EFS is built to scale on demand to petabytes without disrupting applications, growing and shrinking automatically as you add and remove files. Because Amazon EFS has a simple web services interface, you can create and configure file systems quickly and easily. The service manages all the file storage infrastructure for you, meaning that you can avoid the complexity of deploying, patching, and maintaining complex file system configurations. + + **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. This project is currently in **developer preview**. + + **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 Elastic File System (Amazon + EFS) + 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: + - ec2.services.k8s.aws + resources: + - securitygroups + verbs: + - get + - list + - apiGroups: + - ec2.services.k8s.aws + resources: + - securitygroups/status + verbs: + - get + - list + - apiGroups: + - ec2.services.k8s.aws + resources: + - subnets + verbs: + - get + - list + - apiGroups: + - ec2.services.k8s.aws + resources: + - subnets/status + verbs: + - get + - list + - apiGroups: + - efs.services.k8s.aws + resources: + - accesspoints + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - efs.services.k8s.aws + resources: + - accesspoints/status + verbs: + - get + - patch + - update + - apiGroups: + - efs.services.k8s.aws + resources: + - filesystems + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - efs.services.k8s.aws + resources: + - filesystems/status + verbs: + - get + - patch + - update + - apiGroups: + - efs.services.k8s.aws + resources: + - mounttargets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - efs.services.k8s.aws + resources: + - mounttargets/status + verbs: + - get + - patch + - update + - apiGroups: + - kms.services.k8s.aws + resources: + - keys + verbs: + - get + - list + - apiGroups: + - kms.services.k8s.aws + resources: + - keys/status + verbs: + - get + - list + - 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-efs-controller + deployments: + - label: + app.kubernetes.io/name: ack-efs-controller + app.kubernetes.io/part-of: ack-system + name: ack-efs-controller + spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: ack-efs-controller + strategy: {} + template: + metadata: + labels: + app.kubernetes.io/name: ack-efs-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-efs-user-config + optional: false + - secretRef: + name: ack-efs-user-secrets + optional: true + image: public.ecr.aws/aws-controllers-k8s/efs-controller:0.0.6 + 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-efs-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-efs-controller + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: true + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - efs + - 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 EFS Developer Resources + url: https://aws.amazon.com/efs/resources/ + maintainers: + - email: ack-maintainers@amazon.com + name: efs maintainer team + maturity: alpha + provider: + name: Amazon, Inc. + url: https://aws.amazon.com + version: 0.0.6 diff --git a/operators/ack-efs-controller/0.0.6/manifests/ack-efs-metrics-service_v1_service.yaml b/operators/ack-efs-controller/0.0.6/manifests/ack-efs-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..de7ad9cd0e9 --- /dev/null +++ b/operators/ack-efs-controller/0.0.6/manifests/ack-efs-metrics-service_v1_service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + name: ack-efs-metrics-service +spec: + ports: + - name: metricsport + port: 8080 + protocol: TCP + targetPort: http + selector: + app.kubernetes.io/name: ack-efs-controller + type: NodePort +status: + loadBalancer: {} diff --git a/operators/ack-efs-controller/0.0.6/manifests/ack-efs-reader_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-efs-controller/0.0.6/manifests/ack-efs-reader_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..342e1967938 --- /dev/null +++ b/operators/ack-efs-controller/0.0.6/manifests/ack-efs-reader_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,16 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-efs-reader +rules: +- apiGroups: + - efs.services.k8s.aws + resources: + - accesspoints + - filesystems + - mounttargets + verbs: + - get + - list + - watch diff --git a/operators/ack-efs-controller/0.0.6/manifests/ack-efs-writer_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-efs-controller/0.0.6/manifests/ack-efs-writer_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..110039007b6 --- /dev/null +++ b/operators/ack-efs-controller/0.0.6/manifests/ack-efs-writer_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,30 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-efs-writer +rules: +- apiGroups: + - efs.services.k8s.aws + resources: + - accesspoints + - filesystems + - mounttargets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - efs.services.k8s.aws + resources: + - accesspoints + - filesystems + - mounttargets + verbs: + - get + - patch + - update diff --git a/operators/ack-efs-controller/0.0.6/manifests/efs.services.k8s.aws_accesspoints.yaml b/operators/ack-efs-controller/0.0.6/manifests/efs.services.k8s.aws_accesspoints.yaml new file mode 100644 index 00000000000..5813964bac6 --- /dev/null +++ b/operators/ack-efs-controller/0.0.6/manifests/efs.services.k8s.aws_accesspoints.yaml @@ -0,0 +1,261 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + creationTimestamp: null + name: accesspoints.efs.services.k8s.aws +spec: + group: efs.services.k8s.aws + names: + kind: AccessPoint + listKind: AccessPointList + plural: accesspoints + singular: accesspoint + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.accessPointID + name: ID + type: string + - jsonPath: .spec.fileSystemID + name: FILESYSTEMID + type: string + - jsonPath: .spec.rootDirectory.path + name: ROOTDIRECTORY + type: string + - jsonPath: .spec.posixUser.uid + name: POSIXUSERUID + type: integer + - jsonPath: .spec.posixUser.gid + name: POSIXUSERGID + type: integer + - jsonPath: .status.lifeCycleState + 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: AccessPoint is the Schema for the AccessPoints 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: AccessPointSpec defines the desired state of AccessPoint. + properties: + fileSystemID: + description: The ID of the EFS file system that the access point provides + access to. + type: string + fileSystemRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\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 + type: object + type: object + posixUser: + description: |- + The operating system user and group applied to all file system requests made + using the access point. + properties: + gid: + format: int64 + type: integer + secondaryGIDs: + items: + format: int64 + type: integer + type: array + uid: + format: int64 + type: integer + type: object + rootDirectory: + description: |- + Specifies the directory on the EFS file system that the access point exposes + as the root directory of your file system to NFS clients using the access + point. The clients using the access point can only access the root directory + and below. If the RootDirectory > Path specified does not exist, Amazon EFS + creates it and applies the CreationInfo settings when a client connects to + an access point. When specifying a RootDirectory, you must provide the Path, + and the CreationInfo. + + + Amazon EFS creates a root directory only if you have provided the CreationInfo: + OwnUid, OwnGID, and permissions for the directory. If you do not provide + this information, Amazon EFS does not create the root directory. If the root + directory does not exist, attempts to mount using the access point will fail. + properties: + creationInfo: + description: |- + Required if the RootDirectory > Path specified does not exist. Specifies + the POSIX IDs and permissions to apply to the access point's RootDirectory + > Path. If the access point root directory does not exist, EFS creates it + with these settings when a client connects to the access point. When specifying + CreationInfo, you must include values for all properties. + + + Amazon EFS creates a root directory only if you have provided the CreationInfo: + OwnUid, OwnGID, and permissions for the directory. If you do not provide + this information, Amazon EFS does not create the root directory. If the root + directory does not exist, attempts to mount using the access point will fail. + + + If you do not provide CreationInfo and the specified RootDirectory does not + exist, attempts to mount the file system using the access point will fail. + properties: + ownerGID: + format: int64 + type: integer + ownerUID: + format: int64 + type: integer + permissions: + type: string + type: object + path: + type: string + type: object + tags: + description: |- + Creates tags associated with the access point. Each tag is a key-value pair, + each key must be unique. For more information, see Tagging Amazon Web Services + resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + in the Amazon Web Services General Reference Guide. + items: + description: |- + A tag is a key-value pair. Allowed characters are letters, white space, and + numbers that can be represented in UTF-8, and the following characters:+ + - = . _ : /. + properties: + key: + type: string + value: + type: string + type: object + type: array + type: object + status: + description: AccessPointStatus defines the observed state of AccessPoint + properties: + accessPointID: + description: The ID of the access point, assigned by Amazon EFS. + type: string + 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 + lifeCycleState: + description: Identifies the lifecycle phase of the access point. + type: string + name: + description: The name of the access point. This is the value of the + Name tag. + type: string + ownerID: + description: Identifies the Amazon Web Services account that owns + the access point resource. + 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-efs-controller/0.0.6/manifests/efs.services.k8s.aws_filesystems.yaml b/operators/ack-efs-controller/0.0.6/manifests/efs.services.k8s.aws_filesystems.yaml new file mode 100644 index 00000000000..8339671a4fb --- /dev/null +++ b/operators/ack-efs-controller/0.0.6/manifests/efs.services.k8s.aws_filesystems.yaml @@ -0,0 +1,426 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + creationTimestamp: null + name: filesystems.efs.services.k8s.aws +spec: + group: efs.services.k8s.aws + names: + kind: FileSystem + listKind: FileSystemList + plural: filesystems + singular: filesystem + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.fileSystemID + name: ID + type: string + - jsonPath: .spec.encrypted + name: ENCRYPTED + type: boolean + - jsonPath: .spec.performanceMode + name: PERFORMANCEMODE + priority: 1 + type: string + - jsonPath: .spec.throughputMode + name: THROUGHPUTMODE + priority: 1 + type: string + - jsonPath: .status.provisionedThroughputInMiBps + name: PROVISIONEDTHROUGHPUT + priority: 1 + type: string + - jsonPath: .status.sizeInBytes.value + name: SIZE + type: integer + - jsonPath: .status.numberOfMountTargets + name: MOUNTTARGETS + type: integer + - jsonPath: .status.lifeCycleState + 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: FileSystem is the Schema for the FileSystems 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: FileSystemSpec defines the desired state of FileSystem. + properties: + availabilityZoneName: + description: |- + Used to create a One Zone file system. It specifies the Amazon Web Services + Availability Zone in which to create the file system. Use the format us-east-1a + to specify the Availability Zone. For more information about One Zone file + systems, see Using EFS storage classes (https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html) + in the Amazon EFS User Guide. + + + One Zone file systems are not available in all Availability Zones in Amazon + Web Services Regions where Amazon EFS is available. + type: string + backup: + description: |- + Specifies whether automatic backups are enabled on the file system that you + are creating. Set the value to true to enable automatic backups. If you are + creating a One Zone file system, automatic backups are enabled by default. + For more information, see Automatic backups (https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html#automatic-backups) + in the Amazon EFS User Guide. + + + Default is false. However, if you specify an AvailabilityZoneName, the default + is true. + + + Backup is not available in all Amazon Web Services Regions where Amazon EFS + is available. + type: boolean + backupPolicy: + description: The backup policy included in the PutBackupPolicy request. + properties: + status: + type: string + type: object + encrypted: + description: |- + A Boolean value that, if true, creates an encrypted file system. When creating + an encrypted file system, you have the option of specifying an existing Key + Management Service key (KMS key). If you don't specify a KMS key, then the + default KMS key for Amazon EFS, /aws/elasticfilesystem, is used to protect + the encrypted file system. + type: boolean + fileSystemProtection: + properties: + replicationOverwriteProtection: + type: string + type: object + kmsKeyID: + description: |- + The ID of the KMS key that you want to use to protect the encrypted file + system. This parameter is required only if you want to use a non-default + KMS key. If this parameter is not specified, the default KMS key for Amazon + EFS is used. You can specify a KMS key ID using the following formats: + + + * Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab. + + + * ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. + + + * Key alias - A previously created display name for a key, for example + alias/projectKey1. + + + * Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1. + + + If you use KmsKeyId, you must set the CreateFileSystemRequest$Encrypted parameter + to true. + + + EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS keys with + Amazon EFS file systems. + type: string + kmsKeyRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\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 + type: object + type: object + lifecyclePolicies: + description: |- + An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration + object. A LifecycleConfiguration object informs EFS Lifecycle management + of the following: + + + * TransitionToIA – When to move files in the file system from primary + storage (Standard storage class) into the Infrequent Access (IA) storage. + + + * TransitionToArchive – When to move files in the file system from their + current storage class (either IA or Standard storage) into the Archive + storage. File systems cannot transition into Archive storage before transitioning + into IA storage. Therefore, TransitionToArchive must either not be set + or must be later than TransitionToIA. The Archive storage class is available + only for file systems that use the Elastic Throughput mode and the General + Purpose Performance mode. + + + * TransitionToPrimaryStorageClass – Whether to move files in the file + system back to primary storage (Standard storage class) after they are + accessed in IA or Archive storage. + + + When using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration + API action, Amazon EFS requires that each LifecyclePolicy object have only + a single transition. This means that in a request body, LifecyclePolicies + must be structured as an array of LifecyclePolicy objects, one object for + each storage transition. See the example requests in the following section + for more information. + items: + description: |- + Describes a policy used by Lifecycle management that specifies when to transition + files into and out of storage classes. For more information, see Managing + file system storage (https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html). + + + When using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration + API action, Amazon EFS requires that each LifecyclePolicy object have only + a single transition. This means that in a request body, LifecyclePolicies + must be structured as an array of LifecyclePolicy objects, one object for + each transition. For more information, see the request examples in PutLifecycleConfiguration. + properties: + transitionToArchive: + type: string + transitionToIA: + type: string + transitionToPrimaryStorageClass: + type: string + type: object + type: array + performanceMode: + description: |- + The Performance mode of the file system. We recommend generalPurpose performance + mode for all file systems. File systems using the maxIO performance mode + can scale to higher levels of aggregate throughput and operations per second + with a tradeoff of slightly higher latencies for most file operations. The + performance mode can't be changed after the file system has been created. + The maxIO mode is not supported on One Zone file systems. + + + Due to the higher per-operation latencies with Max I/O, we recommend using + General Purpose performance mode for all file systems. + + + Default is generalPurpose. + type: string + policy: + description: |- + The FileSystemPolicy that you're creating. Accepts a JSON formatted policy + definition. EFS file system policies have a 20,000 character limit. To find + out more about the elements that make up a file system policy, see EFS Resource-based + Policies (https://docs.aws.amazon.com/efs/latest/ug/access-control-overview.html#access-control-manage-access-intro-resource-policies). + type: string + provisionedThroughputInMiBps: + description: |- + The throughput, measured in mebibytes per second (MiBps), that you want to + provision for a file system that you're creating. Required if ThroughputMode + is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit + depending on Region. To increase this limit, contact Amazon Web Services + Support. For more information, see Amazon EFS quotas that you can increase + (https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits) in the + Amazon EFS User Guide. + type: number + tags: + description: |- + Use to create one or more tags associated with the file system. Each tag + is a user-defined key-value pair. Name your file system on creation by including + a "Key":"Name","Value":"{value}" key-value pair. Each key must be unique. + For more information, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + in the Amazon Web Services General Reference Guide. + items: + description: |- + A tag is a key-value pair. Allowed characters are letters, white space, and + numbers that can be represented in UTF-8, and the following characters:+ + - = . _ : /. + properties: + key: + type: string + value: + type: string + type: object + type: array + throughputMode: + description: |- + Specifies the throughput mode for the file system. The mode can be bursting, + provisioned, or elastic. If you set ThroughputMode to provisioned, you must + also set a value for ProvisionedThroughputInMibps. After you create the file + system, you can decrease your file system's Provisioned throughput or change + between the throughput modes, with certain time restrictions. For more information, + see Specifying throughput with provisioned mode (https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput) + in the Amazon EFS User Guide. + + + Default is bursting. + type: string + type: object + status: + description: FileSystemStatus defines the observed state of FileSystem + 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 + availabilityZoneID: + description: |- + The unique and consistent identifier of the Availability Zone in which the + file system is located, and is valid only for One Zone file systems. For + example, use1-az1 is an Availability Zone ID for the us-east-1 Amazon Web + Services Region, and it has the same location in every Amazon Web Services + account. + type: string + 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 that the file system was created, in seconds + (since 1970-01-01T00:00:00Z). + format: date-time + type: string + fileSystemID: + description: The ID of the file system, assigned by Amazon EFS. + type: string + lifeCycleState: + description: The lifecycle phase of the file system. + type: string + name: + description: |- + You can add tags to a file system, including a Name tag. For more information, + see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns + the value in this field. + type: string + numberOfMountTargets: + description: |- + The current number of mount targets that the file system has. For more information, + see CreateMountTarget. + format: int64 + type: integer + ownerID: + description: The Amazon Web Services account that created the file + system. + type: string + sizeInBytes: + description: |- + The latest known metered size (in bytes) of data stored in the file system, + in its Value field, and the time at which that size was determined in its + Timestamp field. The Timestamp value is the integer number of seconds since + 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of + a consistent snapshot of the file system, but it is eventually consistent + when there are no writes to the file system. That is, SizeInBytes represents + actual size only if the file system is not modified for a period longer than + a couple of hours. Otherwise, the value is not the exact size that the file + system was at any point in time. + properties: + timestamp: + format: date-time + type: string + value: + format: int64 + type: integer + valueInArchive: + format: int64 + type: integer + valueInIA: + format: int64 + type: integer + valueInStandard: + format: int64 + type: integer + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-efs-controller/0.0.6/manifests/efs.services.k8s.aws_mounttargets.yaml b/operators/ack-efs-controller/0.0.6/manifests/efs.services.k8s.aws_mounttargets.yaml new file mode 100644 index 00000000000..b88a01f00b8 --- /dev/null +++ b/operators/ack-efs-controller/0.0.6/manifests/efs.services.k8s.aws_mounttargets.yaml @@ -0,0 +1,255 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + creationTimestamp: null + name: mounttargets.efs.services.k8s.aws +spec: + group: efs.services.k8s.aws + names: + kind: MountTarget + listKind: MountTargetList + plural: mounttargets + singular: mounttarget + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.fileSystemID + name: FILESYSTEMID + type: string + - jsonPath: .spec.ipAddress + name: IPADDRESS + type: string + - jsonPath: .status.mountTargetID + name: MOUNTTARGETID + type: string + - jsonPath: .spec.subnetID + name: SUBNETID + type: string + - jsonPath: .status.vpcID + name: VPCID + priority: 1 + type: string + - jsonPath: .status.availabilityZoneID + name: AVAILABILITYZONEID + priority: 1 + type: string + - jsonPath: .status.availabilityZoneName + name: AVAILABILITYZONENAME + priority: 1 + type: string + - jsonPath: .status.lifeCycleState + 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: MountTarget is the Schema for the MountTargets 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: MountTargetSpec defines the desired state of MountTarget. + properties: + fileSystemID: + description: The ID of the file system for which to create the mount + target. + type: string + fileSystemRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\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 + type: object + type: object + ipAddress: + description: Valid IPv4 address within the address range of the specified + subnet. + type: string + securityGroupRefs: + items: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\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 + type: object + type: object + type: array + securityGroups: + description: |- + Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be + for the same VPC as subnet specified. + items: + type: string + type: array + subnetID: + description: |- + The ID of the subnet to add the mount target in. For One Zone file systems, + use the subnet that is associated with the file system's Availability Zone. + type: string + subnetRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\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 + type: object + type: object + type: object + status: + description: MountTargetStatus defines the observed state of MountTarget + 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 + availabilityZoneID: + description: |- + The unique and consistent identifier of the Availability Zone that the mount + target resides in. For example, use1-az1 is an AZ ID for the us-east-1 Region + and it has the same location in every Amazon Web Services account. + type: string + availabilityZoneName: + description: |- + The name of the Availability Zone in which the mount target is located. Availability + Zones are independently mapped to names for each Amazon Web Services account. + For example, the Availability Zone us-east-1a for your Amazon Web Services + account might not be the same location as us-east-1a for another Amazon Web + Services account. + type: string + 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 + lifeCycleState: + description: Lifecycle state of the mount target. + type: string + mountTargetID: + description: System-assigned mount target ID. + type: string + networkInterfaceID: + description: |- + The ID of the network interface that Amazon EFS created when it created the + mount target. + type: string + ownerID: + description: Amazon Web Services account ID that owns the resource. + type: string + vpcID: + description: The virtual private cloud (VPC) ID that the mount target + is configured in. + 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-efs-controller/0.0.6/metadata/annotations.yaml b/operators/ack-efs-controller/0.0.6/metadata/annotations.yaml new file mode 100644 index 00000000000..a31d0f4ca13 --- /dev/null +++ b/operators/ack-efs-controller/0.0.6/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-efs-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-efs-controller/0.0.6/tests/scorecard/config.yaml b/operators/ack-efs-controller/0.0.6/tests/scorecard/config.yaml new file mode 100644 index 00000000000..382ddefd156 --- /dev/null +++ b/operators/ack-efs-controller/0.0.6/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: {}