delonix gitops
Fontes pull (ADR-0021): uma passagem, o estado, suspender e retomar.
Pull sources (ADR-0021): one pass, status, suspend and resume.
Uma fonte declara-se com kind: GitOpsSource e stack apply:
um repositório git, uma ref e um caminho. Com sync.automated: true o apply escreve um
temporizador de utilizador do systemd (delonix-gitops-<namespace>.<nome>)
que corre UMA passagem e sai — o motor continua daemonless. Uma passagem obtém a ref para um espelho
privado, resolve-a para um commit, verifica a assinatura SSH quando pedida, lê o YAML do caminho
directamente da árvore do commit (nada é feito checkout), passa pela guarda das fontes pull, valida
o grafo, planeia, pesa o plano contra o spec.safety e aplica-o com os seus digests. Um
commit recusado em qualquer passo antes do apply deixa a stack em execução intacta e fica
registado com o commit que nomeia (gitops status). A guarda recusa, venha o que vier do
repositório, os Kinds RuntimePolicy, Secret e App, uma Image com build:, um container
que pede o host, um Volume além de um local simples, a credencial da própria fonte, outra fonte e
um namespace que não é o da fonte.
A source is declared with kind: GitOpsSource and stack apply:
a git repository, a ref and a path. With sync.automated: true the apply writes a
systemd user timer (delonix-gitops-<namespace>.<name>) that runs ONE
pass and exits — the engine stays daemonless. A pass fetches the ref into a private mirror, resolves
it to a commit, verifies its SSH signature when asked, reads the YAML under the path straight from
the commit's tree (nothing is checked out), runs the pull-source guard, validates the graph, plans,
weighs the plan against spec.safety and applies it with its digests. A commit refused
at any step before the apply leaves the running stack untouched and is recorded with the
commit it names (gitops status). Whatever the repository says, the guard refuses the
Kinds RuntimePolicy, Secret and App, an Image with build:, a container asking for the
host, a Volume beyond a plain local one, the source's own credential, another source, and a
namespace other than the source's.
📄 Implementação real em Rust: cmd/gitops.rs
Usage: delonix gitops <COMMAND>
Commands:
reconcile Run one pass of a source now: fetch, verify, plan, apply, then exit
status Show each source's last pass: the commit it looked at, the commit applied, and why
resume Lift a suspend: the next fire fetches again
suspend Stop a source's passes without a commit (a local marker outside the spec)
help Print this message or the help of the given subcommand(s)
Options:
-h, --help
Print help (see a summary with '-h')
COMMAND MAP:
Lifecycle reconcile
Inspect status
Configure suspend · resume
EXAMPLES:
# stop the passes of a source while you act by hand
delonix gitops suspend production -n production
# run one pass now, without waiting for the timer
delonix gitops reconcile production -n production
# what each source last saw, and what is running
delonix gitops status
SEE ALSO:
delonix gitops reconcile · delonix gitops status · delonix gitops suspend ·
delonix stack apply
delonix › gitopsExemplosExamples
delonix gitops reconcile production -n productiondelonix gitops statusdelonix gitops suspend production -n productiondelonix gitops resume production -n production