Circuits you can borrow, and a place to share yours

Works with

Providers

Conn3x is built on OpenTofu, so every provider in the OpenTofu Registry works, as it is. Create the server with whichever cloud you already use, and hand its address to a circuit in the same plan.

Search every provider

Where servers usually come from

One plan, from the cloud to the config

The server's address is an expression, not a file you copy it into. The plan creates the server first, then shows every step headed for it, waiting on an address that doesn't exist yet.

resource "digitalocean_droplet" "web" {
  name     = "web1"
  image    = "rockylinux-10-x64"
  region   = "nyc3"
  size     = "s-1vcpu-1gb"
  ssh_keys = [var.ssh_key_id]
  # user_data installs a host key made in the plan; see the tutorial
}

module "web" {
  source = "github.com/conn3xorg/circuit-nginx?ref=v0.1.0"
  hosts = {
    web1 = {
      address  = digitalocean_droplet.web.ipv4_address
      host_key = tls_private_key.host.public_key_openssh
    }
  }
}

The DigitalOcean tutorial walks through it end to end. Using a provider that isn't listed here? It works the same way, and a pull requestadding it is welcome.