1.1 Projects, environments, assets — and hosts
Included from Basic tierassets
After this you can: explain the node tree every piece of work targets, walk it with the opschain nodes family, and read one node in full.
Before you start — tick each one:
- Lesson 0.1 — Install and sign in (
opschain learn 0.1)
In the GUI: the projects screen is this tree — projects open into environments and assets, each node showing its template pin and maintenance badge.
Everything OpsChain runs, it runs against something: a node in your estate. This lesson gives you the four node kinds, the paths that address them, and the two read verbs you will use in every later lesson. The estate lives on a server, so you need the context lesson 0.1 left active. A server with no licence applied runs the Basic tier (1 project, 3 environments, 1 asset) — enough for this module; lesson 1.5 explains where the limits come from.
1. Projects, environments, assets
The estate is a tree of three node kinds:
- A project is the top-level container — a system, a product, a team's domain.
- An environment is a stage of that project:
dev,test,prod. - An asset is a managed thing — a database, a web tier, an appliance. Assets live under an environment, or directly under the project for estate-wide infrastructure. Every asset is pinned to a template version that defines the actions you can run on it (lesson 3.4).
There is also a fourth node kind: an infrastructure node is a
registered host your estate can reach, living in an infrastructure/
collection inside the tree (under an environment or project —
/projects/acme/environments/prod/infrastructure/jump01), each with an
address, an operating system and a transport binding, registered and
deregistered deliberately (opschain infrastructure register). Where an
asset is a managed thing and a runner executes work, an
infrastructure node is a host the work reaches over SSH or RPC: it has
no action catalog of its own — a change still runs on an asset, and a
host-targeted action names the host as its host_ref, with the
caller's transport grant enforced at the host's own path. Lesson 6.4
walks the whole flow end to end; opschain docs infrastructure-nodes
is the reference.
Nodes are addressed by path: acme/environments/dev/assets/web (a
leading /projects/ is accepted too). These paths are what you point
changes, workflows, properties and triggers at in every later lesson.
2. Walk the tree
opschain nodes list
You should see one row per node, depth-first, projects first:
PATH KIND NAME TEMPLATE MAINTENANCE
/projects/limebank project LimeBank - -
/projects/limebank/environments/nonprod environment Non-Production - -
/projects/limebank/environments/nonprod/assets/core_banking asset Core Banking limebank_ops:1.0.0 -
/projects/limebank/environments/prod environment Production - -
/projects/limebank/environments/prod/assets/core_banking asset Core Banking limebank_ops:1.0.0 -
/projects/limebank/environments/prod/assets/payments_gateway asset Payments Gateway limebank_ops:1.0.0 -
The TEMPLATE column shows each asset's pinned <template>:<version>; the
MAINTENANCE column badges nodes sitting inside an active maintenance
window (lesson 5.6). An archived node carries (archived) after its
name.
Narrow the view with a subtree path and filters:
opschain nodes list limebank/environments/prod --kind asset
PATH KIND NAME TEMPLATE MAINTENANCE
/projects/limebank/environments/prod/assets/core_banking asset Core Banking limebank_ops:1.0.0 -
/projects/limebank/environments/prod/assets/payments_gateway asset Payments Gateway limebank_ops:1.0.0 -
--wide adds the description and created-by columns; -o json prints
the same rows as node objects — the stable shape your scripts can rely
on (lesson 0.3).
3. Inspect one node
opschain nodes show limebank
path: /projects/limebank
kind: project
id: 01a1ae7e-909a-7be9-ba75-6c6500767528
name: LimeBank
description: Lime Group banking subsidiary
archived: false
created_by: admin
project_type: Enterprise
A project adds its project_type: line (lesson 1.2 explains the two
types), an asset a template: line, and a node under an active
maintenance window a maintenance: line naming the window.
Check yourself
- What are the four node kinds, and which column of
nodes listtells you which template version an asset runs?
What you learned
- The estate is a tree of projects, environments and assets, plus infrastructure nodes for the hosts work reaches.
- Every node has a path, and paths are what changes, workflows, properties and triggers target.
opschain nodes listwalks the tree (filtered by subtree and kind) andopschain nodes showreads one node in full.
Next: lesson 1.2 — Build and change your own (opschain learn 1.2), or back to your track (opschain learn).