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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

carthage-0.37-py3-none-any.whl (331.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: carthage-0.37.tar.gz
  • Upload date:
  • Size: 415.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for carthage-0.37.tar.gz
Algorithm Hash digest
SHA256 0a57520fd5a4d89159a32770b5c873a8166b5394a2344511041bfa667124a86d
MD5 4add7c2f0229f67f9be111be69b32afc
BLAKE2b-256 8a46a9c0c81e3ae8d289942da9a2d0c326b7cf8cb21be2fc83413ec6c10d6ba5

See more details on using hashes here.

Provenance

The following attestation bundles were made for carthage-0.37.tar.gz:

Publisher: build_and_release.yml on Hadron/carthage

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: carthage-0.37-py3-none-any.whl
  • Upload date:
  • Size: 331.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for carthage-0.37-py3-none-any.whl
Algorithm Hash digest
SHA256 091351aae75a0653153c8995281404bbc9087fd64b9678072002619d45901c06
MD5 b9a7a282e4e679fa5662dbe244b72f71
BLAKE2b-256 6ee9182151ff580c73eaaa8e88196c365e2372b4001e641a04c83ed11b2d89bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for carthage-0.37-py3-none-any.whl:

Publisher: build_and_release.yml on Hadron/carthage

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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