The Golden Path
to Modern Development
An Internal Developer Portal built around one identity, one catalog, and a working golden path — self-hosted, open source, and MVP live today.
Who This Is For
An honest read on where W'xOps fits today — and where it doesn't, yet.
Who this is for
- Teams already committed to Kubernetes + GitOps
- Teams that want zero plugin/runtime overhead
- Teams comfortable with an opinionated stack (Gitea, ArgoCD, Crossplane, Vault, Kyverno) today
Who this isn't for (yet)
- Non-Kubernetes or hybrid VM/serverless workloads
- Teams needing a large existing plugin ecosystem
- Teams needing enterprise SLAs / support contracts
The Golden Path
A pre-paved, opinionated path from developer idea to production. Zero boilerplate, zero ops tickets, zero guesswork.
Write Code
Developer
Day 0Pick Template
Service Catalog
Golden PathCI/CD Pipeline
Auto-triggered
AutomatedSecurity Gate
Policy as Code
0 Manual StepsDeploy
Kubernetes / Cloud
< 5 minObserve
Logs + Metrics + Traces
Built-inNew service bootstrap
Cluster access
Staging & production promotion
Core Principles
Paved Road, Not a Cage
Golden Paths are the easiest path — not the only one. Teams can deviate when justified, but the default keeps everyone productive and safe.
Platform as a Product
Built by treating internal developers as the customer — feedback shapes what ships next.
Self-Service by Default
Developers provision services, add team members, rotate secrets — all without filing tickets or waiting on platform team's approval.
Shift-Left Everything
Security, compliance, observability — baked in from day one, not bolted on after the fact. Less panic, smoother audits.
Everything a Developer Needs
Six core capabilities — each grounded in how the platform actually works, not marketing math.
Universal Identity
Architecture WinOne Pinniped-issued OIDC token works for the portal, kubectl, and CI — no second login, no separate kubeconfig ceremony, no service accounts to rotate. Access control is native Kubernetes RBAC, derived straight from your identity provider's groups.
- Pinniped — Kubernetes-native OIDC
- One token: portal + kubectl + CI
- RBAC derived from IdP groups
- Nothing stored, nothing to drift
One-Click Onboarding
Speed WinFill in an app name, pick a Golden Path template, and the portal creates your Gitea repo, writes empty Vault secrets, and opens a gitops-infra pull request. Merge it and ArgoCD + Crossplane take it from there.
- Gitea repo + CI pipeline scaffolded
- Vault secrets pre-provisioned
- gitops-infra PR opened automatically
- ArgoCD sync → Crossplane provisions the app
Service Catalog
Productivity WinA searchable registry of every service, API, and resource — read straight from Backstage-compatible YAML in your gitops-infra repo. No database, no plugin server: the portal caches for five minutes and invalidates instantly on a Gitea push webhook.
- Backstage-compatible entity schema
- Client-side FlexSearch — no round-trip
- Owner, lifecycle & dependency graph per entity
- Webhook-driven cache invalidation
- RFC / ADR / Runbook docs entities, rendered from Gitea Markdown
Automated Pipelines
Velocity WinPush to Gitea and the pipeline runs on self-hosted Gitea Actions. ArgoCD syncs the GitOps overlay, Crossplane expands the tenant app, and the ArgoCD Image Updater keeps image tags current — dev auto-syncs, staging and production wait on a manual gate.
- Gitea Actions — self-hosted CI
- ArgoCD GitOps sync + Crossplane provisioning
- Image tags managed by ArgoCD Image Updater
- Role-gated promotion past experimental
GitOps-Only, Read-Only by Design
Compliance WinThe portal never writes to a Kubernetes API — every configuration change is a reviewable Gitea pull request. Vault access is write-only (no reads, no deletes), deletes are platform-team-only, and Kyverno policies enforce network isolation and quotas automatically on every tenant namespace.
- Portal never writes to any cluster API
- Vault: create/update only — no reads, no deletes
- Kyverno auto-provisions network policy + quotas
- Every write logged for audit
Darlane — On-Demand Debug Pods
Inner-Loop WinProvision a parallel debug pod alongside your live deployment — same namespace, same secrets, same environment. Stream local file changes straight into the running pod and get a real exec session, without touching the main workload.
- Same namespace & secrets as the main pod
- Live file sync via `wxops darlane sync`
- Traffic split by weight or header, dev-first
- Role-gated for staging & production
One Login, Every System
This is the real request path — Pinniped as the Kubernetes-native OIDC layer, not a diagram we drew for the pitch.

One redirect, one login
A request hits Traefik and gets routed through ForwardAuth / OAuth2 Proxy to the Pinniped Supervisor for an OIDC + PKCE login — no per-app credentials.
Gitea is the upstream IdP
The Supervisor federates to Gitea for the actual login and scopes/claims. The portal never sees a password — only the resulting identity token.
Per-cluster token exchange
For every spoke cluster, the portal exchanges the session token via the Pinniped Concierge (JWTAuthenticator) — cluster-scoped, audience-bound, short-lived.
Kubernetes RBAC decides, not the portal
The Concierge-issued identity is checked against native ClusterRoleBinding rules on the spoke. There is no separate permission system to keep in sync.
From Who Uses It to What Runs It
Stakeholders and developers on the left, the WxIDP tenant surface in the middle, the WxInfrastructure and WxPlatform planes on the right — this is the actual system map, not a simplified pitch version of it.

Built on Open Standards
A layered, open-source stack — no vendor lock-in. Everything is composable, replaceable, and cloud-agnostic.
Developer Experience Layer
What every engineer sees and touches
Portal UI
Service Catalog
Self-Service CLI
Docs as Code
Team Management
Platform Services Layer
The engines powering the Golden Path
Identity
CI/CD
Provisioning
Secret Management
Policy Engine
Registry
Infrastructure Layer
The foundation everything runs on
Kubernetes
Kustomize
Ingress
Observability
Data Layer
Full Technology Stack
Start Your Golden Path
Today
MVP live. Core golden path works end-to-end — open source, self-hosted, and actively shipping.
- Golden-path scaffolding works end-to-end
- wxops CLI + Darlane debug pods shipped in v0.4.x
- Every change is a reviewable Git PR — never a direct write
- Self-service infrastructure — no ticket queue
- Open source, no vendor lock-in
- Self-hosted — your data stays in your infrastructure
Open source · MIT License · No vendor lock-in · Self-hosted