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.dev1.tar.gz (230.2 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: carthage-0.30.dev1.tar.gz
  • Upload date:
  • Size: 230.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for carthage-0.30.dev1.tar.gz
Algorithm Hash digest
SHA256 7a0949d9a901f61af2957e1e03f8e63ff5e250226b6309c21189292549c0ac28
MD5 7b5ec2e9a8073705682051d0954d4fbd
BLAKE2b-256 cc101a013745bf40152b3028c53771a41838dc12757eeb0824bf26100e306f46

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for carthage-0.30.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 96e2cb96fa539dd368f4f26d8f8a052b9fa1c20c4574b75574d58b347b0b451b
MD5 d384fe64f4c9cf37a8770243831bb17f
BLAKE2b-256 ab097ecf1caa1e84b96b1e02ad0c647d31275c8c3e5c0aa57ca73455a148943e

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