diff --git a/operators/ack-lambda-controller/1.3.0/bundle.Dockerfile b/operators/ack-lambda-controller/1.3.0/bundle.Dockerfile new file mode 100644 index 00000000000..1e30b7bc935 --- /dev/null +++ b/operators/ack-lambda-controller/1.3.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-lambda-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-lambda-controller/1.3.0/manifests/ack-lambda-controller.clusterserviceversion.yaml b/operators/ack-lambda-controller/1.3.0/manifests/ack-lambda-controller.clusterserviceversion.yaml new file mode 100644 index 00000000000..4e4fbe3b58f --- /dev/null +++ b/operators/ack-lambda-controller/1.3.0/manifests/ack-lambda-controller.clusterserviceversion.yaml @@ -0,0 +1,490 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "lambda.services.k8s.aws/v1alpha1", + "kind": "Alias", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "lambda.services.k8s.aws/v1alpha1", + "kind": "CodeSigningConfig", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "lambda.services.k8s.aws/v1alpha1", + "kind": "EventSourceMapping", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "lambda.services.k8s.aws/v1alpha1", + "kind": "Function", + "metadata": { + "name": "example" + }, + "spec": {} + } + ] + capabilities: Basic Install + categories: Cloud Provider + certified: "false" + containerImage: public.ecr.aws/aws-controllers-k8s/lambda-controller:1.3.0 + createdAt: "2023-07-24T22:29:25Z" + description: AWS Lambda controller is a service controller for managing Lambda + resources in Kubernetes + operatorframework.io/suggested-namespace: ack-system + operators.operatorframework.io/builder: operator-sdk-v1.28.0 + operators.operatorframework.io/project_layout: unknown + repository: https://github.com/aws-controllers-k8s + support: Community + name: ack-lambda-controller.v1.3.0 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: Alias represents the state of an AWS lambda Alias resource. + displayName: Alias + kind: Alias + name: aliases.lambda.services.k8s.aws + version: v1alpha1 + - description: CodeSigningConfig represents the state of an AWS lambda CodeSigningConfig + resource. + displayName: CodeSigningConfig + kind: CodeSigningConfig + name: codesigningconfigs.lambda.services.k8s.aws + version: v1alpha1 + - description: EventSourceMapping represents the state of an AWS lambda EventSourceMapping + resource. + displayName: EventSourceMapping + kind: EventSourceMapping + name: eventsourcemappings.lambda.services.k8s.aws + version: v1alpha1 + - description: Function represents the state of an AWS lambda Function resource. + displayName: Function + kind: Function + name: functions.lambda.services.k8s.aws + version: v1alpha1 + - description: FunctionURLConfig represents the state of an AWS lambda FunctionURLConfig + resource. + displayName: FunctionURLConfig + kind: FunctionURLConfig + name: functionurlconfigs.lambda.services.k8s.aws + version: v1alpha1 + - description: LayerVersion represents the state of an AWS lambda LayerVersion + resource. + displayName: LayerVersion + kind: LayerVersion + name: layerversions.lambda.services.k8s.aws + version: v1alpha1 + description: |- + Manage Amazon Lambda resources in AWS from within your Kubernetes cluster. + + **About Amazon Lambda** + + Lambda is a compute service that lets you run code without provisioning or managing servers. Lambda runs your code on a high-availability compute infrastructure and performs all of the administration of the compute resources, including server and operating system maintenance, capacity provisioning and automatic scaling, code monitoring and logging. With Lambda, you can run code for virtually any type of application or backend service. All you need to do is supply your code in one of the [languages that Lambda supports](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). + + **About the AWS Controllers for Kubernetes** + + This controller is a component of the [AWS Controller for Kubernetes](https://github.com/aws/aws-controllers-k8s) project. + + **Pre-Installation Steps** + + Please follow the following link: [Red Hat OpenShift](https://aws-controllers-k8s.github.io/community/docs/user-docs/openshift/) + displayName: AWS Controllers for Kubernetes - Amazon Lambda + 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: + - iam.services.k8s.aws + resources: + - roles + verbs: + - get + - list + - apiGroups: + - iam.services.k8s.aws + resources: + - roles/status + verbs: + - get + - list + - apiGroups: + - kafka.services.k8s.aws + resources: + - clusters + verbs: + - get + - list + - apiGroups: + - kafka.services.k8s.aws + resources: + - clusters/status + verbs: + - get + - list + - apiGroups: + - kms.services.k8s.aws + resources: + - keys + verbs: + - get + - list + - apiGroups: + - kms.services.k8s.aws + resources: + - keys/status + verbs: + - get + - list + - apiGroups: + - lambda.services.k8s.aws + resources: + - aliases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - lambda.services.k8s.aws + resources: + - aliases/status + verbs: + - get + - patch + - update + - apiGroups: + - lambda.services.k8s.aws + resources: + - codesigningconfigs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - lambda.services.k8s.aws + resources: + - codesigningconfigs/status + verbs: + - get + - patch + - update + - apiGroups: + - lambda.services.k8s.aws + resources: + - eventsourcemappings + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - lambda.services.k8s.aws + resources: + - eventsourcemappings/status + verbs: + - get + - patch + - update + - apiGroups: + - lambda.services.k8s.aws + resources: + - functions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - lambda.services.k8s.aws + resources: + - functions/status + verbs: + - get + - patch + - update + - apiGroups: + - lambda.services.k8s.aws + resources: + - functionurlconfigs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - lambda.services.k8s.aws + resources: + - functionurlconfigs/status + verbs: + - get + - patch + - update + - apiGroups: + - lambda.services.k8s.aws + resources: + - layerversions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - lambda.services.k8s.aws + resources: + - layerversions/status + verbs: + - get + - patch + - update + - apiGroups: + - mq.services.k8s.aws + resources: + - brokers + verbs: + - get + - list + - apiGroups: + - mq.services.k8s.aws + resources: + - brokers/status + verbs: + - get + - list + - apiGroups: + - s3.services.k8s.aws + resources: + - buckets + verbs: + - get + - list + - apiGroups: + - s3.services.k8s.aws + resources: + - buckets/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-lambda-controller + deployments: + - label: + app.kubernetes.io/name: ack-lambda-controller + app.kubernetes.io/part-of: ack-system + name: ack-lambda-controller + spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: ack-lambda-controller + strategy: {} + template: + metadata: + labels: + app.kubernetes.io/name: ack-lambda-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) + command: + - ./bin/controller + env: + - name: ACK_SYSTEM_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + envFrom: + - configMapRef: + name: ack-lambda-user-config + optional: false + - secretRef: + name: ack-lambda-user-secrets + optional: true + image: public.ecr.aws/aws-controllers-k8s/lambda-controller:1.3.0 + name: controller + ports: + - containerPort: 8080 + name: http + resources: + limits: + cpu: 100m + memory: 300Mi + requests: + cpu: 100m + memory: 200Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + privileged: false + runAsNonRoot: true + securityContext: + seccompProfile: + type: RuntimeDefault + serviceAccountName: ack-lambda-controller + terminationGracePeriodSeconds: 10 + strategy: deployment + installModes: + - supported: true + type: AllNamespaces + keywords: + - lambda + - 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 Lambda Developer Resources + url: https://aws.amazon.com/lambda/resources/ + maintainers: + - email: ack-maintainers@amazon.com + name: lambda maintainer team + maturity: alpha + provider: + name: Amazon, Inc. + url: https://aws.amazon.com + version: 1.3.0 diff --git a/operators/ack-lambda-controller/1.3.0/manifests/ack-lambda-metrics-service_v1_service.yaml b/operators/ack-lambda-controller/1.3.0/manifests/ack-lambda-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..6f231945c14 --- /dev/null +++ b/operators/ack-lambda-controller/1.3.0/manifests/ack-lambda-metrics-service_v1_service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + name: ack-lambda-metrics-service +spec: + ports: + - name: metricsport + port: 8080 + protocol: TCP + targetPort: http + selector: + app.kubernetes.io/name: ack-lambda-controller + type: NodePort +status: + loadBalancer: {} diff --git a/operators/ack-lambda-controller/1.3.0/manifests/ack-lambda-reader_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-lambda-controller/1.3.0/manifests/ack-lambda-reader_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..40e2f51a510 --- /dev/null +++ b/operators/ack-lambda-controller/1.3.0/manifests/ack-lambda-reader_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,19 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-lambda-reader +rules: +- apiGroups: + - lambda.services.k8s.aws + resources: + - aliases + - codesigningconfigs + - eventsourcemappings + - functions + - functionurlconfigs + - layerversions + verbs: + - get + - list + - watch diff --git a/operators/ack-lambda-controller/1.3.0/manifests/ack-lambda-writer_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-lambda-controller/1.3.0/manifests/ack-lambda-writer_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..a4c3d2f3928 --- /dev/null +++ b/operators/ack-lambda-controller/1.3.0/manifests/ack-lambda-writer_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,36 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-lambda-writer +rules: +- apiGroups: + - lambda.services.k8s.aws + resources: + - aliases + - codesigningconfigs + - eventsourcemappings + - functions + - functionurlconfigs + - layerversions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - lambda.services.k8s.aws + resources: + - aliases + - codesigningconfigs + - eventsourcemappings + - functions + - functionurlconfigs + - layerversions + verbs: + - get + - patch + - update diff --git a/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_aliases.yaml b/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_aliases.yaml new file mode 100644 index 00000000000..ae218ae7fa4 --- /dev/null +++ b/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_aliases.yaml @@ -0,0 +1,211 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: aliases.lambda.services.k8s.aws +spec: + group: lambda.services.k8s.aws + names: + kind: Alias + listKind: AliasList + plural: aliases + singular: alias + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Alias is the Schema for the Aliases 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: + properties: + description: + description: A description of the alias. + type: string + functionEventInvokeConfig: + description: "Configures options for asynchronous invocation on an + alias. \n - DestinationConfig A destination for events after they + have been sent to a function for processing. \n Types of Destinations: + Function - The Amazon Resource Name (ARN) of a Lambda function. + Queue - The ARN of a standard SQS queue. Topic - The ARN of a standard + SNS topic. Event Bus - The ARN of an Amazon EventBridge event bus. + \n - MaximumEventAgeInSeconds The maximum age of a request that + Lambda sends to a function for processing. \n - MaximumRetryAttempts + The maximum number of times to retry when the function returns an + error." + properties: + destinationConfig: + description: A configuration object that specifies the destination + of an event after Lambda processes it. + properties: + onFailure: + description: A destination for events that failed processing. + properties: + destination: + type: string + type: object + onSuccess: + description: A destination for events that were processed + successfully. + properties: + destination: + type: string + type: object + type: object + functionName: + type: string + maximumEventAgeInSeconds: + format: int64 + type: integer + maximumRetryAttempts: + format: int64 + type: integer + qualifier: + type: string + type: object + functionName: + description: "The name of the Lambda function. \n Name formats \n + * Function name - MyFunction. \n * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + \n * Partial ARN - 123456789012:function:MyFunction. \n The length + constraint applies only to the full ARN. If you specify only the + function name, it is limited to 64 characters in length." + type: string + functionRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference type to provide more user friendly syntax + for references using 'from' field Ex: APIIDRef: \n from: 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 + functionVersion: + description: The function version that the alias invokes. + type: string + name: + description: The name of the alias. + type: string + provisionedConcurrencyConfig: + description: "Configures provisioned concurrency to a function's alias + \n - ProvisionedConcurrentExecutions The amount of provisioned concurrency + to allocate for the version or alias. Minimum value of 1 is required" + properties: + functionName: + type: string + provisionedConcurrentExecutions: + format: int64 + type: integer + qualifier: + type: string + type: object + routingConfig: + description: The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html#configuring-alias-routing) + of the alias. + properties: + additionalVersionWeights: + additionalProperties: + type: number + type: object + type: object + required: + - functionVersion + - name + type: object + status: + description: AliasStatus defines the observed state of Alias + properties: + ackResourceMetadata: + description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` + member that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: 'ARN is the Amazon Resource Name for the resource. + This is a globally-unique identifier and is set only by the + ACK service controller once the controller has orchestrated + the creation of the resource OR when it has verified that an + "adopted" resource (a resource where the ARN annotation was + set by the Kubernetes user on the CR) exists and matches the + supplied CR''s Spec field values. TODO(vijat@): Find a better + strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270' + type: string + ownerAccountID: + description: OwnerAccountID is the AWS Account ID of the account + that owns the backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: All CRS managed by ACK have a common `Status.Conditions` + member that contains a collection of `ackv1alpha1.Condition` objects + that describe the various terminal states of the CR and its backend + AWS service API resource + items: + description: Condition is the common struct used by all CRDs managed + by ACK service controllers to indicate terminal states of the + CR and its backend AWS service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + revisionID: + description: A unique identifier that changes when you update the + alias. + 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-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_codesigningconfigs.yaml b/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_codesigningconfigs.yaml new file mode 100644 index 00000000000..2be8c61dbc2 --- /dev/null +++ b/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_codesigningconfigs.yaml @@ -0,0 +1,141 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: codesigningconfigs.lambda.services.k8s.aws +spec: + group: lambda.services.k8s.aws + names: + kind: CodeSigningConfig + listKind: CodeSigningConfigList + plural: codesigningconfigs + singular: codesigningconfig + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: CodeSigningConfig is the Schema for the CodeSigningConfigs 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: "CodeSigningConfigSpec defines the desired state of CodeSigningConfig. + \n Details about a Code signing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html)." + properties: + allowedPublishers: + description: Signing profiles for this code signing configuration. + properties: + signingProfileVersionARNs: + items: + type: string + type: array + type: object + codeSigningPolicies: + description: The code signing policies define the actions to take + if the validation checks fail. + properties: + untrustedArtifactOnDeployment: + type: string + type: object + description: + description: Descriptive name for this code signing configuration. + type: string + required: + - allowedPublishers + type: object + status: + description: CodeSigningConfigStatus defines the observed state of CodeSigningConfig + 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 + codeSigningConfigID: + description: Unique identifer for the Code signing configuration. + 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 + lastModified: + description: The date and time that the Code signing configuration + was last modified, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). + 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-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_eventsourcemappings.yaml b/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_eventsourcemappings.yaml new file mode 100644 index 00000000000..8ec62b23c16 --- /dev/null +++ b/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_eventsourcemappings.yaml @@ -0,0 +1,362 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: eventsourcemappings.lambda.services.k8s.aws +spec: + group: lambda.services.k8s.aws + names: + kind: EventSourceMapping + listKind: EventSourceMappingList + plural: eventsourcemappings + singular: eventsourcemapping + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: EventSourceMapping is the Schema for the EventSourceMappings + 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: EventSourceMappingSpec defines the desired state of EventSourceMapping. + properties: + amazonManagedKafkaEventSourceConfig: + description: Specific configuration settings for an Amazon Managed + Streaming for Apache Kafka (Amazon MSK) event source. + properties: + consumerGroupID: + type: string + type: object + batchSize: + description: "The maximum number of records in each batch that Lambda + pulls from your stream or queue and sends to your function. Lambda + passes all of the records in the batch to the function in a single + call, up to the payload limit for synchronous invocation (6 MB). + \n * Amazon Kinesis – Default 100. Max 10,000. \n * Amazon DynamoDB + Streams – Default 100. Max 10,000. \n * Amazon Simple Queue Service + – Default 10. For standard queues the max is 10,000. For FIFO queues + the max is 10. \n * Amazon Managed Streaming for Apache Kafka – + Default 100. Max 10,000. \n * Self-managed Apache Kafka – Default + 100. Max 10,000. \n * Amazon MQ (ActiveMQ and RabbitMQ) – Default + 100. Max 10,000." + format: int64 + type: integer + bisectBatchOnFunctionError: + description: (Streams only) If the function returns an error, split + the batch in two and retry. + type: boolean + destinationConfig: + description: (Streams only) An Amazon SQS queue or Amazon SNS topic + destination for discarded records. + properties: + onFailure: + description: A destination for events that failed processing. + properties: + destination: + type: string + type: object + onSuccess: + description: A destination for events that were processed successfully. + properties: + destination: + type: string + type: object + type: object + enabled: + description: "When true, the event source mapping is active. When + false, Lambda pauses polling and invocation. \n Default: True" + type: boolean + eventSourceARN: + description: "The Amazon Resource Name (ARN) of the event source. + \n * Amazon Kinesis – The ARN of the data stream or a stream consumer. + \n * Amazon DynamoDB Streams – The ARN of the stream. \n * Amazon + Simple Queue Service – The ARN of the queue. \n * Amazon Managed + Streaming for Apache Kafka – The ARN of the cluster. \n * Amazon + MQ – The ARN of the broker." + type: string + eventSourceRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference type to provide more user friendly syntax + for references using 'from' field Ex: APIIDRef: \n from: 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 + filterCriteria: + description: An object that defines the filter criteria that determine + whether Lambda should process an event. For more information, see + Lambda event filtering (https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html). + properties: + filters: + items: + description: A structure within a FilterCriteria object that + defines an event filtering pattern. + properties: + pattern: + type: string + type: object + type: array + type: object + functionName: + description: "The name of the Lambda function. \n Name formats \n + * Function name – MyFunction. \n * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + \n * Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD. + \n * Partial ARN – 123456789012:function:MyFunction. \n The length + constraint applies only to the full ARN. If you specify only the + function name, it's limited to 64 characters in length." + type: string + functionRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference type to provide more user friendly syntax + for references using 'from' field Ex: APIIDRef: \n from: 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 + functionResponseTypes: + description: (Streams and Amazon SQS) A list of current response type + enums applied to the event source mapping. + items: + type: string + type: array + maximumBatchingWindowInSeconds: + description: "The maximum amount of time, in seconds, that Lambda + spends gathering records before invoking the function. You can configure + MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 + seconds in increments of seconds. \n For streams and Amazon SQS + event sources, the default batching window is 0 seconds. For Amazon + MSK, Self-managed Apache Kafka, and Amazon MQ event sources, the + default batching window is 500 ms. Note that because you can only + change MaximumBatchingWindowInSeconds in increments of seconds, + you cannot revert back to the 500 ms default batching window after + you have changed it. To restore the default batching window, you + must create a new event source mapping. \n Related setting: For + streams and Amazon SQS event sources, when you set BatchSize to + a value greater than 10, you must set MaximumBatchingWindowInSeconds + to at least 1." + format: int64 + type: integer + maximumRecordAgeInSeconds: + description: (Streams only) Discard records older than the specified + age. The default value is infinite (-1). + format: int64 + type: integer + maximumRetryAttempts: + description: (Streams only) Discard records after the specified number + of retries. The default value is infinite (-1). When set to infinite + (-1), failed records are retried until the record expires. + format: int64 + type: integer + parallelizationFactor: + description: (Streams only) The number of batches to process from + each shard concurrently. + format: int64 + type: integer + queueRefs: + items: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference type to provide more user friendly syntax + for references using 'from' field Ex: APIIDRef: \n from: 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 + queues: + description: (MQ) The name of the Amazon MQ broker destination queue + to consume. + items: + type: string + type: array + scalingConfig: + description: (Amazon SQS only) The scaling configuration for the event + source. For more information, see Configuring maximum concurrency + for Amazon SQS event sources (https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). + properties: + maximumConcurrency: + format: int64 + type: integer + type: object + selfManagedEventSource: + description: The self-managed Apache Kafka cluster to receive records + from. + properties: + endpoints: + additionalProperties: + items: + type: string + type: array + type: object + type: object + selfManagedKafkaEventSourceConfig: + description: Specific configuration settings for a self-managed Apache + Kafka event source. + properties: + consumerGroupID: + type: string + type: object + sourceAccessConfigurations: + description: An array of authentication protocols or VPC components + required to secure your event source. + items: + description: To secure and define access to your event source, you + can specify the authentication protocol, VPC components, or virtual + host. + properties: + type_: + type: string + uRI: + type: string + type: object + type: array + startingPosition: + description: The position in a stream from which to start reading. + Required for Amazon Kinesis, Amazon DynamoDB, and Amazon MSK Streams + sources. AT_TIMESTAMP is supported only for Amazon Kinesis streams. + type: string + startingPositionTimestamp: + description: With StartingPosition set to AT_TIMESTAMP, the time from + which to start reading. + format: date-time + type: string + topics: + description: The name of the Kafka topic. + items: + type: string + type: array + tumblingWindowInSeconds: + description: (Streams only) The duration in seconds of a processing + window. The range is between 1 second and 900 seconds. + format: int64 + type: integer + type: object + status: + description: EventSourceMappingStatus defines the observed state of EventSourceMapping + properties: + ackResourceMetadata: + description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` + member that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: 'ARN is the Amazon Resource Name for the resource. + This is a globally-unique identifier and is set only by the + ACK service controller once the controller has orchestrated + the creation of the resource OR when it has verified that an + "adopted" resource (a resource where the ARN annotation was + set by the Kubernetes user on the CR) exists and matches the + supplied CR''s Spec field values. TODO(vijat@): Find a better + strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270' + type: string + ownerAccountID: + description: OwnerAccountID is the AWS Account ID of the account + that owns the backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: All CRS managed by ACK have a common `Status.Conditions` + member that contains a collection of `ackv1alpha1.Condition` objects + that describe the various terminal states of the CR and its backend + AWS service API resource + items: + description: Condition is the common struct used by all CRDs managed + by ACK service controllers to indicate terminal states of the + CR and its backend AWS service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + functionARN: + description: The ARN of the Lambda function. + type: string + lastModified: + description: The date that the event source mapping was last updated + or that its state changed. + format: date-time + type: string + lastProcessingResult: + description: The result of the last Lambda invocation of your function. + type: string + state: + description: 'The state of the event source mapping. It can be one + of the following: Creating, Enabling, Enabled, Disabling, Disabled, + Updating, or Deleting.' + type: string + stateTransitionReason: + description: Indicates whether a user or Lambda made the last change + to the event source mapping. + type: string + uuid: + description: The identifier of the event source mapping. + 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-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_functions.yaml b/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_functions.yaml new file mode 100644 index 00000000000..3a4b9f30d05 --- /dev/null +++ b/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_functions.yaml @@ -0,0 +1,506 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: functions.lambda.services.k8s.aws +spec: + group: lambda.services.k8s.aws + names: + kind: Function + listKind: FunctionList + plural: functions + singular: function + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Function is the Schema for the Functions 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: FunctionSpec defines the desired state of Function. + properties: + architectures: + description: The instruction set architecture that the function supports. + Enter a string array with one of the valid values (arm64 or x86_64). + The default value is x86_64. + items: + type: string + type: array + code: + description: The code for the function. + properties: + imageURI: + type: string + s3Bucket: + type: string + s3BucketRef: + description: Reference field for S3Bucket + 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 + s3Key: + type: string + s3ObjectVersion: + type: string + zipFile: + format: byte + type: string + type: object + codeSigningConfigARN: + description: To enable code signing for this function, specify the + ARN of a code-signing configuration. A code-signing configuration + includes a set of signing profiles, which define the trusted publishers + for this function. + type: string + deadLetterConfig: + description: A dead-letter queue configuration that specifies the + queue or topic where Lambda sends asynchronous events when they + fail processing. For more information, see Dead-letter queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq). + properties: + targetARN: + type: string + type: object + description: + description: A description of the function. + type: string + environment: + description: Environment variables that are accessible from function + code during execution. + properties: + variables: + additionalProperties: + type: string + type: object + type: object + ephemeralStorage: + description: The size of the function's /tmp directory in MB. The + default value is 512, but can be any whole number between 512 and + 10,240 MB. + properties: + size: + format: int64 + type: integer + type: object + fileSystemConfigs: + description: Connection settings for an Amazon EFS file system. + items: + description: Details about the connection between a Lambda function + and an Amazon EFS file system (https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html). + properties: + arn: + type: string + localMountPath: + type: string + type: object + type: array + functionEventInvokeConfig: + description: "Configures options for asynchronous invocation on a + function. \n - DestinationConfig A destination for events after + they have been sent to a function for processing. \n Types of Destinations: + Function - The Amazon Resource Name (ARN) of a Lambda function. + Queue - The ARN of a standard SQS queue. Topic - The ARN of a standard + SNS topic. Event Bus - The ARN of an Amazon EventBridge event bus. + \n - MaximumEventAgeInSeconds The maximum age of a request that + Lambda sends to a function for processing. \n - MaximumRetryAttempts + The maximum number of times to retry when the function returns an + error." + properties: + destinationConfig: + description: A configuration object that specifies the destination + of an event after Lambda processes it. + properties: + onFailure: + description: A destination for events that failed processing. + properties: + destination: + type: string + type: object + onSuccess: + description: A destination for events that were processed + successfully. + properties: + destination: + type: string + type: object + type: object + functionName: + type: string + maximumEventAgeInSeconds: + format: int64 + type: integer + maximumRetryAttempts: + format: int64 + type: integer + qualifier: + type: string + type: object + handler: + description: The name of the method within your code that Lambda calls + to run your function. Handler is required if the deployment package + is a .zip file archive. The format includes the file name. It can + also include namespaces and other qualifiers, depending on the runtime. + For more information, see Lambda programming model (https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html). + type: string + imageConfig: + description: Container image configuration values (https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings) + that override the values in the container image Dockerfile. + properties: + command: + items: + type: string + type: array + entryPoint: + items: + type: string + type: array + workingDirectory: + type: string + type: object + kmsKeyARN: + description: The ARN of the Key Management Service (KMS) key that's + used to encrypt your function's environment variables. If it's not + provided, Lambda uses a default service key. + type: string + kmsKeyRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference type to provide more user friendly syntax + for references using 'from' field Ex: APIIDRef: \n from: 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 + layers: + description: A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) + to add to the function's execution environment. Specify each layer + by its ARN, including the version. + items: + type: string + type: array + memorySize: + description: The amount of memory available to the function (https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console) + at runtime. Increasing the function memory also increases its CPU + allocation. The default value is 128 MB. The value can be any multiple + of 1 MB. + format: int64 + type: integer + name: + description: "The name of the Lambda function. \n Name formats \n + * Function name – my-function. \n * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function. + \n * Partial ARN – 123456789012:function:my-function. \n The length + constraint applies only to the full ARN. If you specify only the + function name, it is limited to 64 characters in length." + type: string + packageType: + description: The type of deployment package. Set to Image for container + image and set to Zip for .zip file archive. + type: string + publish: + description: Set to true to publish the first version of the function + during creation. + type: boolean + reservedConcurrentExecutions: + description: The number of simultaneous executions to reserve for + the function. + format: int64 + type: integer + role: + description: The Amazon Resource Name (ARN) of the function's execution + role. + type: string + roleRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference type to provide more user friendly syntax + for references using 'from' field Ex: APIIDRef: \n from: 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 + runtime: + description: The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). + Runtime is required if the deployment package is a .zip file archive. + type: string + snapStart: + description: The function's SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) + setting. + properties: + applyOn: + type: string + type: object + tags: + additionalProperties: + type: string + description: A list of tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) + to apply to the function. + type: object + timeout: + description: The amount of time (in seconds) that Lambda allows a + function to run before stopping it. The default is 3 seconds. The + maximum allowed value is 900 seconds. For more information, see + Lambda execution environment (https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html). + format: int64 + type: integer + tracingConfig: + description: Set Mode to Active to sample and trace a subset of incoming + requests with X-Ray (https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html). + properties: + mode: + type: string + type: object + vpcConfig: + description: For network connectivity to Amazon Web Services resources + in a VPC, specify a list of security groups and subnets in the VPC. + When you connect a function to a VPC, it can access resources and + the internet only through that VPC. For more information, see Configuring + a Lambda function to access resources in a VPC (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). + properties: + securityGroupIDs: + items: + type: string + type: array + securityGroupRefs: + description: Reference field for SecurityGroupIDs + items: + description: "AWSResourceReferenceWrapper provides a wrapper + around *AWSResourceReference type to provide more user friendly + syntax for references using 'from' field Ex: APIIDRef: \n + from: 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 + subnetIDs: + items: + type: string + type: array + subnetRefs: + description: Reference field for SubnetIDs + items: + description: "AWSResourceReferenceWrapper provides a wrapper + around *AWSResourceReference type to provide more user friendly + syntax for references using 'from' field Ex: APIIDRef: \n + from: 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 + type: object + required: + - code + - name + type: object + status: + description: FunctionStatus defines the observed state of Function + 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 + codeSHA256: + description: The SHA256 hash of the function's deployment package. + type: string + codeSize: + description: The size of the function's deployment package, in bytes. + format: int64 + type: integer + 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 + imageConfigResponse: + description: The function's image configuration values. + properties: + error: + description: Error response to GetFunctionConfiguration. + properties: + errorCode: + type: string + message: + type: string + type: object + imageConfig: + description: Configuration values that override the container + image Dockerfile settings. For more information, see Container + image settings (https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms). + properties: + command: + items: + type: string + type: array + entryPoint: + items: + type: string + type: array + workingDirectory: + type: string + type: object + type: object + lastModified: + description: The date and time that the function was last updated, + in ISO-8601 format (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD). + type: string + lastUpdateStatus: + description: The status of the last update that was performed on the + function. This is first set to Successful after function creation + completes. + type: string + lastUpdateStatusReason: + description: The reason for the last update that was performed on + the function. + type: string + lastUpdateStatusReasonCode: + description: The reason code for the last update that was performed + on the function. + type: string + layerStatuses: + description: The function's layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). + items: + description: An Lambda layer (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). + properties: + arn: + type: string + codeSize: + format: int64 + type: integer + signingJobARN: + type: string + signingProfileVersionARN: + type: string + type: object + type: array + masterARN: + description: For Lambda@Edge functions, the ARN of the main function. + type: string + revisionID: + description: The latest updated revision of the function or alias. + type: string + signingJobARN: + description: The ARN of the signing job. + type: string + signingProfileVersionARN: + description: The ARN of the signing profile version. + type: string + state: + description: The current state of the function. When the state is + Inactive, you can reactivate the function by invoking it. + type: string + stateReason: + description: The reason for the function's current state. + type: string + stateReasonCode: + description: The reason code for the function's current state. When + the code is Creating, you can't invoke or modify the function. + type: string + version: + description: The version of the Lambda function. + 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-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_functionurlconfigs.yaml b/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_functionurlconfigs.yaml new file mode 100644 index 00000000000..7091dd379c8 --- /dev/null +++ b/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_functionurlconfigs.yaml @@ -0,0 +1,182 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: functionurlconfigs.lambda.services.k8s.aws +spec: + group: lambda.services.k8s.aws + names: + kind: FunctionURLConfig + listKind: FunctionURLConfigList + plural: functionurlconfigs + singular: functionurlconfig + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: FunctionURLConfig is the Schema for the FunctionURLConfigs 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: "FunctionUrlConfigSpec defines the desired state of FunctionUrlConfig. + \n Details about a Lambda function URL." + properties: + authType: + description: The type of authentication that your function URL uses. + Set to AWS_IAM if you want to restrict access to authenticated IAM + users only. Set to NONE if you want to bypass IAM authentication + to create a public endpoint. For more information, see Security + and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + type: string + cors: + description: The cross-origin resource sharing (CORS) (https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) + settings for your function URL. + properties: + allowCredentials: + type: boolean + allowHeaders: + items: + type: string + type: array + allowMethods: + items: + type: string + type: array + allowOrigins: + items: + type: string + type: array + exposeHeaders: + items: + type: string + type: array + maxAge: + format: int64 + type: integer + type: object + functionName: + description: "The name of the Lambda function. \n Name formats \n + * Function name – my-function. \n * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function. + \n * Partial ARN – 123456789012:function:my-function. \n The length + constraint applies only to the full ARN. If you specify only the + function name, it is limited to 64 characters in length." + type: string + functionRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference type to provide more user friendly syntax + for references using 'from' field Ex: APIIDRef: \n from: 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 + qualifier: + description: The alias name. + type: string + required: + - authType + type: object + status: + description: FunctionURLConfigStatus defines the observed state of FunctionURLConfig + properties: + ackResourceMetadata: + description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` + member that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: 'ARN is the Amazon Resource Name for the resource. + This is a globally-unique identifier and is set only by the + ACK service controller once the controller has orchestrated + the creation of the resource OR when it has verified that an + "adopted" resource (a resource where the ARN annotation was + set by the Kubernetes user on the CR) exists and matches the + supplied CR''s Spec field values. TODO(vijat@): Find a better + strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270' + type: string + ownerAccountID: + description: OwnerAccountID is the AWS Account ID of the account + that owns the backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: All CRS managed by ACK have a common `Status.Conditions` + member that contains a collection of `ackv1alpha1.Condition` objects + that describe the various terminal states of the CR and its backend + AWS service API resource + items: + description: Condition is the common struct used by all CRDs managed + by ACK service controllers to indicate terminal states of the + CR and its backend AWS service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + creationTime: + description: When the function URL was created, in ISO-8601 format + (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD). + type: string + functionARN: + description: The Amazon Resource Name (ARN) of your function. + type: string + functionURL: + description: The HTTP URL endpoint for your function. + 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-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_layerversions.yaml b/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_layerversions.yaml new file mode 100644 index 00000000000..a61303e6cf8 --- /dev/null +++ b/operators/ack-lambda-controller/1.3.0/manifests/lambda.services.k8s.aws_layerversions.yaml @@ -0,0 +1,164 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: layerversions.lambda.services.k8s.aws +spec: + group: lambda.services.k8s.aws + names: + kind: LayerVersion + listKind: LayerVersionList + plural: layerversions + singular: layerversion + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: LayerVersion is the Schema for the LayerVersions 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: LayerVersionSpec defines the desired state of LayerVersion. + properties: + compatibleArchitectures: + description: A list of compatible instruction set architectures (https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html). + items: + type: string + type: array + compatibleRuntimes: + description: A list of compatible function runtimes (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). + Used for filtering with ListLayers and ListLayerVersions. + items: + type: string + type: array + content: + description: The function layer archive. + properties: + s3Bucket: + type: string + s3Key: + type: string + s3ObjectVersion: + type: string + zipFile: + format: byte + type: string + type: object + description: + description: The description of the version. + type: string + layerName: + description: The name or Amazon Resource Name (ARN) of the layer. + type: string + licenseInfo: + description: "The layer's software license. It can be any of the following: + \n * An SPDX license identifier (https://spdx.org/licenses/). For + example, MIT. \n * The URL of a license hosted on the internet. + For example, https://opensource.org/licenses/MIT. \n * The full + text of the license." + type: string + required: + - content + - layerName + type: object + status: + description: LayerVersionStatus defines the observed state of LayerVersion + properties: + ackResourceMetadata: + description: All CRs managed by ACK have a common `Status.ACKResourceMetadata` + member that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: 'ARN is the Amazon Resource Name for the resource. + This is a globally-unique identifier and is set only by the + ACK service controller once the controller has orchestrated + the creation of the resource OR when it has verified that an + "adopted" resource (a resource where the ARN annotation was + set by the Kubernetes user on the CR) exists and matches the + supplied CR''s Spec field values. TODO(vijat@): Find a better + strategy for resources that do not have ARN in CreateOutputResponse + https://github.com/aws/aws-controllers-k8s/issues/270' + type: string + ownerAccountID: + description: OwnerAccountID is the AWS Account ID of the account + that owns the backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: All CRS managed by ACK have a common `Status.Conditions` + member that contains a collection of `ackv1alpha1.Condition` objects + that describe the various terminal states of the CR and its backend + AWS service API resource + items: + description: Condition is the common struct used by all CRDs managed + by ACK service controllers to indicate terminal states of the + CR and its backend AWS service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + createdDate: + description: The date that the layer version was created, in ISO-8601 + format (https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD). + type: string + layerARN: + description: The ARN of the layer. + type: string + versionNumber: + description: The version number. + format: int64 + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-lambda-controller/1.3.0/metadata/annotations.yaml b/operators/ack-lambda-controller/1.3.0/metadata/annotations.yaml new file mode 100644 index 00000000000..f409f9e0fbf --- /dev/null +++ b/operators/ack-lambda-controller/1.3.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-lambda-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-lambda-controller/1.3.0/tests/scorecard/config.yaml b/operators/ack-lambda-controller/1.3.0/tests/scorecard/config.yaml new file mode 100644 index 00000000000..382ddefd156 --- /dev/null +++ b/operators/ack-lambda-controller/1.3.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: {}