cnabio/cnab-go

Improve support for storing host env externally

Closed this issue · 1 comments

One feature that I have been working on is being able to store a tool's entire host environment, e.g. claims, credential sets, externally instead of on the local host.

I'm going to submit a few PRs around this and wanted to have a single issue to help give context them, as they really all came from a single branch to support this that I split up once I had it all working. 😀

  • Improve crud.Store so it's easier to use the same instance for working with different types of data. As far as crud is concerned they are all []byte, though we do want to group them by type.
  • Filesystem is easy and doesn't require connecting or releasing resources but most other data stores need our structs to account for this.
  • Make CredentialStrategy generic so that we can lookup credential values from other locations than just the local host. For example, retrieving them from a key/value store like Hashicorp Vault.
  • Other smaller related changes.

I'll do my best to make each independent but they may end up stepping on each other since they do affect the same files.

All the tasks from this issue have been implemented.