Skip to content
This repository has been archived by the owner on Apr 6, 2024. It is now read-only.
/ fora Public archive

A simple infrastructure and configuration management tool

License

Notifications You must be signed in to change notification settings

oddlama/fora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is Fora?

Fora is an infrastructure and configuration management tool inspired by Ansible and pyinfra. Yet, it implements a drastically different approach to inventory management (and some other aspects), when compared to these well-known tools. See how it differs for more details.

Installation & Quickstart

You can install Fora with pip:

pip install fora

Afterwards, you can use it to write scripts which will be used to run operations or commands on a remote host.

# deploy.py
from fora.operations import files, system

files.directory(
    name="Create a temporary directory",
    path="/tmp/hello")

system.package(
    name="Install neovim",
    package="neovim")

These scripts are executed against an inventory, or a specific remote host (usually via SSH).

fora root@example.com deploy.py

To start with your own (more complex) deploy, you can have Fora create a scaffolding in an empty directory. There are different scaffoldings available for different use-cases.

fora --init minimal

Fora can do a lot more than this, which is explained in the Introduction. If you are interested in how Fora is different from existing tools, have a look at Outlining the differences.