Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explore testing strategies #22

Open
paulsilcock opened this issue Nov 15, 2022 · 0 comments
Open

Explore testing strategies #22

paulsilcock opened this issue Nov 15, 2022 · 0 comments
Labels
refine Issue requires further elaboration

Comments

@paulsilcock
Copy link
Owner

Currently code is linted and validated to check for basic errors, and we output the terraform plan on pull requests.

It would be nice to verify policies - e.g. check that only secret-manager google service account can access secrets.

Creating ephemeral environments for pull requests would give further assurances that the generated terraform plan will apply and behave correctly (terratest looks useful here). One approach is to create GCP projects on-the-fly, although this requires a Google Workspace account if we want to do this programmatically from terraform (which costs money!) We could use raw gcloud commands to do this instead. Alternatively we could create/destroy clusters inside the current project, but there is a potentially troublesome lack of isolation here.

Testing ingress/static IP addressing could also prove tricky, although it looks like Google Domains can be imported into GCP. In tandem with Cloud DNS, we could create DNS records for pull request environments, e.g. *.pr5.pauljs.io.

@paulsilcock paulsilcock added the refine Issue requires further elaboration label Nov 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refine Issue requires further elaboration
Projects
None yet
Development

No branches or pull requests

1 participant