/shodan

Team automation Slack bot for control plane teams

Primary LanguageGoApache License 2.0Apache-2.0

Go

Bugzilla Operator

This operator provide Bugzilla automation and reporting for OpenShift engineering team, in particular:

  • Flag bugs that are inactive for longer than 30 days with LifecycleStale keyword in Developer Whiteboard.
  • Automatically close bugs that were flagged after 7 days for further inactivity.
  • Automatically reset the flag when activity (needinfo?) flag is reset.
  • Report current blocker bug counts via Slack integration to team status channel and provide provide personalized list to bug assignee
  • Report bugs closed in last 24h via Slack integration

Controllers

stalecontroller list bugs that has been inactive for 30 days and will be flagged with LifecycleStale:

  • Days since bug changed: (is greater than or equal to) 30
  • Severity is not urgent
  • Link System Description does not include Customer Portal (customer bugs)
  • Link System Description does not include Github (bugs with PR's)
  • Summary does not include string CVE
  • Status is either NEW, ASSIGNED or POST

All bugs returned from this search query are updated as following:

  • LifecycleStale keyword is added to Developer Whiteboard field
  • Comment is added to the bug, asking reporter or assignee to take action
  • The bug priority is degraded (high->medium, medium->low)
  • The needinfo? flag is set for reporter
  • Both reporter and assignee are notified via Slack integration

Bugs with LifecycleStale keyword are automatically closed after 7 days of them being flagged, unless the keyword is removed or the needinfo? flag is reset.

resetcontroller list bugs that has been flagged as LifecycleStale but their needinfo flag was reset * Devel Whiteboard has LifecycleStale * Flags does not contain the string needinfo? * Status is either NEW, ASSIGNED or POST

All bugs returned from this search query are updated as following:

  • LifecycleReset keyword is added to Developer Whiteboard field (and LifecycleStale is removed)

Reports

Following reports are being delivery based on the cron schedule:

  • blockers

    • Status is either NEW, ASSIGNED or POST
    • Target release points to current release or --- or any _z-stream release
    • Priority and Severity is not low
  • closed

    • Status is CLOSED
    • Status changed after -1d

Installation

kubectl apply -f ./manifests

or:

make install

Configuration

The operator is configured via YAML configuration file you have to pass via the openshift-eng/shodan run --config flag. The operator automatically restart when this config is changed. The config is available via configmap/operator-config.

License

Licensed under the Apache License, Version 2.0.