Products / For AI builders
ImageSphere
AvailableAn OCI registry with real identity, runtime-mutable policy, and an air-gap story.
ImageSphere is an OCI-native registry that treats access control, identity, and day-2 operations as product features, not afterthoughts. It hosts container images, Helm charts, ML models, and any OCI artifact — with a web UI, group-based admin driven by your IdP, access policies that change at runtime and survive restarts, per-namespace storage quotas with live usage, namespace-scoped robot accounts for CI/CD, immutable tags, and Cosign/Notation verification. Membership is stated in roles people can reason about — viewer, publisher, maintainer — and an explain view answers 'what can this identity actually do here, and why', for a signed-in user, a robot, or an anonymous client. Vulnerability scanning runs on a registry-wide default policy that an admin can exempt per namespace, and the UI is honest about what it knows: it says when scanning is unconfigured rather than showing a reassuring empty list. Helm charts are first-class — detected and rendered with their values.yaml and README, filterable in a charts-only view. One binary, three deployment modes: Kubernetes, air-gapped via the TAIP release flow, bare metal with systemd.
Specification
- Version
- v1.8.7 — generally available
- Protocol
- OCI Distribution Spec · built-in /v2/token service
- Modes
- Kubernetes · air-gapped · bare-metal systemd
- Access
- Member roles — viewer · publisher · maintainer · plus an explain view for any identity, signed in or not
- Scanning
- Trivy · registry-wide default severity policy · admin-only per-namespace exemption · database state on the System page
- Identity
- OIDC SSO · passkeys and a required second factor · API keys and robot accounts with last-used
- Governance
- Runtime-mutable policies · quotas · immutable tags · audit log
- Storage
- Local · S3 · GCS
- Languages
- English · 简体中文
Proof, not promises
See it in one block.
No proprietary SDKs, no rewrites — ImageSphere meets your tools where they already are.
$ docker push registry.intra.example/team-a/app:v1
pushed — within team-a quota (412 GiB / 500 GiB)
$ helm push chart.tgz oci://registry.intra.example/team-a
$ cosign verify registry.intra.example/team-a/app:v1
# policies, quotas, and writer groups edited live in the admin UI▌ Pure OCI Distribution Spec — docker, helm, and oras work unmodified. The built-in token service means nothing extra to deploy.
Capabilities
What ImageSphere gives you
OCI-native, no proprietary protocols
Standard OCI Distribution Spec — Docker, Helm, ORAS, and any compliant client work unmodified. A built-in /v2/token endpoint means no separate token service to deploy. Helm charts are recognized as charts — values, README, and install hints rendered in the UI, not stored as opaque blobs.
Identity from your IdP
OIDC SSO with back-channel logout, passkeys, and a second factor required where a password alone used to be enough. Admin status follows your IdP groups — promoting an admin is a click in your IdP, not a redeploy — and when a local group name collides with one your IdP asserts, the UI says so instead of silently picking. Robot accounts give CI/CD namespace-scoped credentials that outlive any individual, and both they and API keys record when they were last used, so a dormant credential is visible before it is a finding.
Access control mutable at runtime
Manage namespace members by role — viewer pulls, publisher pushes, maintainer deletes — and edit groups, quotas, and immutable-tag rules from the admin UI. Changes persist in the metadata store and survive restarts: config file as default, runtime override wins. An explain view answers what a given identity may do in a namespace and which grant said so, anonymous clients included, so 'is this public?' is a question with an answer. An append-only audit log, Prometheus metrics, and an in-app bilingual user guide round out day-2 operations.
Vulnerabilities, stated honestly
Trivy scanning behind an admin switch, with a registry-wide default severity policy and an admin-only per-namespace exemption — so an exception is a deliberate, visible act rather than a config file nobody re-reads. Each tag carries a vulnerability panel, the System page inventories every scanner data component and how stale it is, and a version the scanner did not specify is not dressed up as a fix.
Air-gap as a first-class deployment
Ships through the TAIP air-gap release flow: chart and images pre-staged, OIDC application registration automated. The pod runs non-root with OIDC and session keys held in Secrets. The same single binary also installs on bare metal with a hardened systemd unit, htpasswd, and TLS.
How it works
From push to pull, governed end to end.
- Step 01
Push any OCI artifact
Container images, Helm charts, ML models, OPA bundles. Standard /v2/ endpoints; built-in token service for `docker login`.
- Step 02
Identity decides who can do what
OIDC SSO with passkeys, group-based admin, members managed by role. Ask the explain view what any identity may do here — and off-board in your IdP, and the registry follows.
- Step 03
Pulled, signed, scanned
Cosign / Notation verification, Trivy scanning under a registry-wide policy with per-namespace exemptions, namespace storage quotas — same plumbing on Kubernetes, air-gap, or bare metal.
Who it's for
Built for these teams
- Internal platform teams building self-service registries
- Air-gapped, regulated, and edge deployments
- Anyone who wants Cosign and CVE scanning without a control plane behind it
Pairs well with
Other builder products
ConsoleX
AvailableLog in, get a governed Kubernetes workspace. No kubectl, no tickets.
On first SSO login every user gets an isolated namespace with quotas, default-deny networking, storage, and a web terminal — provisioned automatically, reconciled continuously. It is also the platform's front door: the token authority every TAIP app trusts, the SSH gateway into every workspace, and the taip CLI the cluster serves itself.
Learn moreDevSpace
AvailableJupyter or VS Code on a GPU in seconds. Idle environments shut themselves down.
Single-click Jupyter, Marimo, Streamlit, Gradio, and VS Code environments — GPU-ready, isolated per user behind a per-pod auth proxy, shareable with a colleague, and idle-shutdown by default.
Learn moreTrainX
AvailableA template is a shape. Your project fills it. Kubernetes runs the job.
Self-describing templates render straight into UI forms — or your project declares itself in a trainx.yaml and runs on a platform shape. Live quota checks, streaming logs, parsed progress, MLflow-tracked parameters and metrics, resumable runs, and declared outputs you can hand to the next step.
Learn more