Creating infrastructure and running applications using different platforms
APACHE-2.0 License
Unified interface for automation cross different technologies and platforms. Infraform allows you to:
With Infraform it's really all about ease of use. Infraform not only let's you use the same interface to run all these different technologies but it also supports templating which allows you to re-use the same scenarios for different purposes (e.g. staging and prod environments)
Hope you'll enjoy using it and if not, let us know and open an issue :)
git clone https://github.com/bregman-arie/infraform && cd infraform
virtualenv ~/ifr_venv && source ~/ifr_venv/bin/activate
pip install .
ifr list
Scenario file is one that ends with .ifr
or ifr.j2
suffix. It uses the YAML format with the following directives:
description: # the description of the scenario
platform: # the platform or tool to use (e.g. terraform, ansible, shell, python, etc.)
files: # the files to copy to the workspace to be used during the execution of the scenario
- file1
- file2
- directory1
vars: # variables which will be used for executing the scenario
x: 2
y: 'value'
dockerfile: | # used for building an image and running a container using that image
...
Infraform provides you with a couple of built-in scenarios you can list with ifr list
To see the content of scenario, run infraform show <scenario_name>
Read more about "Scenarios" here
InfraForm is able to execute using the following technologies
Name | Comments |
---|---|
Terraform | Provision infrastucture using Terraform HCL files |
Podman | Run containers using Podman |
Docker | Run containers using Docker |
The following is a description of what InfraForm does when you run a scenario
To contribute to the project, use GitHub pull requests.