How kalvadtech/infraninja works
InfraNinja is a PyInfra-based infrastructure automation library. Users run reusable actions against managed hosts, gather read-only facts, or discover hosts through dynamic inventories. Composite actions group security setup stages; individual actions dispatch to OS-specific security implementations and PyInfra operations. The README documents the broader action catalog and inventory integrations; source excerpts only confirm selected implementations, so detailed wiring for unsampled features is not inferred.
Main entry points: facts/__init__.py Fact API · inventories/__init__.py Inventory API · actions/__init__.py Action API · actions Security Actions
Components 21
Actions
- Action API
infraninja/actions/__init__.py - Composite Actions
infraninja/actions/full_security_setup.py - Action Runtime
infraninja/actions/base.py - Security Actions
infraninja/actions
Security Operations
- OS Security Modules
infraninja/security - SSH Key Management
infraninja/utils/pubkeys.py
Server Facts
- Fact API
infraninja/facts/__init__.py - Fact Framework
infraninja/facts/base.py - System Facts
infraninja/facts/system_info.py - Hardware Facts
infraninja/facts/hardware.py - Composite Facts
infraninja/facts/full_facts.py
Inventories
- Inventory API
infraninja/inventories/__init__.py - Jinn Inventory
infraninja/inventories/jinn.py - Coolify Inventory
infraninja/inventories/coolify.py - Inventory Base
infraninja/inventories/base.py
Other components
- Engineer
- PyInfra Runtime
- Managed Hosts
- Jinn API
- Coolify API
- SSH Key API
Connections 26
- Engineer → Action API: selects action
- Action API → Action Runtime: uses runtime
- Action API → Composite Actions: exposes composites
- Composite Actions → Security Actions: runs sub-actions
- Security Actions → OS Security Modules: dispatches operations
- Security Actions → PyInfra Runtime: executes deployment
- OS Security Modules → PyInfra Runtime: issues operations
- PyInfra Runtime → Managed Hosts: configures or reads
- Engineer → Fact API: requests facts
- Fact API → Fact Framework: uses framework
- Fact API → System Facts: exposes
- Fact API → Hardware Facts: exposes
- Fact API → Composite Facts: exposes composite
- Composite Facts → Fact Framework: aggregates facts
- Fact Framework → PyInfra Runtime: gathers remotely
- Engineer → Inventory API: requests hosts
- Inventory API → Inventory Base: uses base
- Inventory API → Jinn Inventory: exposes
- Inventory API → Coolify Inventory: exposes
- Jinn Inventory → Jinn API: fetches inventory
- Coolify Inventory → Coolify API: fetches inventory
- Jinn Inventory → Inventory Base: formats hosts
- Coolify Inventory → Inventory Base: formats hosts
- Engineer → SSH Key Management: manages keys
- SSH Key Management → SSH Key API: fetches or deletes
- SSH Key Management → PyInfra Runtime: updates host keys