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

Put interface #17

Merged
merged 13 commits into from
Jun 8, 2021
Merged

Put interface #17

merged 13 commits into from
Jun 8, 2021

Conversation

jondot
Copy link
Contributor

@jondot jondot commented May 18, 2021

Implementation of write/put interface for providers based on this discussion: #15

Also added e2e testing as part of the implementation, docs, and more.

@voodooGQ
Copy link

voodooGQ commented May 28, 2021

Hey @jondot, I pulled this down locally to try it against our use case. Wondering if there is a way to command Teller to "sync" the values from one spot to another via put without providing a keypair? Example:

  • I have env vars X, Y, Z in Heroku
  • I set the source and sink parameters in the teller file:
project: teller-test
confirm: Are you sure you want to run on {{ stage }}?
opts:
  region: env:AWS_REGION
  stage: development
providers:
  heroku:
    env_sync:
      path: my-app
      source: heroku
    env:
      TELLER_TEST_SECRET:
        path: my-app
      TELLER_TEST_SECRET_2:
        path: my-app
  hashicorp_vault:
    env_sync:
      path: development/data/test/teller
      sink: heroku
  • I run teller put heroku hashicorp_vault --sync or perhaps teller sync heroku hashicorp_vault
  • Hashicorp Vault now populates X, Y, Z in the path.

I see in the documentation we have the concept of sync, but in practice can't seem to get it to take all the vars and put them in the other location. Perhaps I'm just doing some incorrectly? Any guidance would be appreciated. Thank you for such a great tool!

@jondot
Copy link
Contributor Author

jondot commented May 28, 2021

Hi Shane,
Sure, so this is where this PR is going, actually.
We've built all the pieces and the last one is the "sync" feature, which we will call with drift --fix.

Currently, drift is showing the gaps (the goal is to detect drift of values between providers) and drift --fix will align those according to the specification in the configuration file.

I am planning to set some free time from this weekend to implement the drift fixing feature (which essentially is synchronization of multiple providers)

@jondot jondot merged commit 1daf235 into master Jun 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants