chore: update workload runtime integration
This commit is contained in:
23
README.md
23
README.md
@ -19,7 +19,7 @@ ocdp-server PostgreSQL
|
||||
WorkloadTemplate metadata
|
||||
WorkloadTemplate source.repositoryUrl/ref/path
|
||||
user-facing values schema / parameters
|
||||
environment overlay/profile metadata
|
||||
environment overlay and policy metadata
|
||||
access bindings
|
||||
no WorkloadClaim instance storage
|
||||
|
||||
@ -56,6 +56,8 @@ user-created claim lives in Kubernetes, not in PostgreSQL.
|
||||
|
||||
```text
|
||||
apps/
|
||||
earth2studio-demo/
|
||||
base/
|
||||
code-server/
|
||||
base/
|
||||
components/
|
||||
@ -87,10 +89,10 @@ Secrets, ConfigMaps, components, and patches.
|
||||
|
||||
## Exposure
|
||||
|
||||
Base services are `ClusterIP`. User-facing exposure choices such as
|
||||
`clusterip`, `nodeport`, and `loadbalancer` belong in the WorkloadTemplate
|
||||
values schema. `ocdp-server` can translate that value into runtime Service
|
||||
configuration or a generated patch.
|
||||
Base services should stay internally reachable. User-facing exposure choices
|
||||
belong on the WorkloadClaim top-level intent such as `exposure=internal` or
|
||||
`exposure=external`; the agent/template renderer turns that intent into runtime
|
||||
Service resources.
|
||||
|
||||
Reusable components are still useful implementation building blocks:
|
||||
|
||||
@ -99,19 +101,20 @@ Reusable components are still useful implementation building blocks:
|
||||
- `components/service-loadbalancer`: change the app Service to `LoadBalancer`.
|
||||
- `components/service-nodeport`: change the app Service to `NodePort`.
|
||||
|
||||
When `nodeport` is selected by the user, `ocdp-server` may generate an instance
|
||||
patch or runtime Service field for an explicit port:
|
||||
When `exposure=external` is selected by the user, the agent/template renderer
|
||||
may generate a NodePort Service and leave the concrete nodePort for Kubernetes
|
||||
to allocate:
|
||||
|
||||
```yaml
|
||||
- op: add
|
||||
path: /spec/ports/0/nodePort
|
||||
value: 30080
|
||||
path: /spec/type
|
||||
value: NodePort
|
||||
```
|
||||
|
||||
Do not hard-code shared NodePort values in app bases or reusable components.
|
||||
|
||||
Environment overlays are different from user choices. They are selected by the
|
||||
platform from cluster, workspace, or customer profile information and can carry
|
||||
platform from cluster, workspace, or customer policy information and can carry
|
||||
things like StorageClass, IngressClass, GPU runtime class, registry prefix,
|
||||
pull-secret wiring, node selectors, tolerations, and site-specific labels.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user