Skip to main content

Current state

Graphene is usable today as a Go pipeline SDK, a development control plane, graphenectl, a Linux machine agent, resource libraries, and an operator UI. This page is the boundary between shipped behavior and future work.

Available now

SurfaceCurrent behavior
PipelineA Go program with typed params and result; plan, push, and managed run
Control planeDurable runs and resource records on Temporal; one external server door
SourcesRead-only Git sources and local upload; immutable materialized revisions
MachinesOutbound Linux agent, SSH or cloud-init installation, per-run runc executor
ResourcesOwnership tree, cascade deletion, stand/TTL, labels, selection, commands and flows
LibrariesDocker, Kubernetes/Crossplane, file delivery, Git actions, artifacts and machine actions
OperationsGeneric CLI, five observability dimensions, RBAC, namespaces and service accounts
StudioWeb/Electron workspace over the public Management API

Start with the local plan to inspect the model without a server, or follow the development run to execute it.

Deliberate boundaries

  • Pipelines are Go programs. Pkl, KCL and YAML pipeline definitions belong to an archived design and are not product interfaces.
  • Git is the source of edits. Graphene inspects and builds a checkout; it does not maintain editable changes on top of a commit.
  • An agent's executor container packages the pipeline; it is not a security sandbox from the host. Machine actions receive the configured host-level access.
  • Kubernetes is a placement option and a resource target, not a requirement for the control plane.
  • Large data belongs in artifacts or telemetry backends, not in run results or Temporal histories.

Not shipped yet

LimitationPractical effect
Production distributionThe repository ships a development Compose stack, not a hardened deployment
Embedded dev looppipeline dev and run --dev return an explicit not-implemented error
Multi-architecture workersSelf-build currently targets Linux/amd64
Automatic agent bootstrap exchangeAgent identities must already be configured by the installation
Dead-machine burialRecords anchored to a permanently lost machine require future operator tooling
HA and disaster-recovery contractNo supported topology, sizing or recovery SLA is published

These limits must not be filled with guessed procedures. See Compatibility and the production boundary before exposing an installation outside a development network.

Documentation contract

Pages describe released behavior, not a roadmap. A feature absent from this site is not implied by an old repository, issue, mock-up, or archived design. The live installation remains discoverable through graphenectl kinds and graphenectl get kind/<name>; that dictionary is authoritative for available record types and commands.