Releases: getgort/gort
v0.9.3-alpha.2 - Connection leak fix!
This is primarily a bug fix for #205, reported by @mmiller1. Thanks, Matt!
What's Changed
- Rename config.IsDefined to simply config.Defined by @clockworksoul in #206
- Fix for Postgres connection leak bug by @clockworksoul in #208
Full Changelog: v0.9.3-alpha.1...v0.9.3-alpha.2
v0.9.3-alpha.1
Just one change in this release:
- Update containerd/containerd per Dependabot warning by @clockworksoul in #202
v0.9.3-alpha.0
In this release we're including a couple of "preview" features in what we'd consider an "alpha" stage to allow any brave souls to experiment with it.
Full documentation for these new features coming soon!
Overview
-
[ALPHA] Dynamic configuration: The
gort config
series of commands now exists, allowing a user to define custom uses the Gort database to store all values in plain text. Do not use this for sensitive purposes! The final v0.9.3 release will include a Vault implementation as well. -
[ALPHA] Triggers: Bundle commands can now be decorated with regular expressions that can match non "command" text. This allows commands to be constructed that execute in response to any pattern of the designer's choosing!
-
[ALPHA] Kubernetes secrets injection: The. new
env_secret
property in thekubernetes
configuration allows the contents of a Kubernetessecrets
resource to be injected directly into all commands!
Congratulations and many thanks to @mmiller1 for his first of hopefully many contributions!
Full contributions
- Fixed crash on empty command bug by @clockworksoul in #173
- Add CONTRIBUTING and CODE_OF_CONDUCT files by @clockworksoul in #178
- Bump development version by @clockworksoul in #180
- Fix for database creation bug by @clockworksoul in #183
- send feedback when a recognized command is found by @mmiller1 in #187
- DAL support for dynamic configuration key/values by @clockworksoul in #188
- Update pre-commit and directions in CONTRIBUTING.md by @clockworksoul in #190
- Update TODO by @clockworksoul in #191
- Add Dynamic Configuration REST methods to service by @clockworksoul in #192
- Add support for dynamic configurations to Gort HTTP client by @clockworksoul in #193
- Add "trigger" support to respond to non-command text by @theothertomelliott in #185
- Add BundleExists as separate function from BundleVersionExists by @clockworksoul in #196
- Implement dynamic configuration get/set/delete CLI by @clockworksoul in #195
- Dynamic Configuration injection: first iteration by @clockworksoul in #199
- Minor:
whoami
command help output formatting by @clockworksoul in #200 - WIP: allow kubernetes Secrets to be injected into the worker's environment by @mmiller1 in #189
New Contributors
Full Changelog: v0.9.1...v0.9.3-alpha.0
v0.9.2
v0.9.1 - Minor bug fix release
This release mostly consists of some minor (and at least one not-so-minor) bug fixes.
Specifically
- Fixed a bug where Slack templates can't be green (#171)
- Some much-needed corrections to the README (#172 and #177)
- Fixed a pretty awful crash on empty command bug (#173)
- Finally added CONTRIBUTING and CODE_OF_CONDUCT files (#178)
Enjoy!
v0.9.0 - Templating, Kubernetes, Discord, Oh My!
So many much-requested changes are included in this release, ranging from Kubernetes support, to output formatting, to Discord support!
Output Format Templating!
This feature allows you to control the look and feel (and, to some degree, content) of any information sent to users in a chat-agnostic way.
- Add colors, images, or other text formatting to your command (a future release will add buttons to chat providers that support it.
- Both Gort system messages and command output message may be customized (within the constraints imposed by a given chat provider).
- Templates can be defined at the application configuration level, the bundle level, and even the individual command level. Or you can just use the defaults. They're fine.
- JSON objects output by commands are easily accessible.
For more information about Templates, see the official documentation.
Kubernetes Support!
Gort now fully supports Kubernetes!
- Gort is now very happy to be deployed in Kubernetes!
- All commands are executed as Kubernetes Jobs in the installation namespace.
- There's even a Helm chart available in
/helm
that creates the necessary resources to create a fully-working installation.
Going forward Kubernetes will become the recommended installation path. Docker deployments will continue to be supported for the foreseeable future.
Discord Support!
Done with Slack? Gort now fully supports Discord as a first-level chat provider! Check out the quick start guide for more information on how to set this up.
(Yes, you can connect simultaneously to one or more Slack workspaces and one or more Discord servers.)
Quality of Life Changes!
Various quality-of-life tweaks have been made as well:
- The Gort controller now generates a self-signed certificate if one isn't provided (though it complains loudly, and forces you to set the
--allow-insecure
flag to use it). - Some annoying token timeout behavior has been fixed.
- Added a
-F
flag to thebootstrap
command, for when a profile already exists. - It is now easier to find your chat user ID (#162)
- It's automatically given to you if your user is unregistered
- Registered users can use the
gort:whoami
command to get the same information.
- The
docker
value in bundle manifests has been replaced by a simple string, calledimage
- Various minor bug fixes and output formatting.
Internal Changes
- Go mod version upgrades (#163)
- The DAL testing suite has been unified. No more keeping tests in sync! (#145)
(Full Changelog: v0.8.4...v0.9.0)
v0.8.4
What's Changed
- Add user adapter IDs mappings to User, with full DAL support by @clockworksoul in #122
- Make users map to service by ID, not email by @clockworksoul in #123
- Create 'user map' command by @clockworksoul in #124
- Postgres test containers now use port 10864 by @clockworksoul in #125
- Support for Discord by @theothertomelliott in #126
- Added a Tiltfile for K8S development by @theothertomelliott in #129
- Support ability to install bundles defined in remote Git repos by @clockworksoul in #130
Full Changelog: v0.8.3...v0.8.4
v0.8.3
This is a very small release, containing only a couple of changes:
What's Changed
- Several
group
subcommands can now support multiple arguments (#112) - Users with default permissions can now use the "help" command in chat (#113)
- The documentation now includes a Backus–Naur description of command execution rule syntax (getgort/getgort.github.io#5)
Full Changelog: v0.8.2...v0.8.3
v0.8.2 - Modern Slack bot API support
Long delayed, much anticipated, this release includes a number of minor, and at least one very useful feature: the addition of a new Slack adapter that uses the newer socket mode for Slack bots instead of the deprecated Real Time Messaging API! (#108).
Socket mode is enabled by specifying the new app_token
and bot_token
fields of the slack
config yaml instead of the Classic api_token
field. Using a "Classic" Slack app is still supported, but results in a deprecation warning.
Other changes include:
-
The
gort bundle install
command now accepts piped input from stdin (#101). -
Some missing fields were added to some
gort
subcommands (#100, #104, and #106). -
A bug was fixed in which uninstalling any bundle version would disable all bundles of same type (#107).
Full Changelog: v0.8.1...v0.8.2
v0.8.1
Version 0.8.1 only includes a small number of changes to simplify some internal complexity.
- The configuration is no longer reloaded whenever the config file changes (#97). This behavior was causing some strange behavior, so now the Gort will reload its config if it receives a
SIGHUP
signal or aGET
on the/v2/reload
endpoint. - The internal data access layer no longer uses a singleton internally. This was an odd decision initially, and I'm glad we undid it (#96).