Skip to content

Blueprints

CBLE Blueprints are a custom YAML-based configuration language inspired by Terraform and Docker Compose v3 syntax.

Here is what a basic blueprint looks like:

openstack-example.yaml
version: "1.0" 

host1:
  resource: openstack.v1.host 
  config: 
    hostname: host1
    image: UbuntuJammy2204
    flavor: medium
    disk_size: 10
    networks:
      network1:
        dhcp: false
        ip: 10.10.0.1
    depends_on: 
      - router1

main_nat:
  data: openstack.v1.network 
  config:
    name: MAIN-NAT

host2:
  resource: openstack.v1.host
  config:
    hostname: "{{ .Host2Hostname }}"
    image: UbuntuJammy2204-Desktop
    flavor: medium
    disk_size: 25
    networks:
      main_nat:
        dhcp: true
    depends_on:
      - host1

network1:
  resource: openstack.v1.network
  config:
    subnet: 10.10.0.0/24
    gateway: 10.10.0.254
    dhcp:
      - start: 10.10.0.10
        end: 10.10.0.100

router1:
  resource: openstack.v1.router
  config:
    external_network: main_nat
    networks:
      network1:
        dhcp: false
        ip: 10.10.0.254