CI / test-and-build (push) Successful in 13s
Documenta el flujo cuando ya existe un owner: quién debe correr el comando, cómo pasar la llave pública del nuevo administrador y cómo verificar el alta.
82 lines
2.3 KiB
Markdown
82 lines
2.3 KiB
Markdown
+++
|
|
title = "Registrar al primer administrador"
|
|
description = "Inicialización segura del registro de identidad de clusterlog."
|
|
date = 2026-08-12T00:00:00Z
|
|
authors = ["sistema"]
|
|
slug = "registrar-primer-administrador"
|
|
template = "page.html"
|
|
weight = 10
|
|
|
|
[taxonomies]
|
|
categories = ["manuales"]
|
|
tags = ["identidad", "ssh", "inicio"]
|
|
systems = ["bitacora"]
|
|
|
|
[extra]
|
|
id = "RUN-DEMO-001"
|
|
kind = "manuales"
|
|
author_id = "sistema"
|
|
author_fingerprint = ""
|
|
+++
|
|
|
|
## Prerrequisitos
|
|
|
|
- Una llave SSH personal con su archivo público disponible.
|
|
- Git inicializado en la raíz del proyecto.
|
|
- El binario `clusterlog` compilado.
|
|
|
|
## Procedimiento
|
|
|
|
```bash
|
|
git init
|
|
make build
|
|
./bin/clusterlog --ssh-key ~/.ssh/id_ed25519 --commit admin add \
|
|
--id ana --name "Ana Operadora" --email ana@example.org
|
|
```
|
|
|
|
El primer administrador recibe automáticamente el rol `owner`. Después, sólo un `owner` activo puede registrar a otra persona.
|
|
|
|
## Verificación
|
|
|
|
```bash
|
|
./bin/clusterlog --ssh-key ~/.ssh/id_ed25519.pub identity
|
|
./bin/clusterlog validate --skip-zola
|
|
git log --show-signature -1
|
|
```
|
|
|
|
## Bonus: registrar al segundo administrador
|
|
|
|
Sólo un `owner` activo puede hacer esto — corra el comando con **su propia** llave (la del primer administrador, ya registrado arriba), nunca con la del segundo.
|
|
|
|
### Prerrequisitos
|
|
|
|
- Usted ya es `owner` activo (procedimiento anterior completado).
|
|
- El segundo administrador ya tiene su propia llave SSH y le compartió únicamente el archivo **público** (`.pub`) — nunca la privada.
|
|
|
|
### Procedimiento
|
|
|
|
```bash
|
|
./bin/clusterlog --ssh-key ~/.ssh/id_ed25519.pub --commit admin add \
|
|
--id beto --name "Beto Salazar" --email beto@example.org \
|
|
--key /ruta/a/la/llave/del-segundo-administrador.pub \
|
|
--roles admin
|
|
```
|
|
|
|
Use `--roles owner,admin` sólo si el segundo administrador también debe poder registrar administradores futuros; de lo contrario, `admin` alcanza.
|
|
|
|
### Verificación
|
|
|
|
```bash
|
|
./bin/clusterlog --json admin list --active
|
|
git log --show-signature -1
|
|
```
|
|
|
|
- `admin list --active` muestra a ambos administradores.
|
|
- Desde su propia máquina, el segundo administrador confirma su propia identidad:
|
|
|
|
```bash
|
|
./bin/clusterlog --ssh-key ~/.ssh/id_ed25519.pub identity
|
|
```
|
|
|
|
`data/admins.json` y `config/allowed_signers` se actualizan juntos en el mismo commit — no hace falta un paso aparte para autorizar sus futuras firmas.
|