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

Implement real storage backend #13

Closed
calvinmclean opened this issue Sep 27, 2022 · 1 comment · Fixed by #104
Closed

Implement real storage backend #13

calvinmclean opened this issue Sep 27, 2022 · 1 comment · Fixed by #104
Labels
enhancement New feature or request server Related to the Go garden-app code

Comments

@calvinmclean
Copy link
Owner

calvinmclean commented Sep 27, 2022

Implement another storage.Client that uses actual database backend, whether it is SQL or NoSQL.

I recently found madflojo/hord and added support for local file storage in this PR. Now, I can switch my local storage solution to use this and will just need some additional configuration to support multiple KV and NoSQL storage solutions.

Requirements

  • Implement storage.Client with type KV that can be compatible with all current hord backends
  • hord will return an error if something is not found. I need to either handle this to just return nil, nil like other clients or implement a new NotFound error that can be used by all client implementations

Open Questions

  • What happens to my combined configmap/yaml storage? YAML storage will be replaced by hord, but it won't support saving to a configmap. I could just remove that since I don't use it anymore, but it is also fine to keep it around
  • Currently, everything relies on Zones being managed as a map under a Zone, but this doesn't work as well with a KV store. The options are requiring editing Zones by reading/writing an entire Garden, or storing Zones separately and having the Garden ID in the Key so it can be found by Garden ID
@calvinmclean
Copy link
Owner Author

It’s probably best to wait until after implementing #22 since that will be a major storage refactor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request server Related to the Go garden-app code
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant