Comments (6)
On utils
, yes -- that name should be removed. I think the go docs even say not to use it as a package name. I should have just deleted that when moving.
IMO, the crud store is sort of an unnecessary abstraction. It would make more sense to just refactor this into a claims storage thing, and only put the claims store in here. (CRUD feels sort of unhelpfully generic). I wasn't viewing this PR as a refactor. But if that is what we'd all like, I can do that.
As for the implementation of storage, I am not sure what the reasoning would be for not providing an implementation. If the purpose of the library is to make it easy to implement the spec, then shipping a library that had interfaces but no implementations just means that we have to educate out users not just on how to consume the library, but also how to implement its underpinnings. I mean, I guess I understand not wanting to have a dozen different drivers checked in here... but... they have to get checked in somewhere, and this seems to me to be a better place than in Duffle.
from cnab-go.
I agree with removing the crud store abstraction and put all the store implementations here 👍
from cnab-go.
I'm fine with what you proposed. Just about the interface, a more Go
would be just to not expose the interface and let the package consumer create their own interface, maybe simpler, and which will fit exactly their needs. But to be honest I'm really fine with both ways 👍
from cnab-go.
On the other hand, as @technosophos pointed out, the reason for having this repo in the first place is so that people don't have to take a dependency on Duffle - and us moving this back into Duffle means that anywhere people using this package want to store claims on a local filesystem, they will either import Duffle (if we move it back there), or reimplement themselves.
from cnab-go.
Well, then I see 2 solutions:
1/ Remove all the store from this package, if you want to persist claims then vendor duffle
2/ Move all the claim store (and maybe other stores) here, not just the crud store.
WDYT?
from cnab-go.
Okay. I will give that a shot on Friday this week, and then get the outstanding PR on Duffle updated to use it.
from cnab-go.
Related Issues (20)
- Use concurrency in the data persistence layer? HOT 1
- Return partial data on error?
- Safe way to generate ULID without possible error?
- Consolidate regex for Claim Name Validation Regex
- Handle context cancellation in the kubernetes driver HOT 1
- Remove custom yaml marshaling from Source struct
- Add Parameter Set HOT 3
- Support streaming outputs
- Use go:embed from Go 1.16 HOT 1
- Require only one review for pull requests to the cnab-go library HOT 9
- Remove @glyn from CODEOWNERS HOT 2
- Can we replace the filesystem store with something queryable like sqlite? HOT 1
- Optional parameters are not injected properly HOT 1
- Unused docker driver config options HOT 1
- Cannot validate a parameter whose default is {} HOT 1
- Don't log a warning about log streaming before the container has started
- Remove CRUD data access layer
- Flake: TestClaimSchema HOT 2
- Flake: TestDockerDriver_Run
- Make owner reference configurable for resources created by the kubernetes driver
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cnab-go.