-
Notifications
You must be signed in to change notification settings - Fork 2
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
Evaluate GitHub Actions for container image publishing and Terraform exeuction #76
Comments
@hectcastro I took a pretty deep dive into this. Setting up container builds and publishing is simple enough. Terraform is a lot more complicated. Unfortunately there's no easy, fire-and-forget solution. It's possible, but all of the potential approaches involve some changes to how we handle deployment, either at the scripting or infrastructural level. Here are the options I've considered, grouped by rough categories: Repository / Actions SettingsMake build logs privateWe evaluated this approach in azavea/operations#425 in the context of CircleCI. This is not an option for Actions at this time. We can't make only the build logs private while keeping the repository public. As such, this isn't useful as a general approach and I recommend against it. Terraform SettingsIndicate all sensitive valuesWe evlauated this approach in azavea/operations#425. There have not been significant developments in this area since. At this time, this has to happen at the provider level and is not always consistent. There is an open issue to give consumers a way to indicate that variables are sensitive, but that feature is not going to be available within a definite timeframe. We should revisit this later on. Masking ValuesMask values in output with
|
I also briefly looked into Terraform Cloud in case it offered any features that would help, but since it largely functions as a remote backend I think we're going to run into the same problems. |
Nice write-up. The in-context pros/cons and follow-up recommendation made absorbing all of the context relatively lightweight. Some quick comments on the various solutions:
In this case, it seems like leaning on Jenkins (probably the RF instance) would be the easiest approach with the least compromise. While CodeBuild would provide private CI too, I don't think it is worth engaging with its distinct quirks (relative to Jenkins). Are you OK with that outcome? |
Thank you, glad to hear it! Yeah, using Jenkins sounds like a good outcome to me. I'd rather hold out for upstream changes to make this possible without such significant compromises. Good to close this one out? |
👍 |
Please also open a new issue so that we can actually wire up Jenkins next sprint. |
Can we safely use GitHub Actions to build container images, publish them to ECR, and run Terraform from within GitHub Actions?
The text was updated successfully, but these errors were encountered: