From 19bac29a049c9a26b4d0df31800916302e187c05 Mon Sep 17 00:00:00 2001 From: AWS Controllers for Kubernetes Bot <82905295+ack-bot@users.noreply.github.com> Date: Mon, 5 Feb 2024 18:38:38 -0600 Subject: [PATCH] operator ack-lambda-controller (1.4.0) --- .../1.4.0/bundle.Dockerfile | 21 + ...mbda-controller.clusterserviceversion.yaml | 550 +++++++++++++++++ ...ack-lambda-metrics-service_v1_service.yaml | 16 + ...der_rbac.authorization.k8s.io_v1_role.yaml | 20 + ...ter_rbac.authorization.k8s.io_v1_role.yaml | 38 ++ .../lambda.services.k8s.aws_aliases.yaml | 252 ++++++++ ...a.services.k8s.aws_codesigningconfigs.yaml | 155 +++++ ....services.k8s.aws_eventsourcemappings.yaml | 437 ++++++++++++++ .../lambda.services.k8s.aws_functions.yaml | 560 ++++++++++++++++++ ...a.services.k8s.aws_functionurlconfigs.yaml | 211 +++++++ ...lambda.services.k8s.aws_layerversions.yaml | 182 ++++++ .../lambda.services.k8s.aws_versions.yaml | 429 ++++++++++++++ .../1.4.0/metadata/annotations.yaml | 15 + .../1.4.0/tests/scorecard/config.yaml | 50 ++ 14 files changed, 2936 insertions(+) create mode 100644 operators/ack-lambda-controller/1.4.0/bundle.Dockerfile create mode 100644 operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-controller.clusterserviceversion.yaml create mode 100644 operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-metrics-service_v1_service.yaml create mode 100644 operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-reader_rbac.authorization.k8s.io_v1_role.yaml create mode 100644 operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-writer_rbac.authorization.k8s.io_v1_role.yaml create mode 100644 operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_aliases.yaml create mode 100644 operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_codesigningconfigs.yaml create mode 100644 operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_eventsourcemappings.yaml create mode 100644 operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_functions.yaml create mode 100644 operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_functionurlconfigs.yaml create mode 100644 operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_layerversions.yaml create mode 100644 operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_versions.yaml create mode 100644 operators/ack-lambda-controller/1.4.0/metadata/annotations.yaml create mode 100644 operators/ack-lambda-controller/1.4.0/tests/scorecard/config.yaml diff --git a/operators/ack-lambda-controller/1.4.0/bundle.Dockerfile b/operators/ack-lambda-controller/1.4.0/bundle.Dockerfile new file mode 100644 index 00000000000..1e30b7bc935 --- /dev/null +++ b/operators/ack-lambda-controller/1.4.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.4.0/manifests/ack-lambda-controller.clusterserviceversion.yaml b/operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-controller.clusterserviceversion.yaml new file mode 100644 index 00000000000..d80ad4d979f --- /dev/null +++ b/operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-controller.clusterserviceversion.yaml @@ -0,0 +1,550 @@ +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.4.0 + createdAt: "2024-02-06T00:19:48Z" + 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 + labels: + operatorframework.io/arch.amd64: supported + operatorframework.io/arch.arm64: supported + operatorframework.io/os.linux: supported + name: ack-lambda-controller.v1.4.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: Version represents the state of an AWS lambda Version resource. + displayName: Version + kind: Version + name: versions.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: + - lambda.services.k8s.aws + resources: + - versions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - lambda.services.k8s.aws + resources: + - versions/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) + - --enable-leader-election=$(ENABLE_LEADER_ELECTION) + - --leader-election-namespace + - $(LEADER_ELECTION_NAMESPACE) + command: + - ./bin/controller + env: + - name: ACK_SYSTEM_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + envFrom: + - configMapRef: + name: ack-lambda-user-config + optional: false + - secretRef: + name: ack-lambda-user-secrets + optional: true + image: public.ecr.aws/aws-controllers-k8s/lambda-controller:1.4.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 + dnsPolicy: ClusterFirst + securityContext: + seccompProfile: + type: RuntimeDefault + serviceAccountName: ack-lambda-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-lambda-controller + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: true + type: MultiNamespace + - 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.4.0 diff --git a/operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-metrics-service_v1_service.yaml b/operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..6f231945c14 --- /dev/null +++ b/operators/ack-lambda-controller/1.4.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.4.0/manifests/ack-lambda-reader_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-reader_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..5edef25e12e --- /dev/null +++ b/operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-reader_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,20 @@ +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 + - versions + verbs: + - get + - list + - watch diff --git a/operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-writer_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-writer_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..f07136ddef9 --- /dev/null +++ b/operators/ack-lambda-controller/1.4.0/manifests/ack-lambda-writer_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,38 @@ +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 + - versions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - lambda.services.k8s.aws + resources: + - aliases + - codesigningconfigs + - eventsourcemappings + - functions + - functionurlconfigs + - layerversions + - versions + verbs: + - get + - patch + - update diff --git a/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_aliases.yaml b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_aliases.yaml new file mode 100644 index 00000000000..73a5d369187 --- /dev/null +++ b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_aliases.yaml @@ -0,0 +1,252 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + 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. + + + - DestinationConfig + A destination for events after they have been sent to a function for processing. + + + 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. + + + - MaximumEventAgeInSeconds + The maximum age of a request that Lambda sends to a function for processing. + + + - 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. + + + Name formats + + + * Function name - MyFunction. + + + * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + + + * Partial ARN - 123456789012:function:MyFunction. + + + 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\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + type: object + type: object + 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 + + + - 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.4.0/manifests/lambda.services.k8s.aws_codesigningconfigs.yaml b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_codesigningconfigs.yaml new file mode 100644 index 00000000000..b49d7ecc73e --- /dev/null +++ b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_codesigningconfigs.yaml @@ -0,0 +1,155 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + 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. + + + 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.4.0/manifests/lambda.services.k8s.aws_eventsourcemappings.yaml b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_eventsourcemappings.yaml new file mode 100644 index 00000000000..04553e71c27 --- /dev/null +++ b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_eventsourcemappings.yaml @@ -0,0 +1,437 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + 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). + + + * Amazon Kinesis – Default 100. Max 10,000. + + + * Amazon DynamoDB Streams – Default 100. Max 10,000. + + + * Amazon Simple Queue Service – Default 10. For standard queues the + max is 10,000. For FIFO queues the max is 10. + + + * Amazon Managed Streaming for Apache Kafka – Default 100. Max 10,000. + + + * Self-managed Apache Kafka – Default 100. Max 10,000. + + + * 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. + + + Default: True + type: boolean + eventSourceARN: + description: |- + The Amazon Resource Name (ARN) of the event source. + + + * Amazon Kinesis – The ARN of the data stream or a stream consumer. + + + * Amazon DynamoDB Streams – The ARN of the stream. + + + * Amazon Simple Queue Service – The ARN of the queue. + + + * Amazon Managed Streaming for Apache Kafka – The ARN of the cluster. + + + * Amazon MQ – The ARN of the broker. + type: string + eventSourceRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + type: object + type: object + 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. + + + Name formats + + + * Function name – MyFunction. + + + * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + + + * Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD. + + + * Partial ARN – 123456789012:function:MyFunction. + + + 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\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + type: object + type: object + 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. + + + 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. + + + 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\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + type: object + type: object + type: array + 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.4.0/manifests/lambda.services.k8s.aws_functions.yaml b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_functions.yaml new file mode 100644 index 00000000000..78c7f9a00d2 --- /dev/null +++ b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_functions.yaml @@ -0,0 +1,560 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + 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. + + + - DestinationConfig + A destination for events after they have been sent to a function for processing. + + + 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. + + + - MaximumEventAgeInSeconds + The maximum age of a request that Lambda sends to a function for processing. + + + - 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\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + type: object + type: object + 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. + + + Name formats + + + * Function name – my-function. + + + * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function. + + + * Partial ARN – 123456789012:function:my-function. + + + 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\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + type: object + type: object + 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\ntype to provide more user friendly + syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + type: object + type: object + type: array + subnetIDs: + items: + type: string + type: array + subnetRefs: + description: Reference field for SubnetIDs + items: + description: "AWSResourceReferenceWrapper provides a wrapper + around *AWSResourceReference\ntype to provide more user friendly + syntax for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + type: object + type: object + type: array + 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.4.0/manifests/lambda.services.k8s.aws_functionurlconfigs.yaml b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_functionurlconfigs.yaml new file mode 100644 index 00000000000..fb454334de1 --- /dev/null +++ b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_functionurlconfigs.yaml @@ -0,0 +1,211 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + 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. + + + 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. + + + Name formats + + + * Function name – my-function. + + + * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function. + + + * Partial ARN – 123456789012:function:my-function. + + + 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\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + type: object + type: object + 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.4.0/manifests/lambda.services.k8s.aws_layerversions.yaml b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_layerversions.yaml new file mode 100644 index 00000000000..1fce0b4e6f0 --- /dev/null +++ b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_layerversions.yaml @@ -0,0 +1,182 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + 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: + + + * An SPDX license identifier (https://spdx.org/licenses/). For example, + MIT. + + + * The URL of a license hosted on the internet. For example, https://opensource.org/licenses/MIT. + + + * 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.4.0/manifests/lambda.services.k8s.aws_versions.yaml b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_versions.yaml new file mode 100644 index 00000000000..b2e8e28ff32 --- /dev/null +++ b/operators/ack-lambda-controller/1.4.0/manifests/lambda.services.k8s.aws_versions.yaml @@ -0,0 +1,429 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + creationTimestamp: null + name: versions.lambda.services.k8s.aws +spec: + group: lambda.services.k8s.aws + names: + kind: Version + listKind: VersionList + plural: versions + singular: version + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Version is the Schema for the Versions 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: + codeSHA256: + description: |- + Only publish a version if the hash value matches the value that's specified. + Use this option to avoid publishing a version if the function code has changed + since you last updated it. You can get the hash for the version that you + uploaded from the output of UpdateFunctionCode. + type: string + description: + description: |- + A description for the version to override the description in the function + configuration. + type: string + functionEventInvokeConfig: + 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. + + + Name formats + + + * Function name - MyFunction. + + + * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction. + + + * Partial ARN - 123456789012:function:MyFunction. + + + 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\ntype to provide more user friendly syntax + for references using 'from' field\nEx:\nAPIIDRef:\n\n\n\tfrom:\n\t + \ name: my-api" + properties: + from: + description: |- + AWSResourceReference provides all the values necessary to reference another + k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + type: object + type: object + provisionedConcurrencyConfig: + properties: + functionName: + type: string + provisionedConcurrentExecutions: + format: int64 + type: integer + qualifier: + type: string + type: object + revisionID: + description: |- + Only update the function if the revision ID matches the ID that's specified. + Use this option to avoid publishing a version if the function configuration + has changed since you last updated it. + type: string + type: object + status: + description: VersionStatus defines the observed state of Version + 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 + architectures: + description: |- + The instruction set architecture that the function supports. Architecture + is a string array with one of the valid values. The default architecture + value is x86_64. + items: + type: string + type: array + 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 + deadLetterConfig: + description: The function's dead letter queue. + properties: + targetARN: + type: string + type: object + environment: + description: |- + The function's environment variables (https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html). + Omitted from CloudTrail logs. + properties: + error: + description: Error messages for environment variables that couldn't + be applied. + properties: + errorCode: + type: string + message: + type: string + type: object + 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 it 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 (https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html). + 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 + functionARN: + description: The function's Amazon Resource Name (ARN). + type: string + handler: + description: The function that Lambda calls to begin running your + function. + type: string + 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 + kmsKeyARN: + description: |- + The KMS key that's used to encrypt the function's environment variables. + This key is returned only if you've configured a customer managed key. + type: string + 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 + layers: + 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 + memorySize: + description: The amount of memory available to the function at runtime. + format: int64 + type: integer + packageType: + description: |- + The type of deployment package. Set to Image for container image and set + Zip for .zip file archive. + type: string + qualifier: + description: The version of the Lambda function. + type: string + role: + description: The function's execution role. + type: string + runtime: + description: The runtime environment for the Lambda function. + type: string + signingJobARN: + description: The ARN of the signing job. + type: string + signingProfileVersionARN: + description: The ARN of the signing profile version. + type: string + snapStart: + description: |- + Set ApplyOn to PublishedVersions to create a snapshot of the initialized + execution environment when you publish a function version. For more information, + see Improving startup performance with Lambda SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html). + properties: + applyOn: + type: string + optimizationStatus: + type: string + type: object + 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 + timeout: + description: |- + The amount of time in seconds that Lambda allows a function to run before + stopping it. + format: int64 + type: integer + tracingConfig: + description: The function's X-Ray tracing configuration. + properties: + mode: + type: string + type: object + version: + description: The version of the Lambda function. + type: string + vpcConfig: + description: The function's networking configuration. + properties: + securityGroupIDs: + items: + type: string + type: array + subnetIDs: + items: + type: string + type: array + vpcID: + type: string + 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-lambda-controller/1.4.0/metadata/annotations.yaml b/operators/ack-lambda-controller/1.4.0/metadata/annotations.yaml new file mode 100644 index 00000000000..f409f9e0fbf --- /dev/null +++ b/operators/ack-lambda-controller/1.4.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.4.0/tests/scorecard/config.yaml b/operators/ack-lambda-controller/1.4.0/tests/scorecard/config.yaml new file mode 100644 index 00000000000..382ddefd156 --- /dev/null +++ b/operators/ack-lambda-controller/1.4.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: {}