Replies: 6 comments 7 replies
-
|
Hi @cappyzawa, thanks for the detailed dicsussion and proposal, this was very helpful for us, as Maintainers, to review it during our Score Community meeting earlier today: #158 (comment). We agreed that this is indeed a perfect scenario and opportunity to have a Score implementation driven by the community. The idea for you to start is to have this repo(s) outside of the https://github.com/score-spec Org. From there, you can iterate with the Score maintainers, contributors and community in order to make progress with it. We really like the idea (GitOps with Score has been asked/raised couple of times) and we also think that your approach to start small with the CRD first and iterate with small controller, etc. is the best way to make it land somewhere. In one month, that's our next Score Community Meeting (#160), why not coming presenting where you will be with your first iteration with the CRD? Feel free to drop us a note, your questions, updates in our CNCF Slack channel, it will be our pleasure to support you on this. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the thoughtful feedback and for discussing this in the community meeting! I’ll aim to have a minimal CRD schema ready to show by the next community meeting. Appreciate the support—looking forward to collaborating further! |
Beta Was this translation helpful? Give feedback.
-
|
@cappyzawa how do you propose extending the spec with defaults for platform related stuff like (Policies, SecurityContexts etc etc). I know this is not super relevant in the first iteration of the approach, but I know it is something that will become a bottleneck if not well supported. Ideally I think the responsibilities should be as such:
If we can find a way to solve the latter in an elegant way, I think this could become super relevant in many orgs trying to solve the complexity barrier between devs and modern platform engineering. If not I am worried that it will become niche, and lack the flexibility to be deemed a feasible OS option to comparable tooling built in-orgs. My thought would be to make the operator a configurable Helm Chart where these defaults can be provided via flexible configuration. I think this fits well in the ops domain. Finding out what "flexible configuration" means would be the biggest part of this task IMO. |
Beta Was this translation helpful? Give feedback.
-
|
TL;DR Overall shape
Full spec (concise; happy to quote relevant bits here as needed): Actors & roles
Design highlights (what I’m validating in code now)
I’ve started implementing an Orchestrator MVP to exercise the end-to-end path (single-writer semantics, endpoint reflection, abstract vocabulary) with a thin Kubernetes runtime adapter and stub dependency providers. Feedback welcome on anything—direction, actor split, status surface, policy layering, naming, or any other angle. I’m happy to adapt and bring excerpts from the spec into this thread where useful. |
Beta Was this translation helpful? Give feedback.
-
|
Great point. I’m aiming for this split:
If you have better ideas for precedence/selection semantics or gaps we should cover, I’d love to hear them. |
Beta Was this translation helpful? Give feedback.
-
|
Wow, super great progress already, nice! Couple of food for thoughts:
@cappyzawa, let me know if this helps or if you need me to clarify some of the points shared above. CC: @chris-stephenson @astromechza for capturing their thoughts too. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
TL;DR: The CLI is great for Day‑1 manifest generation, but once apps are running we often drop down to Kubernetes primitives. In practice, knowing the Score spec is enough to create, but not enough to operate. I propose defining a Kubernetes CRD schema/contract for Score so users can stay at the Score abstraction for both creation and Day‑2 (get/describe/apply/patch/scale), with unified status and cleaner RBAC/audit. Controllers/operators remain platform‑specific and out of scope for score-spec.
Problem / Motivation
Proposal (contract only)
Define a Score CRD schema in score-spec that implementations can target. The CRD would either embed or reference the Score spec verbatim (e.g., generic git/oci ref). The contract would cover:
statusshape with conditions/summary, exposed endpoints, resource bindings (e.g., connection strings), and a stable pod selector for logs.scalesubresource and recommendedadditionalPrinterColumnsfor discoverability.Out of scope (by design)
generate, these can live in a thin, platform‑provided CLI wrapper that leverages the CRD’s discoverability (selectors/endpoints).Questions for maintainers
If helpful, I’m willing to take a first pass at a minimal CRD schema (and, separately, an out‑of‑tree controller skeleton) and iterate with the community.
Beta Was this translation helpful? Give feedback.
All reactions