22 lines
1.2 KiB
SQL
22 lines
1.2 KiB
SQL
-- A node is adopted or converged, and the mesh records which (novox/hq ADR 0100).
|
|
--
|
|
-- A machine already serving a predecessor's services is adopted: what is found on it is kept
|
|
-- until its module is taken, and the firewall found on it stays in force. It stays adopted until
|
|
-- the operator converges it. False by default, so every node that exists is converged, as it was.
|
|
|
|
alter table node add column adopted boolean not null default false;
|
|
-- When it was last made adopted, and when it last converged. Both kept: a node returned to adopted
|
|
-- after converging is a different history from one that never converged.
|
|
alter table node add column adopted_since timestamptz;
|
|
alter table node add column converged_at timestamptz;
|
|
|
|
-- The modules taken on a node: its cutover, the operator's act, done when the module's data has
|
|
-- moved. A row per node and module, and it outlives the assignment on purpose -- unassigning a
|
|
-- module does not un-take it, and what was taken stays taken when a node returns to adopted.
|
|
create table taken (
|
|
node uuid not null references node(id) on delete cascade,
|
|
module text not null references module(name) on delete cascade,
|
|
taken_at timestamptz not null default now(),
|
|
primary key (node, module)
|
|
);
|