Skip to content

v1.0.0

Compare
Choose a tag to compare
@huseyinbabal huseyinbabal released this 03 Apr 14:01
· 276 commits to main since this release

What's Changed

Breaking Changes 💥

  • notification: short/long was removed, it's up to the plugin to return a suitable message.
  • kubectl error handling
    Before:
    "Sorry, the kubectl command is not authorized to work with 'role' resources in the 'default' Namespace on cluster '%s'. Use 'list executors' to see allowed executors."
    
    After:
    Error from server (Forbidden): roles.rbac.authorization.k8s.io is forbidden: User "kubectl-wait-and-deploy-all" cannot list resource "roles" in API group "rbac.authorization.k8s.io" in the namespace "default"
    
  • kubectl configuration is named as botkube/kubectl
  • kubernetes configuration is named as botkube/kubernetes
  • Kubernetes source constraints event.reason, event.message and resources[].name are now objects with two lists: include and exclude. Both take exact values or regex patterns. Exclude takes precedence over include.

This allows you to set exclude patterns, and also unifies the configuration with namespaces constraints.

  • New RBAC support: Plugins that use Kubernetes client need to declare RBAC config in order to get kubeconfig.
    botkube/kubectl:
      context:
        rbac:
          group:
            type: Static
            prefix: ""
            static:
              values: [my-group]
  • filters configuration is removed from main configuration, now it is under Kubernetes source plugin.
    Before:
    # ...trimmed
    filters:
      kubernetes:
        objectAnnotationChecker: true
        nodeEventsChecker: true
    #...trimmed
    After:
    ...trimmed
     'k8s-all-events':
        displayName: "Kubernetes Info"
        botkube/kubernetes:
          enabled: true
          config:
            filters:
              objectAnnotationChecker: true
              nodeEventsChecker: true
    # ...trimmed

Implemented Enhancements 🎉

  • Update prometheus message format by @mszostok in #966
  • Add SourceBindings built-in alias and fix filtering commands by @pkosiec in #967
  • Use new format to download deps by @mszostok in #968
  • Support include/exclude regexes for event and resource constraints by @pkosiec in #963
  • Add kubectl plugin to run directly typed kubectl commands by @mszostok in #973
  • Introduce global bot name placeholder by @mszostok in #979
  • Include API Key when fetching remote Botkube configuration by @pkosiec in #980
  • Add interactive builder in kubectl plugin by @mszostok in #982
  • Kubernetes source plugin by @huseyinbabal in #985
  • Add resource version for status reporting and update configuration types by @pkosiec in #1004
  • Add event rendering for all platforms, add isInteractive, fix e2e tests, update Prometheus by @mszostok in #1005
  • Reload Botkube on remote config change by @pkosiec in #1006
  • Update and validate plugin JSON schemas, produce second plugin index by @pkosiec in #1013
  • Report Deployment ID when using remote configuration by @pkosiec in #1019
  • Support ChannelName RBAC mapping for executors by @josefkarasek in #1023
  • Remove built-in kubectl, filters, defaultNamespace, fix list bugs by @mszostok in #1026
  • Add error message to remote gql reporter by @mszostok in #1029

Fixed Bugs 🐛

  • Fix alias validation and "Show Config" button in Help by @pkosiec in #970
  • Enable actions even if not bind to a specific channel by @mszostok in #1014
  • Fix audit log reporting for source events and commands by @pkosiec in #1022

Other Changes ✨

New Contributors

Full Changelog: v0.18.0...v1.0.0