A powerful Infrastructure as Code (IAC) framework
Project description
Carthage is an Infrastructure as Code (IAC) framework. Carthage provides models for infrastructure concepts such as machines, networks, and domains or groups of machines. There are concrete implementations of these models including containers and virtual machines.
Carthage allows experts to quickly construct infrastructure from a Carthage layout. Infrastructure can be real, virtual, or a mixture. Often the same layout is used to produce both real and virtual infrastructure.
Examples of applications written using Carthage include:
A test framework to run tests against a distributed product by replicating virtual network infrastructure and running tests against that structure.
A cyber training application to produce training environments with thousands of virtual machines and realistic training environments including firewalls, routers, and Internet services. The training environment is entirely isolated from the Internet.
A devops application to maintain the real infrastructure on which the cyber training environment runs.
Installing Carthage
Carthage typically requires a container environment as well as a virtualization requirement. On Debian or Ubuntu systems, install the following:
apt install socat systemd-container libvirt-clients qemu-utils bridge-utils fai-setup-storage apt install --no-install-recommends fai-server dosfstools
You may also want either python3-pyvmomi or libvirt-daemon-system.
Then install Carthage like any other source distribution, perhaps using python3 setup.py install or python3 setup.py install --user.
Alternatively you can podman pull ghcr.io/hadron/carthage:latest
Learning Carthage
Documentation is available here.
For a look at a sample application take a look at https://github.com/hartmans/industrial-algebra.carthage . This application configures the laptop of one of the Carthage developers.
Join Us
As you start to use Carthage, you will probably have questions. The best approach is to discuss them in real time on our Matrix chat <https://matrix.to/#/#carthage-users:matrix.org>.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file carthage-0.32.tar.gz
.
File metadata
- Download URL: carthage-0.32.tar.gz
- Upload date:
- Size: 250.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04c33be5648e11cd8b1b6a635ee1859f33a930c44c390c1f5f312488ebd86980 |
|
MD5 | 106aee9111ddbb484d9f35821374e53e |
|
BLAKE2b-256 | 3feff3bd61fb7b634bbdece51a53a416d8ac7fe46ff7b983babccbf021ec79ee |
File details
Details for the file carthage-0.32-py3-none-any.whl
.
File metadata
- Download URL: carthage-0.32-py3-none-any.whl
- Upload date:
- Size: 291.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 870944e1510471d0e0ea15164e3839195f9781ab8cb0370975e17aff183d8a82 |
|
MD5 | fe8ce6885a22f531eb11eb79a4c2b754 |
|
BLAKE2b-256 | 6e2343bbb96af17dff558d139595ca35bd63113f6113a08c8029777df7cc0625 |