onctl-templates

Ready to Use Templates for onctl

onctl is a unified CLI tool for provisioning and managing virtual machines across multiple cloud providers and local environments β€” six ways to boot a VM, one command.

Check 🌍 https://onctl.sh for detailed documentation, or install it directly:

curl -fsSL https://onctl.sh/get.sh | bash

Github All Releases GitHub release (latest SemVer)

What onctl brings

Adding a template

  1. Create a top-level directory with your script(s).
  2. Add a template.yaml next to them:

    description: Installs Foo on the VM.
    tags: [foo, database]
    entrypoint: foo.sh          # what `onctl up -a foo/foo.sh` runs
    env:                        # variables the script reads (PUBLIC_IP is always set by onctl)
      - name: FOO_PASSWORD
        required: true
        description: Admin password.
    usage:                      # optional: what to run on the VM once the script has finished
      - command: foo status
        description: Check that Foo is up.
    files:                      # every other script in the directory must be listed
      - path: foo-agent.sh
        description: Joins an existing Foo server.
    

    The full schema is in .github/scripts/manifest.py.

  3. Open a PR. CI validates the manifest and builds the site. On merge, index.yaml is generated and deployed; it isn’t committed.

    To preview it locally: python3 .github/scripts/generate_index.py && onctl templates list -f index.yaml