Skip to content
🖥️ shellno session yet

Chapter 1 — The cast ​

What we are going to do ​

Start from an empty machine and finish with a real agent process enrolled into a mesh, reporting telemetry the platform accepts.

Everything in between is the path a platform actually takes to get there: tenants, access, a provisioning catalog, a cloud resource, and the network that reaches it.

Nothing is mocked. The cloud is emulated locally, but every control-plane call, every authorization decision, and every audit entry is the real implementation.

Four words to hold on to ​

Domain — a tenant. Hard isolation boundary. Its own identities, its own audit log, its own mesh address range.

Project — a unit of work inside a Domain. Owns Resources and gets a slice of the Domain's network range.

Resource — a thing that was provisioned. A bucket, a node, a database. Carries a lifecycle from Pending to Ready.

Node — a Resource that joined the mesh and can be reached.

Access is a relation, not a role ​

plexsphere answers three questions, and it answers them the same way every time:

  • Can this subject do this to that resource?
  • What may this subject reach?
  • Who may reach this resource?

There is no role column on a user row. Access is a graph of relations — a user is a member of a group, that group is a maintainer of a project — and every check walks that graph.

Chapter 5 is where this stops being an abstraction.

Everything is written down ​

Every state change lands in a per-Domain audit log, hash-chained so tampering is detectable rather than merely discouraged.

Chapter 4 writes into it and reads its own writes back out. Chapter 4 also verifies the chain.

This is not a feature we bolt on for compliance slides. It is the same path every command in this demo already took.

The seeded world ​

make dev plants a fixed cast. Nothing in this demo creates these — they are simply there:

DomainWhat it is for
acme-corpOur home tenant. Almost everything happens here.
beta-llcThe neighbour, so isolation has something to be isolated from.
gamma-coopA third tenant, so lists have more than two rows.
svc-demoMachine identities only, no humans. Chapter 7.

The four hats ​

The demo signs in four times, and knowing which hat is on is most of the story. Every slide says which one, in the corner and along the top edge:

HatWhoHolds
🛡️ adminadmin@example.comDomain admin in Acme Corp. Most of the demo.
🏗️ operatoroperator@example.comThe platform grant. Creates Clouds, approves assignments.
👤 membermember@example.comAn ordinary member. Proves what you get without a grant.
🏢 betathe same human, in Beta LLCA different principal entirely.

The operator row is the interesting one: it is not a bigger admin. It holds a grant that no Domain admin holds, and the Domain admin holds grants it does not.

Three more identities never sign in at all, and the badge names them too: 🖥️ shell before chapter 2, 🤖 machine in chapter 7, and 🔌 node in chapter 13.

The shape of the next hour ​

Tenancy — read a tenant, write into it, delegate access through groups, classify with labels, hand an identity to a machine.

Provisioning — build a catalog, bind a credential under two-party approval, provision a bucket, then reach a node without ever holding a key.

Mesh — speak the node contract by hand, then hand it to the agent written to speak it.

The last chapter is the one to stay for.