Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

carthage-0.30.tar.gz (231.6 kB view details)

Uploaded Source

Built Distribution

carthage-0.30-py3-none-any.whl (272.1 kB view details)

Uploaded Python 3

File details

Details for the file carthage-0.30.tar.gz.

File metadata

  • Download URL: carthage-0.30.tar.gz
  • Upload date:
  • Size: 231.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for carthage-0.30.tar.gz
Algorithm Hash digest
SHA256 6277925de2747f3e3e09b5e7ab2121cd5e25e227793b6d18a98e521d8f10bb6a
MD5 a1ef2fb8e9fd621cba969ce34d0bc691
BLAKE2b-256 dfdd65995d42077be24a4b730ab31f4b847bc0c4798331dac5651ac34d67d749

See more details on using hashes here.

File details

Details for the file carthage-0.30-py3-none-any.whl.

File metadata

  • Download URL: carthage-0.30-py3-none-any.whl
  • Upload date:
  • Size: 272.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for carthage-0.30-py3-none-any.whl
Algorithm Hash digest
SHA256 17815af57c8487248518b86c384ae9b58c254783afaeb0fa51f9a1be5cdaadc6
MD5 4715557b4af9ca59d35d8174361c8775
BLAKE2b-256 e723ba832a8305c7f841823086db5e51ab6385d9d8bb5072b0e7a8fb6dde9b1f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page