Skip to content

NewRefProposal

Anton Kremenetsky edited this page May 18, 2025 · 2 revisions

Example of manifests with new reference proposal.

Name: FooElement
SchemaVersion: 1
Version: "0.0.1"

Requires:
  Core: [">= 0.0.0", "< 1.0.0"] 

Resources:
  Core.Object.artifacts:
    Controller:
      source: "https://github.com/orgs/infraguys/images/controller.img"
    Template:
      source: "https://github.com/orgs/infraguys/templates/template.j2"

  Core.Compute.nodes:
    Controller:
      cores: 1
      ram: 1024
      image: "$Core.Object.artifacts.Controller.image_uuid"
      node_type: "VM"

  Core.Config.configs:
    ControllerConf:
      path: "/etc/controller/controller.env"
      target:
        kind: "node"
        node: "$Core.Compute.nodes.Controller.uuid"
      body:
        kind: "template"
        template: "$Core.Object.artifacts.Template.location"
        params:
          node_ip: "$Core.Compute.nodes.Controller.ipv4"
      on_change:
        kind: "command"
        command: "systemctl restart controller.service"
Name: FooElement
SchemaVersion: 1
Version: "0.0.1"

Requires:
  Core: [">= 0.0.0", "< 1.0.0"] 

Resources:
  Core.Object.artifacts:
    Controller:
      source: "https://github.com/orgs/infraguys/images/controller.img"
    Template:
      source: "https://github.com/orgs/infraguys/templates/template.j2"

  Core.Compute.sets:
    Controller:
      replicas: 3
      cores: 1
      ram: 1024
      image: "$Core.Object.artifacts.Controller.image_uuid"
      node_type: "VM"

  Core.Config.configs:
    ControllerConf:
      path: "/etc/controller/controller.env"
      target:
        kind: "set"
        node: "$Core.Compute.sets.Controller.uuid"
      body:
        kind: "collection_template"
        template: "$Core.Object.artifacts.Template.location"
        params:
          node_ip: "$Core.Compute.sets.Controller.nodes[].ipv4"
      on_change:
        kind: "command"
        command: "systemctl restart controller.service"

Clone this wiki locally