sbstjn/cra-serverless

Adding ACM.DnsValidatedCertificate failes

nullsumme opened this issue · 1 comments

Thanks for the guide and the example project (and sorry for the stupid pull-request).

I have tried to extend your example by adding a DnsValidatedCertificate to the domain stack. After several days and a lot of headache I still can't get it to work. An I just don't know why.

Maybe this is more likely to be a question for stackoverflow, but since the base is your code, maybe you have an idea what could be wrong?

What I did:

  1. Added a custom role for the CDKBuild since I need access to 'route53:ListHostedZonesByName'
  2. Route53.HostedZone.fromLookup() <- I checked it with console.log(). It works.
  3. Added new ACM.DnsValidatedCertificate().

The build action works fine. But the deployment of the domain stack fails:

[AssetParameters0b9723d54b7db3-------782a949b4372d0f0ArtifactHashF8F836D1, AssetParameters0b9723d54b7db3fbf-----a949b4372d0f0S3VersionKey83D9C166, AssetParameters0b9723d54b7db3-----80782a949b4372d0f0S3Bucket0997A4A0] must have values (Service: AmazonCloudFormation; Status Code: 400; Error Code: ValidationError; Request ID: c5803b8c-73f8------91b6-b-----2f432)

If I try to deploy it from my local machine with:

yarn cdk deploy cra-serverless-domain -r arn:aws:iam::------:role/cra-serverless-pipeline-PipelineDeployDomainRole-----

It works. I have really no idea at all why it failing in was CodePipeline.

Changes I made:
https://github.com/nullsumme/cra-serverless/commit/5ca5fd4395131ef2aafb58c77d6445952fa1bde4

Not sure if this is related but the recently announced CDK Pipelines construct library doesn't (yet?) support context queries:

No context queries – Context queries are not supported. That means that Vpc.fromLookup() and other functions like it don’t work.