Bundles (or "command bundles") are the packaging unit for collections of one or more commands. They are sets of related commands that, when installed in Gort, may be executed by users from any connected (and allowed) chat service.
A bundle configuration is a YAML-formatted document that describes a single bundle, including its name, description, version, container image, and one or more commands. Additionally, each command definition includes a name, description, and which binary in the container to execute when the command is triggered by a user.
See Bundle Configurations for more information.
Importantly, each command also includes one or more rules, which allows operators fine-grained control over who is able to execute chat commands, extending even to control over particular invocations of chat commands.. Permissions are namespaced to the bundle they originate from, so installing a bundle's permissions will never conflict with any existing rules. Except for admin
, permissions are never automatically assigned to users.
See Permissions and Rules for more information.
Each references a single Docker container image that contains all the binaries and other dependencies for executing one or more commands. They also include some data about the commands, including a small amount of documentation and other metadata.
See Writing A Command Bundle for more specifics.
Bundles can be installed into Gort by an administrator (or any user with the manage_commands
permission) using the gort
command-line utility.
See Managing Bundles for more on bundle installation.