/zbctl-snap

Snap package of zbctl (the command-line client for Camunda Platform 8) allowing easy installation and automatic updates on Linux.

Primary LanguageShellApache License 2.0Apache-2.0

Community Extension Compatible with: Camunda Platform 8

zbctl via Snap

zbctl zbctl

Zeebe CLI via Snap.

This is a Snap package of zbctl (the command-line client for Camunda Platform 8).

With this you can easily install zbctl on Linux and keep it up to date through the automatic updater of your distro. The package also shows up if you search for 'Camunda' or 'Zeebe' in your package manager, e.g. 'Ubuntu Software' desktop app.

Screenshot showing zbctl in the Ubuntu Software app

The snap build is based the official zbctl binaries from the GitHub release page. However, the fully automated build infrastructure provided for free by Snapcraft would also allow cross compilation to currently unsupported CPU architectures. For such a multi-platform build one would have to build from the go sources. The next tools to package like this would be Camunda Modeler and zdb.

Installation

Get it from the Snap Store

snap install zbctl

Updating

snap refresh zbctl

Testing alpha releases

snap install zbctl --channel=beta

Usage

Official zbctl documentation

zbctl [options] [command]
zbctl is a command line interface for Camunda Platform 8 designed to create and read resources inside a Zeebe broker.
It can be used for regular development and maintenance tasks such as:
        * Deploying processes
        * Creating process instances and job workers
        * Activating, completing, or failing jobs
        * Updating variables and retries
        * Viewing cluster status

Usage:
  zbctl [command]

Available Commands:
  activate    Activate a resource
  cancel      Cancel resource
  complete    Complete a resource
  create      Create resources
  deploy      Creates new workflow defined by provided BPMN or YAML file as workflowPath
  fail        Fail a resource
  generate    Generate documentation
  help        Help about any command
  publish     Publish a message
  resolve     Resolve a resource
  set         Set a resource
  status      Checks the current status of the cluster
  update      Update a resource
  version     Print the version of zbctl

Flags:
      --address string        Specify a contact point address. If omitted, will read from the environment variable 'ZEEBE_ADDRESS' (default '127.0.0.1:26500')
      --audience string       Specify the resource that the access token should be valid for. If omitted, will read from the environment variable 'ZEEBE_TOKEN_AUDIENCE'
      --authzUrl string       Specify an authorization server URL from which to request an access token. If omitted, will read from the environment variable 'ZEEBE_AUTHORIZATION_SERVER_URL' (default "https://login.cloud.camunda.io/oauth/token/")
      --certPath string       Specify a path to a certificate with which to validate gateway requests. If omitted, will read from the environment variable 'ZEEBE_CA_CERTIFICATE_PATH'
      --clientCache string    Specify the path to use for the OAuth credentials cache. If omitted, will read from the environment variable 'ZEEBE_CLIENT_CONFIG_PATH' (default "/Users/sitapati/.camunda/credentials")
      --clientId string       Specify a client identifier to request an access token. If omitted, will read from the environment variable 'ZEEBE_CLIENT_ID'
      --clientSecret string   Specify a client secret to request an access token. If omitted, will read from the environment variable 'ZEEBE_CLIENT_SECRET'
  -h, --help                  help for zbctl
      --insecure              Specify if zbctl should use an unsecured connection. If omitted, will read from the environment variable 'ZEEBE_INSECURE_CONNECTION'

Use "zbctl [command] --help" for more information about a command.

Updating the Snap package

If you want to submit a PR to update the package with a newer version of zbctl, you need to:

  1. Run ./update.sh which will:
    1. Fetch that latest Zeebe version number from the Zeebe release page using gh.
    2. Update the package version in snap/snapcraft.yaml to match the Zeebe release version.
    3. Update the source-checksum with the value of the camunda-zeebe-*.tar.gz.sha1sum file from the Zeebe release page.
  2. Test locally
    1. Build the package locally by running snapcraft.
    2. Test the installation using snap install zbctl_*_amd64.snap --dangerous
  3. Push to GitHub.
  4. Once a pull request is merged to the main branch, Snapcraft will automatically build the package and publish it to the edge channel.
  5. From there it can be installed and tested using:
    snap refresh zbctl --channel=edge
    zbctl version
    zbctl status
  6. @falko promotes the package to the stable channel on the Snap Store after the build has finished.