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

Use a more reliable flow for using secrets in CI #3732

Closed
sherifnada opened this issue May 28, 2021 · 2 comments · Fixed by #7528
Closed

Use a more reliable flow for using secrets in CI #3732

sherifnada opened this issue May 28, 2021 · 2 comments · Fixed by #7528
Assignees
Labels
priority/high High priority type/enhancement New feature or request

Comments

@sherifnada
Copy link
Contributor

sherifnada commented May 28, 2021

Tell us about the problem you're trying to solve

  • Github has a max of 200/300 secrets per repo (effectively it is 200 because accessing 300 requires making anyone who edits secrets an admin of the entire Airbyte github org which is not feasible for security reasons unfortunately)
  • We are quickly closing in on our max allowed GH secret limit, probably at ~150 now
  • GH secrets are write-only so if there is an issue I can't find out what data is in the secret

Describe the solution you’d like

The output of this ticket should be split into two parts:

  1. A document which evaluates some secret management solutions/options with a recommendation on which one is the best one. This does not need to be incredibly comprehensive, no need to spend more than 1-2 days on it.
  2. Implementing the solution into our CI, so secrets are injected from the secret management solution instead of from the (you will probably need to split this into a few tickets as well)

When evaluating solutions, the following dimensions should be considered:

  1. Ease of integrating into Github CI
  2. Ease of updating for the developer. It is most important that we can update secrets (for example for new connectors) and see which secrets are being used in CI for debugging.
  3. Pricing
  4. Max allowed size of secrets (some secret managers have a max allowed size limit on secrets which may prevent us from using big config.json files in CI)
  5. Any other dimension you think is important, I probably haven't thought of everything :)

Some ideas:

  1. Integrate with an external secret store like Hashicorp Vault. Hashicorp Vault offers a Github integration which can be used to load data from HCV directly into a GH workflow. This would eliminate the issues above.
  2. Check-in encrypted secrets into the repo like described here.
  3. Google Secrets Manager

Describe the alternative you’ve considered or used

stop creating new connectors
retire

Additional context

Pricing chart for HCV

Screen Shot 2021-05-28 at 4 49 38 PM

┆Issue is synchronized with this Asana task by Unito

@sherifnada sherifnada added the type/enhancement New feature or request label May 28, 2021
@sherifnada sherifnada changed the title Integrate with Hashicorp Vault for CI secrets instead of Lastpass Use a more reliable flow for using secrets in CI May 28, 2021
@sherifnada
Copy link
Contributor Author

This just got bumped into high priority because we reached the max secrets limit on github

@sherifnada sherifnada added the priority/high High priority label Jul 26, 2021
@sherifnada sherifnada added this to the Core 2021-08-04 milestone Jul 27, 2021
@sherifnada sherifnada added priority/medium Medium priority and removed priority/high High priority labels Aug 4, 2021
@Phlair
Copy link
Contributor

Phlair commented Aug 4, 2021

short-term solution here: #5085

@cgardens cgardens removed this from the Core 2021-08-11 milestone Aug 4, 2021
@sherifnada sherifnada added priority/high High priority and removed priority/medium Medium priority labels Oct 6, 2021
@sherifnada sherifnada self-assigned this Oct 20, 2021
@sherifnada sherifnada removed their assignment Oct 27, 2021
@sherifnada sherifnada removed this from the ConnCore, October 27th 2021 milestone Oct 27, 2021
@antixar antixar linked a pull request Nov 1, 2021 that will close this issue
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority/high High priority type/enhancement New feature or request
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants