Mirroring content
You feed Orbitron YAML requirement manifests — the same shape Ansible uses. Every manifest is stored, content-addressed by SHA-256 (identical re-submissions dedup), and mirrored by parallel background workers on the spot.
Roles
INGESTroles_requirements.ymlyaml
roles:
- name: geerlingguy.nginx
version: 3.3.1
- name: geerlingguy.docker
version: 7.1.0
- name: RHEL9-CIS
src: https://github.com/ansible-lockdown/RHEL9-CIS.git
version: 2.0.2APIcurlbash
curl -X POST http://127.0.0.1:8080/api/v1/requirements/roles \
-H "Authorization: Bearer $ORBITRON_TOKEN" \
-H "Content-Type: text/yaml" \
--data-binary @roles_requirements.ymlCollections
INGESTcollections_requirements.ymlyaml
collections:
- name: community.general
version: 8.5.0
- name: containers.podman
version: 1.12.0APIcurlbash
curl -X POST http://127.0.0.1:8080/api/v1/requirements/collections \
-H "Authorization: Bearer $ORBITRON_TOKEN" \
-H "Content-Type: text/yaml" \
--data-binary @collections_requirements.ymlVersion specifiers
The version field accepts the same range specifiers Ansible does. Orbitron resolves them against the published Galaxy indexes at sync time and mirrors the highest matching release — or every published version for all (roles as git tags, collections as tarballs).
empty/latest— highest published versionall— every published version (new releases included on each sync)1.4.5/==1.4.5— exact version (or git tag/branch)>=1.0.0,>1.0.0,<2.0.0— ranges~=1.4.5— compatible release!=2.0.0— anything but==1.4.*/1.*— wildcard prefix
Force a full re-sync
APIcurlbash
curl -X POST http://127.0.0.1:8080/api/v1/sync \
-H "Authorization: Bearer $ORBITRON_TOKEN"
# poll progress with GET /api/v1/sync/statusDelete cached versions
APIcurlbash
# single cached role version
curl -X DELETE http://127.0.0.1:8080/api/v1/storage/roles/geerlingguy.nginx/1.2.3 \
-H "Authorization: Bearer $ORBITRON_TOKEN"
# single cached collection version
curl -X DELETE http://127.0.0.1:8080/api/v1/storage/collections/community.general/8.5.0 \
-H "Authorization: Bearer $ORBITRON_TOKEN"Declarative, from Ansible
The official chrisvanmeer.orbitron collection covers the full lifecycle — install, configure, bootstrap tokens, mirror wait-for-sync and day-two pruning — with six HTTP modules and two roles, so your fleet stays idempotent. Full guide in theAnsible collection docs.
ANSIBLEterminalbash
$ ansible-galaxy collection install chrisvanmeer.orbitron
$ ansible-playbook -i hosts orbitron_daemon.yml
# roles:
# chrisvanmeer.orbitron.orbitron # install + operate daemon
# chrisvanmeer.orbitron.orbitron_mirror # declare roles/collections