Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

Manifest file reference

This resource aims to provide a definitive structure of a deployment manifest file will all its supported keys.

Note: For a conceptual overview of manifests see Deployment manifest.

core:
  config:
    # Use local network proxy to access external resources
    proxy:
      proxy_required: [true,false]
      # Proxy variables to use if 'true' is chosen above
      http_proxy: <url>:<port>
      https_proxy: <url>:<port>
      no_proxy: <host>,<host>,...

    bootstrap:
      # Management networks shared by hosts
      management_cidr: <cidr>,<cidr>,...
      # Example:
      # management_cidr: 192.168.29.0/24

    # Enter a region name (cannot be changed later)
    region: <region>
    # Example:
    # region: RegionOne

    addons:
      # MetalLB address allocation ranges
      metallb: <a.a.a.a-b.b.b.b>,<c,c,c,c-d.d.d.d>,...
      # Example:
      # metallb: 10.20.21.10-10.20.21.20

    k8s-addons:
      # Load balancer ranges
      loadbalancer: <cidr>,<cidr>,...

    user:
      # Populate OpenStack cloud with demo user, default images, flavors etc
      run_demo_setup: [true,false]
      # Username to use for access to OpenStack
      username: <username>
      # Password to use for access to OpenStack
      password: <password>
      # Network to use for initial project network
      cidr: <cidr>
      # Nameservers that guests should use for DNS resolution
      nameservers: <ip-address> <ip-address> ...
      # Enable ping and SSH access to instances
      security_group_rules: [true,false]
      # Local or remote access to VMs
      # Local mode - single node only
      remote_access_location: [local,remote]

    # External networking
    external_network:
      nic: <interface-name>
      # CIDR of OpenStack external network
      cidr: <cidr>
      # IP address of default gateway for external network
      gateway: <ip-address>
      # IP allocation range
      range: <ip-address-range>
      # Network type for access to external network
      network_type: [flat,vlan]
      # VLAN ID if 'vlan' is chosen above
      segmentation_id: <vlan-id>

    # MicroCeph
    microceph_config:
      # Disks to attach to MicroCeph nodes
      <node-hostname>:
        osd_devices: <device>,<device>,...
      # Examples:
      # sunbeam-1.localdomain:
      #   osd_devices: /dev/vdc,/dev/vdd
      # sunbeam-2.localdomain:
      #   osd_devices: /dev/vdc,/dev/vdd
      # sunbeam-3.localdomain:
      #   osd_devices: /dev/vdc,/dev/vdd


  software:

    juju:
      bootstrap_args:
      - <argument>
      - <argument>
      - ...
      # Examples:
      # - --debug
      # - --agent-version=3.2.4
      # - --model-default=test-mode=true
      # - --model-default=logging-config=<root>=INFO;unit=DEBUG

    charms:
      <charm>:
        channel: <channel>
        revision: <revision>
        config:
          <option>: <value>
          <option>: <value>
      ...
      ...
      # Examples:
      # keystone-k8s:
      #   channel: 2023.2/candidate
      # glance-k8s:
      #   channel: 2023.2/candidate
      #   revision: 66
      #   config:
      #     debug: true
      #     pool-type: replicated

      # Special cases

      # Configure mysql storage in single mysql scenario
      # mysql-k8s:
      #   storage:
      #     database: <value>

      # Configure mysql storage in multi mysql scenario
      # mysql-k8s:
      #   storage-map:
      #     keystone-k8s:
      #       database: <value>
      #     glance-k8s:
      #       database: <value>
      #     ...
    
      # Configure mysql configs in multi mysql scenario
      # mysql-k8s:
      #   config-map:
      #     keystone-k8s:
      #       <option>: <value>
      #     glance-k8s:
      #       <option>: <value>
      #     ...

      # Configure glance image repository for local storage
      # glance-k8s:
      #   storage:
      #     local-repository: <value>

    terraform:
      <plan>:
        source: <path-to-file>
      # Example:
      # hypervisor-plan:
      #   source: /home/ubuntu/deploy-openstack-hypervisor
features:
  loadbalancer:
    config:
      <option>: <value>
    software:
      charms:
        <charm>:
          channel: <channel>
          revision: <revision>
          config:
            <option>: <value>
            <option>: <value>
      ...
  tls:
    ca:
      config:
        # TLS
        certificates:
          <CSR x500UniqueIdentifier>:
            # Base64 encoded certificate for unit CSR Unique ID: subject
            certificate: <Base64 encoded certificate>

  ...

Last updated 12 days ago. Help improve this document in the forum.