Hacker News new | ask | show | jobs
by monus 2008 days ago
In Crossplane, we have a similar notion for your apps deployed to Kubernetes. Platform builders would define the schema definitions for their API and then they would create several `Composition` objects, each representing a different way of satisfying the same API. Then app developers include a claim YAML together with their artifact. The `Composition` to be chosen is decided via selectors or by platform builder.

This way you can include generic `AcmeMySQLInstance` (think of it as interface in Golang or protocol in other languages) and then one of the Compositions is selected to satisfy this requirement: `AWSRDSInstance`, `AzureSQLServer` or `GCPCloudInstance` or some in-house configuration. The protocol between app dev and builder is the schema and the credential object (`Secret`) that is being published.

See details in docs: https://crossplane.io/docs/v1.0/getting-started/package-infr...

Disclosure: I'm one of Crossplane maintainers.

1 comments

Awesome, thanks for sharing!