diff --git a/operators/ack-route53-controller/0.0.9/bundle.Dockerfile b/operators/ack-route53-controller/0.0.9/bundle.Dockerfile new file mode 100644 index 00000000000..326a9a49c61 --- /dev/null +++ b/operators/ack-route53-controller/0.0.9/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-route53-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-route53-controller/0.0.9/manifests/ack-route53-controller.clusterserviceversion.yaml b/operators/ack-route53-controller/0.0.9/manifests/ack-route53-controller.clusterserviceversion.yaml new file mode 100644 index 00000000000..39654f50969 --- /dev/null +++ b/operators/ack-route53-controller/0.0.9/manifests/ack-route53-controller.clusterserviceversion.yaml @@ -0,0 +1,279 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: '[]' + capabilities: Basic Install + categories: Cloud Provider + certified: "false" + containerImage: public.ecr.aws/aws-controllers-k8s/route53-controller:0.0.9 + createdAt: "2023-12-14T23:31:35Z" + description: AWS Route53 controller is a service controller for managing Route53 + resources in Kubernetes + operatorframework.io/suggested-namespace: ack-system + operators.operatorframework.io/builder: operator-sdk-v1.28.0 + operators.operatorframework.io/project_layout: unknown + repository: https://github.com/aws-controllers-k8s + support: Community + name: ack-route53-controller.v0.0.9 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: HostedZone represents the state of an AWS route53 HostedZone resource. + displayName: HostedZone + kind: HostedZone + name: hostedzones.route53.services.k8s.aws + version: v1alpha1 + - description: RecordSet represents the state of an AWS route53 RecordSet resource. + displayName: RecordSet + kind: RecordSet + name: recordsets.route53.services.k8s.aws + version: v1alpha1 + description: |- + Manage Route53 resources in AWS from within your Kubernetes cluster. + + **About Amazon Route53** + + Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service. You can use Route 53 to perform three main functions in any combination: domain registration, DNS routing, and health checking. + + **About the AWS Controllers for Kubernetes** + + This controller is a component of the [AWS Controller for Kubernetes](https://github.com/aws/aws-controllers-k8s) project. This project is currently in **developer preview**. + + **Pre-Installation Steps** + + Please follow the following link: [Red Hat OpenShift](https://aws-controllers-k8s.github.io/community/docs/user-docs/openshift/) + displayName: AWS Controllers for Kubernetes - Amazon Route53 + 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: + - route53.services.k8s.aws + resources: + - hostedzones + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - route53.services.k8s.aws + resources: + - hostedzones/status + verbs: + - get + - patch + - update + - apiGroups: + - route53.services.k8s.aws + resources: + - recordsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - route53.services.k8s.aws + resources: + - recordsets/status + verbs: + - get + - patch + - update + - apiGroups: + - services.k8s.aws + resources: + - adoptedresources + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - services.k8s.aws + resources: + - adoptedresources/status + verbs: + - get + - patch + - update + - apiGroups: + - services.k8s.aws + resources: + - fieldexports + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - services.k8s.aws + resources: + - fieldexports/status + verbs: + - get + - patch + - update + serviceAccountName: ack-route53-controller + deployments: + - label: + app.kubernetes.io/name: ack-route53-controller + app.kubernetes.io/part-of: ack-system + name: ack-route53-controller + spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: ack-route53-controller + strategy: {} + template: + metadata: + labels: + app.kubernetes.io/name: ack-route53-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-route53-user-config + optional: false + - secretRef: + name: ack-route53-user-secrets + optional: true + image: public.ecr.aws/aws-controllers-k8s/route53-controller:0.0.9 + 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-route53-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-route53-controller + strategy: deployment + installModes: + - supported: true + type: AllNamespaces + keywords: + - route53 + - 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 Route53 Developer Resources + url: https://docs.aws.amazon.com/route53/index.html + maintainers: + - email: ack-maintainers@amazon.com + name: eks maintainer team + maturity: alpha + provider: + name: Amazon, Inc. + url: https://aws.amazon.com + version: 0.0.9 diff --git a/operators/ack-route53-controller/0.0.9/manifests/ack-route53-metrics-service_v1_service.yaml b/operators/ack-route53-controller/0.0.9/manifests/ack-route53-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..c15791a3e36 --- /dev/null +++ b/operators/ack-route53-controller/0.0.9/manifests/ack-route53-metrics-service_v1_service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + name: ack-route53-metrics-service +spec: + ports: + - name: metricsport + port: 8080 + protocol: TCP + targetPort: http + selector: + app.kubernetes.io/name: ack-route53-controller + type: NodePort +status: + loadBalancer: {} diff --git a/operators/ack-route53-controller/0.0.9/manifests/ack-route53-reader_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-route53-controller/0.0.9/manifests/ack-route53-reader_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..0833c0d10b0 --- /dev/null +++ b/operators/ack-route53-controller/0.0.9/manifests/ack-route53-reader_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,15 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-route53-reader +rules: +- apiGroups: + - route53.services.k8s.aws + resources: + - hostedzones + - recordsets + verbs: + - get + - list + - watch diff --git a/operators/ack-route53-controller/0.0.9/manifests/ack-route53-writer_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-route53-controller/0.0.9/manifests/ack-route53-writer_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..09d7d543128 --- /dev/null +++ b/operators/ack-route53-controller/0.0.9/manifests/ack-route53-writer_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,28 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-route53-writer +rules: +- apiGroups: + - route53.services.k8s.aws + resources: + - hostedzones + - recordsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - route53.services.k8s.aws + resources: + - hostedzones + - recordsets + verbs: + - get + - patch + - update diff --git a/operators/ack-route53-controller/0.0.9/manifests/route53.services.k8s.aws_hostedzones.yaml b/operators/ack-route53-controller/0.0.9/manifests/route53.services.k8s.aws_hostedzones.yaml new file mode 100644 index 00000000000..472f2a8303b --- /dev/null +++ b/operators/ack-route53-controller/0.0.9/manifests/route53.services.k8s.aws_hostedzones.yaml @@ -0,0 +1,217 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: hostedzones.route53.services.k8s.aws +spec: + group: route53.services.k8s.aws + names: + kind: HostedZone + listKind: HostedZoneList + plural: hostedzones + singular: hostedzone + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: HostedZone is the Schema for the HostedZones 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: "HostedZoneSpec defines the desired state of HostedZone. + \n A complex type that contains general information about the hosted + zone." + properties: + delegationSetID: + description: "If you want to associate a reusable delegation set with + this hosted zone, the ID that Amazon Route 53 assigned to the reusable + delegation set when you created it. For more information about reusable + delegation sets, see CreateReusableDelegationSet (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html). + \n If you are using a reusable delegation set to create a public + hosted zone for a subdomain, make sure that the parent hosted zone + doesn't use one or more of the same name servers. If you have overlapping + nameservers, the operation will cause a ConflictingDomainsExist + error." + type: string + hostedZoneConfig: + description: "(Optional) A complex type that contains the following + optional values: \n * For public and private hosted zones, an optional + comment \n * For private hosted zones, an optional PrivateZone element + \n If you don't specify a comment or the PrivateZone element, omit + HostedZoneConfig and the other elements." + properties: + comment: + type: string + privateZone: + type: boolean + type: object + name: + description: "The name of the domain. Specify a fully qualified domain + name, for example, www.example.com. The trailing dot is optional; + Amazon Route 53 assumes that the domain name is fully qualified. + This means that Route 53 treats www.example.com (without a trailing + dot) and www.example.com. (with a trailing dot) as identical. \n + If you're creating a public hosted zone, this is the name you have + registered with your DNS registrar. If your domain name is registered + with a registrar other than Route 53, change the name servers for + your domain to the set of NameServers that CreateHostedZone returns + in DelegationSet." + type: string + tags: + description: "A complex type that contains a list of the tags that + you want to add to the specified health check or hosted zone and/or + the tags that you want to edit Value for. \n You can add a maximum + of 10 tags to a health check or a hosted zone." + items: + description: A complex type that contains information about a tag + that you want to add or edit for the specified health check or + hosted zone. + properties: + key: + type: string + value: + type: string + type: object + type: array + vpc: + description: "(Private hosted zones only) A complex type that contains + information about the Amazon VPC that you're associating with this + hosted zone. \n You can specify only one Amazon VPC when you create + a private hosted zone. If you are associating a VPC with a hosted + zone with this request, the paramaters VPCId and VPCRegion are also + required. \n To associate additional Amazon VPCs with the hosted + zone, use AssociateVPCWithHostedZone (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html) + after you create a hosted zone." + properties: + vpcID: + description: (Private hosted zones only) The ID of an Amazon VPC. + type: string + vpcRegion: + type: string + type: object + required: + - name + type: object + status: + description: HostedZoneStatus defines the observed state of HostedZone + 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 + callerReference: + description: The value that you specified for CallerReference when + you created the hosted zone. + 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 + config: + description: A complex type that includes the Comment and PrivateZone + elements. If you omitted the HostedZoneConfig and Comment elements + from the request, the Config and Comment elements don't appear in + the response. + properties: + comment: + type: string + privateZone: + type: boolean + type: object + id: + description: The ID that Amazon Route 53 assigned to the hosted zone + when you created it. + type: string + linkedService: + description: If the hosted zone was created by another service, the + service that created the hosted zone. When a hosted zone is created + by another service, you can't edit or delete it using Route 53. + properties: + description: + type: string + servicePrincipal: + type: string + type: object + resourceRecordSetCount: + description: The number of resource record sets in the hosted zone. + 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-route53-controller/0.0.9/manifests/route53.services.k8s.aws_recordsets.yaml b/operators/ack-route53-controller/0.0.9/manifests/route53.services.k8s.aws_recordsets.yaml new file mode 100644 index 00000000000..8f822c0e477 --- /dev/null +++ b/operators/ack-route53-controller/0.0.9/manifests/route53.services.k8s.aws_recordsets.yaml @@ -0,0 +1,602 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.2 + creationTimestamp: null + name: recordsets.route53.services.k8s.aws +spec: + group: route53.services.k8s.aws + names: + kind: RecordSet + listKind: RecordSetList + plural: recordsets + singular: recordset + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.status + name: STATUS + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: RecordSet is the Schema for the RecordSets 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: RecordSetSpec defines the desired state of RecordSet. + properties: + aliasTarget: + description: "Alias resource record sets only: Information about the + Amazon Web Services resource, such as a CloudFront distribution + or an Amazon S3 bucket, that you want to route traffic to. \n If + you're creating resource records sets for a private hosted zone, + note the following: \n * You can't create an alias resource record + set in a private hosted zone to route traffic to a CloudFront distribution. + \n * For information about creating failover resource record sets + in a private hosted zone, see Configuring Failover in a Private + Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) + in the Amazon Route 53 Developer Guide." + properties: + dnsName: + type: string + evaluateTargetHealth: + type: boolean + hostedZoneID: + type: string + type: object + changeBatch: + description: A complex type that contains an optional comment and + the Changes element. + properties: + changes: + items: + description: The information for each resource record set that + you want to change. + properties: + action: + type: string + resourceRecordSet: + description: Information about the resource record set to + create or delete. + properties: + aliasTarget: + description: "Alias resource record sets only: Information + about the Amazon Web Services resource, such as a + CloudFront distribution or an Amazon S3 bucket, that + you want to route traffic to. \n When creating resource + record sets for a private hosted zone, note the following: + \n * For information about creating failover resource + record sets in a private hosted zone, see Configuring + Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)." + properties: + dnsName: + type: string + evaluateTargetHealth: + type: boolean + hostedZoneID: + type: string + type: object + cidrRoutingConfig: + description: "The object that is specified in resource + record set object when you are linking a resource + record set to a CIDR location. \n A LocationName with + an asterisk “*” can be used to create a default CIDR + record. CollectionId is still required for default + record." + properties: + collectionID: + type: string + locationName: + type: string + type: object + failover: + type: string + geoLocation: + description: A complex type that contains information + about a geographic location. + properties: + continentCode: + type: string + countryCode: + type: string + subdivisionCode: + type: string + type: object + healthCheckID: + type: string + multiValueAnswer: + type: boolean + name: + type: string + region: + type: string + resourceRecords: + items: + description: "Information specific to the resource + record. \n If you're creating an alias resource + record set, omit ResourceRecord." + properties: + value: + type: string + type: object + type: array + setIdentifier: + type: string + trafficPolicyInstanceID: + type: string + ttl: + format: int64 + type: integer + type_: + type: string + weight: + format: int64 + type: integer + type: object + type: object + type: array + comment: + type: string + type: object + cidrRoutingConfig: + description: "The object that is specified in resource record set + object when you are linking a resource record set to a CIDR location. + \n A LocationName with an asterisk “*” can be used to create a default + CIDR record. CollectionId is still required for default record." + properties: + collectionID: + type: string + locationName: + type: string + type: object + failover: + description: "Failover resource record sets only: To configure failover, + you add the Failover element to two resource record sets. For one + resource record set, you specify PRIMARY as the value for Failover; + for the other resource record set, you specify SECONDARY. In addition, + you include the HealthCheckId element and specify the health check + that you want Amazon Route 53 to perform for each resource record + set. \n Except where noted, the following failover behaviors assume + that you have included the HealthCheckId element in both resource + record sets: \n * When the primary resource record set is healthy, + Route 53 responds to DNS queries with the applicable value from + the primary resource record set regardless of the health of the + secondary resource record set. \n * When the primary resource record + set is unhealthy and the secondary resource record set is healthy, + Route 53 responds to DNS queries with the applicable value from + the secondary resource record set. \n * When the secondary resource + record set is unhealthy, Route 53 responds to DNS queries with the + applicable value from the primary resource record set regardless + of the health of the primary resource record set. \n * If you omit + the HealthCheckId element for the secondary resource record set, + and if the primary resource record set is unhealthy, Route 53 always + responds to DNS queries with the applicable value from the secondary + resource record set. This is true regardless of the health of the + associated endpoint. \n You can't create non-failover resource record + sets that have the same values for the Name and Type elements as + failover resource record sets. \n For failover alias resource record + sets, you must also include the EvaluateTargetHealth element and + set the value to true. \n For more information about configuring + failover for Route 53, see the following topics in the Amazon Route + 53 Developer Guide: \n * Route 53 Health Checks and DNS Failover + (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) + \n * Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)" + type: string + geoLocation: + description: "Geolocation resource record sets only: A complex type + that lets you control how Amazon Route 53 responds to DNS queries + based on the geographic origin of the query. For example, if you + want all queries from Africa to be routed to a web server with an + IP address of 192.0.2.111, create a resource record set with a Type + of A and a ContinentCode of AF. \n Although creating geolocation + and geolocation alias resource record sets in a private hosted zone + is allowed, it's not supported. \n If you create separate resource + record sets for overlapping geographic regions (for example, one + resource record set for a continent and one for a country on the + same continent), priority goes to the smallest geographic region. + This allows you to route most queries for a continent to one resource + and to route queries for a country on that continent to a different + resource. \n You can't create two geolocation resource record sets + that specify the same geographic location. \n The value * in the + CountryCode element matches all geographic locations that aren't + specified in other geolocation resource record sets that have the + same values for the Name and Type elements. \n Geolocation works + by mapping IP addresses to locations. However, some IP addresses + aren't mapped to geographic locations, so even if you create geolocation + resource record sets that cover all seven continents, Route 53 will + receive some DNS queries from locations that it can't identify. + We recommend that you create a resource record set for which the + value of CountryCode is *. Two groups of queries are routed to the + resource that you specify in this record: queries that come from + locations for which you haven't created geolocation resource record + sets and queries from IP addresses that aren't mapped to a location. + If you don't create a * resource record set, Route 53 returns a + \"no answer\" response for queries from those locations. \n You + can't create non-geolocation resource record sets that have the + same values for the Name and Type elements as geolocation resource + record sets." + properties: + continentCode: + type: string + countryCode: + type: string + subdivisionCode: + type: string + type: object + healthCheckID: + description: "If you want Amazon Route 53 to return this resource + record set in response to a DNS query only when the status of a + health check is healthy, include the HealthCheckId element and specify + the ID of the applicable health check. \n Route 53 determines whether + a resource record set is healthy based on one of the following: + \n * By periodically sending a request to the endpoint that is specified + in the health check \n * By aggregating the status of a specified + group of health checks (calculated health checks) \n * By determining + the current state of a CloudWatch alarm (CloudWatch metric health + checks) \n Route 53 doesn't check the health of the endpoint that + is specified in the resource record set, for example, the endpoint + specified by the IP address in the Value element. When you add a + HealthCheckId element to a resource record set, Route 53 checks + the health of the endpoint that you specified in the health check. + \n For more information, see the following topics in the Amazon + Route 53 Developer Guide: \n * How Amazon Route 53 Determines Whether + an Endpoint Is Healthy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) + \n * Route 53 Health Checks and DNS Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) + \n * Configuring Failover in a Private Hosted Zone (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) + \n When to Specify HealthCheckId \n Specifying a value for HealthCheckId + is useful only when Route 53 is choosing between two or more resource + record sets to respond to a DNS query, and you want Route 53 to + base the choice in part on the status of a health check. Configuring + health checks makes sense only in the following configurations: + \n * Non-alias resource record sets: You're checking the health + of a group of non-alias resource record sets that have the same + routing policy, name, and type (such as multiple weighted records + named www.example.com with a type of A) and you specify health check + IDs for all the resource record sets. If the health check status + for a resource record set is healthy, Route 53 includes the record + among the records that it responds to DNS queries with. If the health + check status for a resource record set is unhealthy, Route 53 stops + responding to DNS queries using the value for that resource record + set. If the health check status for all resource record sets in + the group is unhealthy, Route 53 considers all resource record sets + in the group healthy and responds to DNS queries accordingly. \n + * Alias resource record sets: You specify the following settings: + You set EvaluateTargetHealth to true for an alias resource record + set in a group of resource record sets that have the same routing + policy, name, and type (such as multiple weighted records named + www.example.com with a type of A). You configure the alias resource + record set to route traffic to a non-alias resource record set in + the same hosted zone. You specify a health check ID for the non-alias + resource record set. If the health check status is healthy, Route + 53 considers the alias resource record set to be healthy and includes + the alias record among the records that it responds to DNS queries + with. If the health check status is unhealthy, Route 53 stops responding + to DNS queries using the alias resource record set. The alias resource + record set can also route traffic to a group of non-alias resource + record sets that have the same routing policy, name, and type. In + that configuration, associate health checks with all of the resource + record sets in the group of non-alias resource record sets. \n Geolocation + Routing \n For geolocation resource record sets, if an endpoint + is unhealthy, Route 53 looks for a resource record set for the larger, + associated geographic region. For example, suppose you have resource + record sets for a state in the United States, for the entire United + States, for North America, and a resource record set that has * + for CountryCode is *, which applies to all locations. If the endpoint + for the state resource record set is unhealthy, Route 53 checks + for healthy resource record sets in the following order until it + finds a resource record set for which the endpoint is healthy: \n + * The United States \n * North America \n * The default resource + record set \n Specifying the Health Check Endpoint by Domain Name + \n If your health checks specify the endpoint only by domain name, + we recommend that you create a separate health check for each endpoint. + For example, create a health check for each HTTP server that is + serving content for www.example.com. For the value of FullyQualifiedDomainName, + specify the domain name of the server (such as us-east-2-www.example.com), + not the name of the resource record sets (www.example.com). \n Health + check results will be unpredictable if you do the following: \n + * Create a health check that has the same value for FullyQualifiedDomainName + as the name of a resource record set. \n * Associate that health + check with the resource record set." + type: string + hostedZoneID: + description: The ID of the hosted zone that contains the resource + record sets that you want to change. + type: string + hostedZoneRef: + description: "AWSResourceReferenceWrapper provides a wrapper around + *AWSResourceReference type to provide more user friendly syntax + for references using 'from' field Ex: APIIDRef: \n from: name: my-api" + properties: + from: + description: AWSResourceReference provides all the values necessary + to reference another k8s resource for finding the identifier(Id/ARN/Name) + properties: + name: + type: string + type: object + type: object + multiValueAnswer: + description: "Multivalue answer resource record sets only: To route + traffic approximately randomly to multiple resources, such as web + servers, create one multivalue answer record for each resource and + specify true for MultiValueAnswer. Note the following: \n * If you + associate a health check with a multivalue answer resource record + set, Amazon Route 53 responds to DNS queries with the corresponding + IP address only when the health check is healthy. \n * If you don't + associate a health check with a multivalue answer record, Route + 53 always considers the record to be healthy. \n * Route 53 responds + to DNS queries with up to eight healthy records; if you have eight + or fewer healthy records, Route 53 responds to all DNS queries with + all the healthy records. \n * If you have more than eight healthy + records, Route 53 responds to different DNS resolvers with different + combinations of healthy records. \n * When all records are unhealthy, + Route 53 responds to DNS queries with up to eight unhealthy records. + \n * If a resource becomes unavailable after a resolver caches a + response, client software typically tries another of the IP addresses + in the response. \n You can't create multivalue answer alias records." + type: boolean + name: + description: "For ChangeResourceRecordSets requests, the name of the + record that you want to create, update, or delete. For ListResourceRecordSets + responses, the name of a record in the specified hosted zone. \n + ChangeResourceRecordSets Only \n Enter a fully qualified domain + name, for example, www.example.com. You can optionally include a + trailing dot. If you omit the trailing dot, Amazon Route 53 assumes + that the domain name that you specify is fully qualified. This means + that Route 53 treats www.example.com (without a trailing dot) and + www.example.com. (with a trailing dot) as identical. \n For information + about how to specify characters other than a-z, 0-9, and - (hyphen) + and how to specify internationalized domain names, see DNS Domain + Name Format (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) + in the Amazon Route 53 Developer Guide. \n You can use the asterisk + (*) wildcard to replace the leftmost label in a domain name, for + example, *.example.com. Note the following: \n * The * must replace + the entire label. For example, you can't specify *prod.example.com + or prod*.example.com. \n * The * can't replace any of the middle + labels, for example, marketing.*.example.com. \n * If you include + * in any position other than the leftmost label in a domain name, + DNS treats it as an * character (ASCII 42), not as a wildcard. You + can't use the * wildcard for resource records sets that have a type + of NS. \n You can use the * wildcard as the leftmost label in a + domain name, for example, *.example.com. You can't use an * for + one of the middle labels, for example, marketing.*.example.com. + In addition, the * must replace the entire label; for example, you + can't specify prod*.example.com." + type: string + recordType: + description: "The DNS record type. For information about different + record types and how data is encoded for them, see Supported DNS + Resource Record Types (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) + in the Amazon Route 53 Developer Guide. \n Valid values for basic + resource record sets: A | AAAA | CAA | CNAME | DS |MX | NAPTR | + NS | PTR | SOA | SPF | SRV | TXT \n Values for weighted, latency, + geolocation, and failover resource record sets: A | AAAA | CAA | + CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group + of weighted, latency, geolocation, or failover resource record sets, + specify the same value for all of the resource record sets in the + group. \n Valid values for multivalue answer resource record sets: + A | AAAA | MX | NAPTR | PTR | SPF | SRV | TXT \n SPF records were + formerly used to verify the identity of the sender of email messages. + However, we no longer recommend that you create resource record + sets for which the value of Type is SPF. RFC 7208, Sender Policy + Framework (SPF) for Authorizing Use of Domains in Email, Version + 1, has been updated to say, \"...[I]ts existence and mechanism defined + in [RFC4408] have led to some interoperability issues. Accordingly, + its use is no longer appropriate for SPF version 1; implementations + are not to use it.\" In RFC 7208, see section 14.1, The SPF DNS + Record Type (http://tools.ietf.org/html/rfc7208#section-14.1). \n + Values for alias resource record sets: \n * Amazon API Gateway custom + regional APIs and edge-optimized APIs: A \n * CloudFront distributions: + A If IPv6 is enabled for the distribution, create two resource record + sets to route traffic to your distribution, one with a value of + A and one with a value of AAAA. \n * Amazon API Gateway environment + that has a regionalized subdomain: A \n * ELB load balancers: A + | AAAA \n * Amazon S3 buckets: A \n * Amazon Virtual Private Cloud + interface VPC endpoints A \n * Another resource record set in this + hosted zone: Specify the type of the resource record set that you're + creating the alias for. All values are supported except NS and SOA. + If you're creating an alias record that has the same name as the + hosted zone (known as the zone apex), you can't route traffic to + a record for which the value of Type is CNAME. This is because the + alias record must have the same type as the record you're routing + traffic to, and creating a CNAME record for the zone apex isn't + supported even for an alias record." + type: string + region: + description: "Latency-based resource record sets only: The Amazon + EC2 Region where you created the resource that this resource record + set refers to. The resource typically is an Amazon Web Services + resource, such as an EC2 instance or an ELB load balancer, and is + referred to by an IP address or a DNS domain name, depending on + the record type. \n When Amazon Route 53 receives a DNS query for + a domain name and type for which you have created latency resource + record sets, Route 53 selects the latency resource record set that + has the lowest latency between the end user and the associated Amazon + EC2 Region. Route 53 then returns the value that is associated with + the selected resource record set. \n Note the following: \n * You + can only specify one ResourceRecord per latency resource record + set. \n * You can only create one latency resource record set for + each Amazon EC2 Region. \n * You aren't required to create latency + resource record sets for all Amazon EC2 Regions. Route 53 will choose + the region with the best latency from among the regions that you + create latency resource record sets for. \n * You can't create non-latency + resource record sets that have the same values for the Name and + Type elements as latency resource record sets." + type: string + resourceRecords: + description: "Information about the resource records to act upon. + \n If you're creating an alias resource record set, omit ResourceRecords." + items: + description: "Information specific to the resource record. \n If + you're creating an alias resource record set, omit ResourceRecord." + properties: + value: + type: string + type: object + type: array + setIdentifier: + description: "Resource record sets that have a routing policy other + than simple: An identifier that differentiates among multiple resource + record sets that have the same combination of name and type, such + as multiple weighted resource record sets named acme.example.com + that have a type of A. In a group of resource record sets that have + the same name and type, the value of SetIdentifier must be unique + for each resource record set. \n For information about routing policies, + see Choosing a Routing Policy (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) + in the Amazon Route 53 Developer Guide." + type: string + ttl: + description: "The resource record cache time to live (TTL), in seconds. + Note the following: \n * If you're creating or updating an alias + resource record set, omit TTL. Amazon Route 53 uses the value of + TTL for the alias target. \n * If you're associating this resource + record set with a health check (if you're adding a HealthCheckId + element), we recommend that you specify a TTL of 60 seconds or less + so clients respond quickly to changes in health status. \n * All + of the resource record sets in a group of weighted resource record + sets must have the same value for TTL. \n * If a group of weighted + resource record sets includes one or more weighted alias resource + record sets for which the alias target is an ELB load balancer, + we recommend that you specify a TTL of 60 seconds for all of the + non-alias weighted resource record sets that have the same name + and type. Values other than 60 seconds (the TTL for load balancers) + will change the effect of the values that you specify for Weight." + format: int64 + type: integer + weight: + description: "Weighted resource record sets only: Among resource record + sets that have the same combination of DNS name and type, a value + that determines the proportion of DNS queries that Amazon Route + 53 responds to using the current resource record set. Route 53 calculates + the sum of the weights for the resource record sets that have the + same combination of DNS name and type. Route 53 then responds to + queries based on the ratio of a resource's weight to the total. + Note the following: \n * You must specify a value for the Weight + element for every weighted resource record set. \n * You can only + specify one ResourceRecord per weighted resource record set. \n + * You can't create latency, failover, or geolocation resource record + sets that have the same values for the Name and Type elements as + weighted resource record sets. \n * You can create a maximum of + 100 weighted resource record sets that have the same values for + the Name and Type elements. \n * For weighted (but not weighted + alias) resource record sets, if you set Weight to 0 for a resource + record set, Route 53 never responds to queries with the applicable + value for that resource record set. However, if you set Weight to + 0 for all resource record sets that have the same combination of + DNS name and type, traffic is routed to all resources with equal + probability. The effect of setting Weight to 0 is different when + you associate health checks with weighted resource record sets. + For more information, see Options for Configuring Route 53 Active-Active + and Active-Passive Failover (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) + in the Amazon Route 53 Developer Guide." + format: int64 + type: integer + required: + - recordType + type: object + status: + description: RecordSetStatus defines the observed state of RecordSet + 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 + id: + description: This element contains an ID that you use when performing + a GetChange (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html) + action to get detailed information about the change. + type: string + status: + description: The current state of the request. PENDING indicates that + this request has not yet been applied to all Amazon Route 53 DNS + servers. + type: string + submittedAt: + description: The date and time that the change request was submitted + in ISO 8601 format (https://en.wikipedia.org/wiki/ISO_8601) and + Coordinated Universal Time (UTC). For example, the value 2017-03-27T17:48:16.751Z + represents March 27, 2017 at 17:48:16.751 UTC. + format: date-time + 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-route53-controller/0.0.9/metadata/annotations.yaml b/operators/ack-route53-controller/0.0.9/metadata/annotations.yaml new file mode 100644 index 00000000000..519715b4579 --- /dev/null +++ b/operators/ack-route53-controller/0.0.9/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-route53-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-route53-controller/0.0.9/tests/scorecard/config.yaml b/operators/ack-route53-controller/0.0.9/tests/scorecard/config.yaml new file mode 100644 index 00000000000..382ddefd156 --- /dev/null +++ b/operators/ack-route53-controller/0.0.9/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: {}