Workload profile
{"class":"web-service","cpu":"250m","memory":"256Mi","health":"http:/healthz","exposure":"internal"}- Developers choose intent-level properties.
- The platform translates the profile into versioned Kubernetes/Helm implementation.
Use Kubernetes and packaging primitives behind stable workload contracts, while preventing platform abstractions from leaking every cluster implementation detail to application teams.
Kubernetes provides APIs for scheduling and operating workloads, but developers still need supported patterns for service exposure, configuration, resources, health, identity, policy and observability.
Helm charts can template Kubernetes resources and expose values. A platform should keep the values surface deliberate; exposing every chart field merely transfers cluster complexity to consumers.
A small set of supported workload profiles can encode resources, probes, security context, network exposure and operational defaults while retaining an escape path for special workloads.
{"class":"web-service","cpu":"250m","memory":"256Mi","health":"http:/healthz","exposure":"internal"}Goal: Check that a platform workload profile contains safe operational defaults.
cat > /tmp/workload-profile.json <<'EOF'
{"class":"web-service","cpu_m":250,"memory_mi":256,"readiness":"/readyz","liveness":"/healthz","exposure":"internal","owner":"payments"}
EOFpython3 - <<'PY2'
import json
x=json.load(open('/tmp/workload-profile.json'))
assert x['class'] in {'web-service','worker'}
assert 100 <= x['cpu_m'] <= 2000
assert 128 <= x['memory_mi'] <= 4096
assert x['readiness'].startswith('/') and x['liveness'].startswith('/')
assert x['exposure'] in {'internal','public'}
assert x['owner']
print('workload profile valid')
PY2List which Kubernetes fields the platform should own versus which application-specific values the developer must supply.
Runtime abstractions should give teams safe defaults while preserving enough visibility to troubleshoot Kubernetes behavior.
Create the disposable local Kubernetes substrate with the supplied one-command kind setup, then render and inspect a small Helm workload contract before anything is applied.
./ops/setup-platform-kind-lab.shkubectl --context kind-gnu-platform-lab get nodes -o widehelm version --shorthelm template demo ./chart -f values.yaml | head -80Three concept checks plus one scenario check.
It provides infrastructure APIs but not the full supported developer experience, contracts, golden paths and lifecycle needed for self-service.
Expose a small deliberate contract and keep implementation-only values private/versioned.
They package safe, repeatable operational defaults for common workload shapes.
The platform contract or extension model is inadequate; a supported input/escape hatch should replace unmanaged forks.
Progress is saved in this browser immediately. When you sign in to My Learning, it can also sync across devices.
Attempt the core lab and knowledge checks before marking the module complete.