From 7ffee648ea0bbfa46cb3b8708720da66ac05fcd6 Mon Sep 17 00:00:00 2001 From: ack-bot Date: Thu, 7 Nov 2024 19:30:08 +0000 Subject: [PATCH] ack-apigateway-controller artifacts for version 1.0.0 Signed-off-by: ack-bot --- .../1.0.0/bundle.Dockerfile | 21 ++ ...eway-controller.clusterserviceversion.yaml | 331 ++++++++++++++++++ ...apigateway-metrics-service_v1_service.yaml | 16 + ...der_rbac.authorization.k8s.io_v1_role.yaml | 18 + ...ter_rbac.authorization.k8s.io_v1_role.yaml | 34 ++ ...gateway.services.k8s.aws_integrations.yaml | 320 +++++++++++++++++ ...apigateway.services.k8s.aws_resources.yaml | 175 +++++++++ .../apigateway.services.k8s.aws_restapis.yaml | 234 +++++++++++++ .../apigateway.services.k8s.aws_stages.yaml | 263 ++++++++++++++ .../apigateway.services.k8s.aws_vpclinks.yaml | 160 +++++++++ .../1.0.0/metadata/annotations.yaml | 15 + .../1.0.0/tests/scorecard/config.yaml | 50 +++ 12 files changed, 1637 insertions(+) create mode 100644 operators/ack-apigateway-controller/1.0.0/bundle.Dockerfile create mode 100644 operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-controller.clusterserviceversion.yaml create mode 100644 operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-metrics-service_v1_service.yaml create mode 100644 operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-reader_rbac.authorization.k8s.io_v1_role.yaml create mode 100644 operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-writer_rbac.authorization.k8s.io_v1_role.yaml create mode 100644 operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_integrations.yaml create mode 100644 operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_resources.yaml create mode 100644 operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_restapis.yaml create mode 100644 operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_stages.yaml create mode 100644 operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_vpclinks.yaml create mode 100644 operators/ack-apigateway-controller/1.0.0/metadata/annotations.yaml create mode 100644 operators/ack-apigateway-controller/1.0.0/tests/scorecard/config.yaml diff --git a/operators/ack-apigateway-controller/1.0.0/bundle.Dockerfile b/operators/ack-apigateway-controller/1.0.0/bundle.Dockerfile new file mode 100644 index 00000000000..efae270463a --- /dev/null +++ b/operators/ack-apigateway-controller/1.0.0/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-apigateway-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-apigateway-controller/1.0.0/manifests/ack-apigateway-controller.clusterserviceversion.yaml b/operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-controller.clusterserviceversion.yaml new file mode 100644 index 00000000000..07e316d67e4 --- /dev/null +++ b/operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-controller.clusterserviceversion.yaml @@ -0,0 +1,331 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "apigateway.services.k8s.aws/v1alpha1", + "kind": "Integration", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "apigateway.services.k8s.aws/v1alpha1", + "kind": "Resource", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "apigateway.services.k8s.aws/v1alpha1", + "kind": "RestAPI", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "apigateway.services.k8s.aws/v1alpha1", + "kind": "Stage", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "apigateway.services.k8s.aws/v1alpha1", + "kind": "VPCLink", + "metadata": { + "name": "example" + }, + "spec": {} + } + ] + capabilities: Basic Install + categories: Cloud Provider + certified: "false" + containerImage: public.ecr.aws/aws-controllers-k8s/apigateway-controller:1.0.0 + createdAt: "2024-11-07T19:29:37Z" + description: AWS API Gateway controller is a service controller for managing API + Gateway 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-apigateway-controller.v1.0.0 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: Integration represents the state of an AWS apigateway Integration + resource. + displayName: Integration + kind: Integration + name: integrations.apigateway.services.k8s.aws + version: v1alpha1 + - description: Resource represents the state of an AWS apigateway Resource resource. + displayName: Resource + kind: Resource + name: resources.apigateway.services.k8s.aws + version: v1alpha1 + - description: RestAPI represents the state of an AWS apigateway RestAPI resource. + displayName: RestAPI + kind: RestAPI + name: restapis.apigateway.services.k8s.aws + version: v1alpha1 + - description: Stage represents the state of an AWS apigateway Stage resource. + displayName: Stage + kind: Stage + name: stages.apigateway.services.k8s.aws + version: v1alpha1 + - description: VPCLink represents the state of an AWS apigateway VPCLink resource. + displayName: VPCLink + kind: VPCLink + name: vpclinks.apigateway.services.k8s.aws + version: v1alpha1 + description: |- + Manage Amazon API Gateway resources in AWS from within your Kubernetes cluster. + + **About Amazon API Gateway** + + Amazon API Gateway is an AWS service for creating, publishing, maintaining, monitoring, and securing REST, HTTP, and WebSocket APIs at any scale. API developers can create APIs that access AWS or other web services, as well as data stored in the AWS Cloud. As an API Gateway API developer, you can create APIs for use in your own client applications. Or you can make your APIs available to third-party app developers. + + **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 API Gateway + icon: + - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzA0IDE4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzA0IDE4MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNTJGM0U7fQoJLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRjk5MDA7fQo8L3N0eWxlPgo8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04Ni40LDY2LjRjMCwzLjcsMC40LDYuNywxLjEsOC45YzAuOCwyLjIsMS44LDQuNiwzLjIsNy4yYzAuNSwwLjgsMC43LDEuNiwwLjcsMi4zYzAsMS0wLjYsMi0xLjksM2wtNi4zLDQuMiAgIGMtMC45LDAuNi0xLjgsMC45LTIuNiwwLjljLTEsMC0yLTAuNS0zLTEuNEM3Ni4yLDkwLDc1LDg4LjQsNzQsODYuOGMtMS0xLjctMi0zLjYtMy4xLTUuOWMtNy44LDkuMi0xNy42LDEzLjgtMjkuNCwxMy44ICAgYy04LjQsMC0xNS4xLTIuNC0yMC03LjJjLTQuOS00LjgtNy40LTExLjItNy40LTE5LjJjMC04LjUsMy0xNS40LDkuMS0yMC42YzYuMS01LjIsMTQuMi03LjgsMjQuNS03LjhjMy40LDAsNi45LDAuMywxMC42LDAuOCAgIGMzLjcsMC41LDcuNSwxLjMsMTEuNSwyLjJ2LTcuM2MwLTcuNi0xLjYtMTIuOS00LjctMTZjLTMuMi0zLjEtOC42LTQuNi0xNi4zLTQuNmMtMy41LDAtNy4xLDAuNC0xMC44LDEuM2MtMy43LDAuOS03LjMsMi0xMC44LDMuNCAgIGMtMS42LDAuNy0yLjgsMS4xLTMuNSwxLjNjLTAuNywwLjItMS4yLDAuMy0xLjYsMC4zYy0xLjQsMC0yLjEtMS0yLjEtMy4xdi00LjljMC0xLjYsMC4yLTIuOCwwLjctMy41YzAuNS0wLjcsMS40LTEuNCwyLjgtMi4xICAgYzMuNS0xLjgsNy43LTMuMywxMi42LTQuNWM0LjktMS4zLDEwLjEtMS45LDE1LjYtMS45YzExLjksMCwyMC42LDIuNywyNi4yLDguMWM1LjUsNS40LDguMywxMy42LDguMywyNC42VjY2LjR6IE00NS44LDgxLjYgICBjMy4zLDAsNi43LTAuNiwxMC4zLTEuOGMzLjYtMS4yLDYuOC0zLjQsOS41LTYuNGMxLjYtMS45LDIuOC00LDMuNC02LjRjMC42LTIuNCwxLTUuMywxLTguN3YtNC4yYy0yLjktMC43LTYtMS4zLTkuMi0xLjcgICBjLTMuMi0wLjQtNi4zLTAuNi05LjQtMC42Yy02LjcsMC0xMS42LDEuMy0xNC45LDRjLTMuMywyLjctNC45LDYuNS00LjksMTEuNWMwLDQuNywxLjIsOC4yLDMuNywxMC42ICAgQzM3LjcsODAuNCw0MS4yLDgxLjYsNDUuOCw4MS42eiBNMTI2LjEsOTIuNGMtMS44LDAtMy0wLjMtMy44LTFjLTAuOC0wLjYtMS41LTItMi4xLTMuOUw5Ni43LDEwLjJjLTAuNi0yLTAuOS0zLjMtMC45LTQgICBjMC0xLjYsMC44LTIuNSwyLjQtMi41aDkuOGMxLjksMCwzLjIsMC4zLDMuOSwxYzAuOCwwLjYsMS40LDIsMiwzLjlsMTYuOCw2Ni4ybDE1LjYtNjYuMmMwLjUtMiwxLjEtMy4zLDEuOS0zLjljMC44LTAuNiwyLjItMSw0LTEgICBoOGMxLjksMCwzLjIsMC4zLDQsMWMwLjgsMC42LDEuNSwyLDEuOSwzLjlsMTUuOCw2N2wxNy4zLTY3YzAuNi0yLDEuMy0zLjMsMi0zLjljMC44LTAuNiwyLjEtMSwzLjktMWg5LjNjMS42LDAsMi41LDAuOCwyLjUsMi41ICAgYzAsMC41LTAuMSwxLTAuMiwxLjZjLTAuMSwwLjYtMC4zLDEuNC0wLjcsMi41bC0yNC4xLDc3LjNjLTAuNiwyLTEuMywzLjMtMi4xLDMuOWMtMC44LDAuNi0yLjEsMS0zLjgsMWgtOC42Yy0xLjksMC0zLjItMC4zLTQtMSAgIGMtMC44LTAuNy0xLjUtMi0xLjktNEwxNTYsMjNsLTE1LjQsNjQuNGMtMC41LDItMS4xLDMuMy0xLjksNGMtMC44LDAuNy0yLjIsMS00LDFIMTI2LjF6IE0yNTQuNiw5NS4xYy01LjIsMC0xMC40LTAuNi0xNS40LTEuOCAgIGMtNS0xLjItOC45LTIuNS0xMS41LTRjLTEuNi0wLjktMi43LTEuOS0zLjEtMi44Yy0wLjQtMC45LTAuNi0xLjktMC42LTIuOHYtNS4xYzAtMi4xLDAuOC0zLjEsMi4zLTMuMWMwLjYsMCwxLjIsMC4xLDEuOCwwLjMgICBjMC42LDAuMiwxLjUsMC42LDIuNSwxYzMuNCwxLjUsNy4xLDIuNywxMSwzLjVjNCwwLjgsNy45LDEuMiwxMS45LDEuMmM2LjMsMCwxMS4yLTEuMSwxNC42LTMuM2MzLjQtMi4yLDUuMi01LjQsNS4yLTkuNSAgIGMwLTIuOC0wLjktNS4xLTIuNy03Yy0xLjgtMS45LTUuMi0zLjYtMTAuMS01LjJMMjQ2LDUyYy03LjMtMi4zLTEyLjctNS43LTE2LTEwLjJjLTMuMy00LjQtNS05LjMtNS0xNC41YzAtNC4yLDAuOS03LjksMi43LTExLjEgICBjMS44LTMuMiw0LjItNiw3LjItOC4yYzMtMi4zLDYuNC00LDEwLjQtNS4yYzQtMS4yLDguMi0xLjcsMTIuNi0xLjdjMi4yLDAsNC41LDAuMSw2LjcsMC40YzIuMywwLjMsNC40LDAuNyw2LjUsMS4xICAgYzIsMC41LDMuOSwxLDUuNywxLjZjMS44LDAuNiwzLjIsMS4yLDQuMiwxLjhjMS40LDAuOCwyLjQsMS42LDMsMi41YzAuNiwwLjgsMC45LDEuOSwwLjksMy4zdjQuN2MwLDIuMS0wLjgsMy4yLTIuMywzLjIgICBjLTAuOCwwLTIuMS0wLjQtMy44LTEuMmMtNS43LTIuNi0xMi4xLTMuOS0xOS4yLTMuOWMtNS43LDAtMTAuMiwwLjktMTMuMywyLjhjLTMuMSwxLjktNC43LDQuOC00LjcsOC45YzAsMi44LDEsNS4yLDMsNy4xICAgYzIsMS45LDUuNywzLjgsMTEsNS41bDE0LjIsNC41YzcuMiwyLjMsMTIuNCw1LjUsMTUuNSw5LjZjMy4xLDQuMSw0LjYsOC44LDQuNiwxNGMwLDQuMy0wLjksOC4yLTIuNiwxMS42ICAgYy0xLjgsMy40LTQuMiw2LjQtNy4zLDguOGMtMy4xLDIuNS02LjgsNC4zLTExLjEsNS42QzI2NC40LDk0LjQsMjU5LjcsOTUuMSwyNTQuNiw5NS4xeiIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI3My41LDE0My43Yy0zMi45LDI0LjMtODAuNywzNy4yLTEyMS44LDM3LjJjLTU3LjYsMC0xMDkuNS0yMS4zLTE0OC43LTU2LjdjLTMuMS0yLjgtMC4zLTYuNiwzLjQtNC40ICAgIGM0Mi40LDI0LjYsOTQuNywzOS41LDE0OC44LDM5LjVjMzYuNSwwLDc2LjYtNy42LDExMy41LTIzLjJDMjc0LjIsMTMzLjYsMjc4LjksMTM5LjcsMjczLjUsMTQzLjd6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI4Ny4yLDEyOC4xYy00LjItNS40LTI3LjgtMi42LTM4LjUtMS4zYy0zLjIsMC40LTMuNy0yLjQtMC44LTQuNWMxOC44LTEzLjIsNDkuNy05LjQsNTMuMy01ICAgIGMzLjYsNC41LTEsMzUuNC0xOC42LDUwLjJjLTIuNywyLjMtNS4zLDEuMS00LjEtMS45QzI4Mi41LDE1NS43LDI5MS40LDEzMy40LDI4Ny4yLDEyOC4xeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPg== + mediatype: image/svg+xml + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - configmaps + - secrets + verbs: + - get + - list + - patch + - watch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch + - apiGroups: + - apigateway.services.k8s.aws + resources: + - integrations + - resources + - restapis + - stages + - vpclinks + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apigateway.services.k8s.aws + resources: + - integrations/status + - resources/status + - restapis/status + - stages/status + - vpclinks/status + verbs: + - get + - patch + - update + - apiGroups: + - ec2.services.k8s.aws + resources: + - vpcendpoints + - vpcendpoints/status + verbs: + - get + - list + - apiGroups: + - services.k8s.aws + resources: + - adoptedresources + - fieldexports + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - services.k8s.aws + resources: + - adoptedresources/status + - fieldexports/status + verbs: + - get + - patch + - update + serviceAccountName: ack-apigateway-controller + deployments: + - label: + app.kubernetes.io/name: ack-apigateway-controller + app.kubernetes.io/part-of: ack-system + name: ack-apigateway-controller + spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: ack-apigateway-controller + strategy: {} + template: + metadata: + labels: + app.kubernetes.io/name: ack-apigateway-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-apigateway-user-config + optional: false + - secretRef: + name: ack-apigateway-user-secrets + optional: true + image: public.ecr.aws/aws-controllers-k8s/apigateway-controller:1.0.0 + 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-apigateway-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-apigateway-controller + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: true + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - apigateway + - 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 API Gateway Developer Resources + url: https://aws.amazon.com/api-gateway/resources/ + maintainers: + - email: ack-maintainers@amazon.com + name: apigateway maintainer team + maturity: alpha + provider: + name: Amazon, Inc. + url: https://aws.amazon.com + version: 1.0.0 diff --git a/operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-metrics-service_v1_service.yaml b/operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..e84d6ac96df --- /dev/null +++ b/operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-metrics-service_v1_service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + name: ack-apigateway-metrics-service +spec: + ports: + - name: metricsport + port: 8080 + protocol: TCP + targetPort: http + selector: + app.kubernetes.io/name: ack-apigateway-controller + type: NodePort +status: + loadBalancer: {} diff --git a/operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-reader_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-reader_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..7398e1adb12 --- /dev/null +++ b/operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-reader_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,18 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-apigateway-reader +rules: +- apiGroups: + - apigateway.services.k8s.aws + resources: + - integrations + - resources + - restapis + - stages + - vpclinks + verbs: + - get + - list + - watch diff --git a/operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-writer_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-writer_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..4b30ca5d285 --- /dev/null +++ b/operators/ack-apigateway-controller/1.0.0/manifests/ack-apigateway-writer_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,34 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-apigateway-writer +rules: +- apiGroups: + - apigateway.services.k8s.aws + resources: + - integrations + - resources + - restapis + - stages + - vpclinks + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - apigateway.services.k8s.aws + resources: + - integrations + - resources + - restapis + - stages + - vpclinks + verbs: + - get + - patch + - update diff --git a/operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_integrations.yaml b/operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_integrations.yaml new file mode 100644 index 00000000000..d44ff5c4fb2 --- /dev/null +++ b/operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_integrations.yaml @@ -0,0 +1,320 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: integrations.apigateway.services.k8s.aws +spec: + group: apigateway.services.k8s.aws + names: + kind: Integration + listKind: IntegrationList + plural: integrations + singular: integration + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Integration is the Schema for the Integrations 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: |- + IntegrationSpec defines the desired state of Integration. + + Represents an HTTP, HTTP_PROXY, AWS, AWS_PROXY, or Mock integration. + properties: + cacheKeyParameters: + description: |- + A list of request parameters whose values API Gateway caches. To be valid + values for cacheKeyParameters, these parameters must also be specified for + Method requestParameters. + items: + type: string + type: array + cacheNamespace: + description: |- + Specifies a group of related cached parameters. By default, API Gateway uses + the resource ID as the cacheNamespace. You can specify the same cacheNamespace + across resources to return the same cached data for requests to different + resources. + type: string + connectionID: + description: |- + The ID of the VpcLink used for the integration. Specify this value only if + you specify VPC_LINK as the connection type. + type: string + connectionRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + namespace: + type: string + type: object + type: object + connectionType: + description: |- + The type of the network connection to the integration endpoint. The valid + value is INTERNET for connections through the public routable internet or + VPC_LINK for private connections between API Gateway and a network load balancer + in a VPC. The default value is INTERNET. + type: string + contentHandling: + description: |- + Specifies how to handle request payload content type conversions. Supported + values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors: + + If this property is not defined, the request payload will be passed through + from the method request to integration request without modification, provided + that the passthroughBehavior is configured to support payload pass-through. + type: string + credentials: + description: Specifies whether credentials are required for a put + integration. + type: string + httpMethod: + description: Specifies the HTTP method for the integration. + type: string + integrationHTTPMethod: + description: The HTTP method for the integration. + type: string + passthroughBehavior: + description: |- + Specifies the pass-through behavior for incoming requests based on the Content-Type + header in the request, and the available mapping templates specified as the + requestTemplates property on the Integration resource. There are three valid + values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. + type: string + requestParameters: + additionalProperties: + type: string + description: |- + A key-value map specifying request parameters that are passed from the method + request to the back end. The key is an integration request parameter name + and the associated value is a method request parameter value or static value + that must be enclosed within single quotes and pre-encoded as required by + the back end. The method request parameter value must match the pattern of + method.request.{location}.{name}, where location is querystring, path, or + header and name must be a valid and unique method request parameter name. + type: object + requestTemplates: + additionalProperties: + type: string + description: |- + Represents a map of Velocity templates that are applied on the request payload + based on the value of the Content-Type header sent by the client. The content + type value is the key in this map, and the template (as a String) is the + value. + type: object + resourceID: + description: Specifies a put integration request's resource ID. + type: string + resourceRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + namespace: + type: string + type: object + type: object + restAPIID: + description: The string identifier of the associated RestApi. + type: string + restAPIRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + namespace: + type: string + type: object + type: object + timeoutInMillis: + description: |- + Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 + milliseconds or 29 seconds. + format: int64 + type: integer + tlsConfig: + description: Specifies the TLS configuration for an integration. + properties: + insecureSkipVerification: + type: boolean + type: object + type: + description: Specifies a put integration input's type. + type: string + uri: + description: |- + Specifies Uniform Resource Identifier (URI) of the integration endpoint. + For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded + HTTP(S) URL according to the RFC-3986 specification, for either standard + integration, where connectionType is not VPC_LINK, or private integration, + where connectionType is VPC_LINK. For a private HTTP integration, the URI + is not used for routing. For AWS or AWS_PROXY integrations, the URI is of + the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. + Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is + the name of the integrated Amazon Web Services service (e.g., s3); and {subdomain} + is a designated subdomain supported by certain Amazon Web Services service + for fast host-name lookup. action can be used for an Amazon Web Services + service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query + string. The ensuing {service_api} refers to a supported action {name} plus + any required input parameters. Alternatively, path can be used for an Amazon + Web Services service path-based API. The ensuing service_api refers to the + path to an Amazon Web Services service resource, including the region of + the integrated Amazon Web Services service, if applicable. For example, for + integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} + or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}. + type: string + required: + - httpMethod + - type + type: object + status: + description: IntegrationStatus defines the observed state of Integration + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + integrationResponses: + additionalProperties: + description: |- + Represents an integration response. The status code must map to an existing + MethodResponse, and parameters and templates can be used to transform the + back-end response. + properties: + contentHandling: + type: string + responseParameters: + additionalProperties: + type: string + type: object + responseTemplates: + additionalProperties: + type: string + type: object + selectionPattern: + type: string + statusCode: + description: The status code. + type: string + type: object + description: Specifies the integration's responses. + 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-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_resources.yaml b/operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_resources.yaml new file mode 100644 index 00000000000..182adac6687 --- /dev/null +++ b/operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_resources.yaml @@ -0,0 +1,175 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: resources.apigateway.services.k8s.aws +spec: + group: apigateway.services.k8s.aws + names: + kind: Resource + listKind: ResourceList + plural: resources + singular: resource + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Resource is the Schema for the Resources 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: |- + ResourceSpec defines the desired state of Resource. + + Represents an API resource. + properties: + parentID: + description: The parent resource's identifier. + type: string + parentRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + namespace: + type: string + type: object + type: object + pathPart: + description: The last path segment for this resource. + type: string + restAPIID: + description: The string identifier of the associated RestApi. + type: string + restAPIRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + namespace: + type: string + type: object + type: object + required: + - pathPart + type: object + status: + description: ResourceStatus defines the observed state of Resource + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + id: + description: The resource's identifier. + type: string + path: + description: The full path for this 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-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_restapis.yaml b/operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_restapis.yaml new file mode 100644 index 00000000000..26e16e638fa --- /dev/null +++ b/operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_restapis.yaml @@ -0,0 +1,234 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: restapis.apigateway.services.k8s.aws +spec: + group: apigateway.services.k8s.aws + names: + kind: RestAPI + listKind: RestAPIList + plural: restapis + singular: restapi + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: RestAPI is the Schema for the RestAPIS 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: |- + RestApiSpec defines the desired state of RestApi. + + Represents a REST API. + properties: + apiKeySource: + description: |- + The source of the API key for metering requests according to a usage plan. + Valid values are: HEADER to read the API key from the X-API-Key header of + a request. AUTHORIZER to read the API key from the UsageIdentifierKey from + a custom authorizer. + type: string + binaryMediaTypes: + description: |- + The list of binary media types supported by the RestApi. By default, the + RestApi supports only UTF-8-encoded text payloads. + items: + type: string + type: array + cloneFrom: + description: The ID of the RestApi that you want to clone from. + type: string + description: + description: The description of the RestApi. + type: string + disableExecuteAPIEndpoint: + description: |- + Specifies whether clients can invoke your API by using the default execute-api + endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com + endpoint. To require that clients use a custom domain name to invoke your + API, disable the default endpoint + type: boolean + endpointConfiguration: + description: |- + The endpoint configuration of this RestApi showing the endpoint types of + the API. + properties: + types: + items: + type: string + type: array + vpcEndpointIDs: + items: + type: string + type: array + vpcEndpointRefs: + description: Reference field for VPCEndpointIDs + items: + description: "AWSResourceReferenceWrapper provides a wrapper + around *AWSResourceReference\ntype to provide more user friendly + syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + namespace: + type: string + type: object + type: object + type: array + type: object + minimumCompressionSize: + description: |- + A nullable integer that is used to enable compression (with non-negative + between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with + a null value) on an API. When compression is enabled, compression or decompression + is not applied on the payload if the payload size is smaller than this value. + Setting it to zero allows compression for any payload size. + format: int64 + type: integer + name: + description: The name of the RestApi. + type: string + policy: + description: |- + A stringified JSON policy document that applies to this RestApi regardless + of the caller and Method configuration. + type: string + tags: + additionalProperties: + type: string + description: |- + The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. + The tag key can be up to 128 characters and must not start with aws:. The + tag value can be up to 256 characters. + type: object + version: + description: A version identifier for the API. + type: string + required: + - name + type: object + status: + description: RestAPIStatus defines the observed state of RestAPI + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + createdDate: + description: The timestamp when the API was created. + format: date-time + type: string + id: + description: |- + The API's identifier. This identifier is unique across all of your APIs in + API Gateway. + type: string + rootResourceID: + description: The API's root resource ID. + type: string + warnings: + description: |- + The warning messages reported when failonwarnings is turned on during API + import. + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_stages.yaml b/operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_stages.yaml new file mode 100644 index 00000000000..8f130892ec3 --- /dev/null +++ b/operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_stages.yaml @@ -0,0 +1,263 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: stages.apigateway.services.k8s.aws +spec: + group: apigateway.services.k8s.aws + names: + kind: Stage + listKind: StageList + plural: stages + singular: stage + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Stage is the Schema for the Stages 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: |- + StageSpec defines the desired state of Stage. + + Represents a unique identifier for a version of a deployed RestApi that is + callable by users. + properties: + cacheClusterEnabled: + description: Whether cache clustering is enabled for the stage. + type: boolean + cacheClusterSize: + description: |- + The stage's cache capacity in GB. For more information about choosing a cache + size, see Enabling API caching to enhance responsiveness (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html). + type: string + canarySettings: + description: The canary deployment settings of this stage. + properties: + deploymentID: + type: string + percentTraffic: + type: number + stageVariableOverrides: + additionalProperties: + type: string + type: object + useStageCache: + type: boolean + type: object + deploymentID: + description: The identifier of the Deployment resource for the Stage + resource. + type: string + description: + description: The description of the Stage resource. + type: string + documentationVersion: + description: The version of the associated API documentation. + type: string + restAPIID: + description: The string identifier of the associated RestApi. + type: string + restAPIRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + namespace: + type: string + type: object + type: object + stageName: + description: |- + The name for the Stage resource. Stage names can only contain alphanumeric + characters, hyphens, and underscores. Maximum length is 128 characters. + type: string + tags: + additionalProperties: + type: string + description: |- + The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. + The tag key can be up to 128 characters and must not start with aws:. The + tag value can be up to 256 characters. + type: object + tracingEnabled: + description: Specifies whether active tracing with X-ray is enabled + for the Stage. + type: boolean + variables: + additionalProperties: + type: string + description: |- + A map that defines the stage variables for the new Stage resource. Variable + names can have alphanumeric and underscore characters, and the values must + match [A-Za-z0-9-._~:/?#&=,]+. + type: object + required: + - deploymentID + - stageName + type: object + status: + description: StageStatus defines the observed state of Stage + properties: + accessLogSettings: + description: Settings for logging access in this stage. + properties: + destinationARN: + type: string + format: + type: string + type: object + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + cacheClusterStatus: + description: The status of the cache cluster for the stage, if enabled. + type: string + clientCertificateID: + description: The identifier of a client certificate for an API stage. + 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 + createdDate: + description: The timestamp when the stage was created. + format: date-time + type: string + lastUpdatedDate: + description: The timestamp when the stage last updated. + format: date-time + type: string + methodSettings: + additionalProperties: + description: Specifies the method setting properties. + properties: + cacheDataEncrypted: + type: boolean + cacheTTLInSeconds: + format: int64 + type: integer + cachingEnabled: + type: boolean + dataTraceEnabled: + type: boolean + loggingLevel: + type: string + metricsEnabled: + type: boolean + requireAuthorizationForCacheControl: + type: boolean + throttlingBurstLimit: + format: int64 + type: integer + throttlingRateLimit: + type: number + unauthorizedCacheControlHeaderStrategy: + type: string + type: object + description: |- + A map that defines the method settings for a Stage resource. Keys (designated + as /{method_setting_key below) are method paths defined as {resource_path}/{http_method} + for an individual method override, or /\*/\* for overriding all methods in + the stage. + type: object + webACLARN: + description: The ARN of the WebAcl associated with the Stage. + 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-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_vpclinks.yaml b/operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_vpclinks.yaml new file mode 100644 index 00000000000..6c7f011368e --- /dev/null +++ b/operators/ack-apigateway-controller/1.0.0/manifests/apigateway.services.k8s.aws_vpclinks.yaml @@ -0,0 +1,160 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: vpclinks.apigateway.services.k8s.aws +spec: + group: apigateway.services.k8s.aws + names: + kind: VPCLink + listKind: VPCLinkList + plural: vpclinks + singular: vpclink + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: VPCLink is the Schema for the VPCLinks 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: VpcLinkSpec defines the desired state of VpcLink. + properties: + description: + description: The description of the VPC link. + type: string + name: + description: The name used to label and identify the VPC link. + type: string + tags: + additionalProperties: + type: string + description: |- + The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. + The tag key can be up to 128 characters and must not start with aws:. The + tag value can be up to 256 characters. + type: object + targetARNs: + description: |- + The ARN of the network load balancer of the VPC targeted by the VPC link. + The network load balancer must be owned by the same Amazon Web Services account + of the API owner. + items: + type: string + type: array + required: + - name + - targetARNs + type: object + status: + description: VPCLinkStatus defines the observed state of VPCLink + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRS managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + id: + description: |- + The identifier of the VpcLink. It is used in an Integration to reference + this VpcLink. + type: string + status: + description: |- + The status of the VPC link. The valid values are AVAILABLE, PENDING, DELETING, + or FAILED. Deploying an API will wait if the status is PENDING and will fail + if the status is DELETING. + type: string + statusMessage: + description: A description about the VPC link status. + 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-apigateway-controller/1.0.0/metadata/annotations.yaml b/operators/ack-apigateway-controller/1.0.0/metadata/annotations.yaml new file mode 100644 index 00000000000..7b64612bc46 --- /dev/null +++ b/operators/ack-apigateway-controller/1.0.0/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-apigateway-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-apigateway-controller/1.0.0/tests/scorecard/config.yaml b/operators/ack-apigateway-controller/1.0.0/tests/scorecard/config.yaml new file mode 100644 index 00000000000..382ddefd156 --- /dev/null +++ b/operators/ack-apigateway-controller/1.0.0/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: {}