library
turbot/azure_thrifty

Detect & correct Kubernetes clusters exceeding max age

Overview

Kubernetes clusters can be quite costly to retain, it is also likely that after a certain point in time they're no longer required and should be cleaned up to prevent further costs.

This pipeline allows you to specify a collection of Kubernetes clusters and then either send notifications or attempt to perform a predefined corrective action upon the collection.

Getting Started

This control will work out-of-the-box with some sensible defaults (configurable via variables).

You should be able to simply run the following command in your terminal:

flowpipe pipeline run detect_and_correct_kubernetes_clusters_exceeding_max_age

By default, Flowpipe runs in wizard mode and prompts directly in the terminal for a decision on the action(s) to take for each detected resource.

However, you can run Flowpipe in server mode with external integrations, allowing it to prompt for input via http, slack, teams, etc.

Alternatively, you can choose to configure and run in other modes:

  • Notify: Provides detections without taking any corrective action.
  • Automatic: Performs corrective actions automatically without user intervention.

Run the pipeline

To run this pipeline from your terminal:

flowpipe pipeline run azure_thrifty.pipeline.detect_and_correct_kubernetes_clusters_exceeding_max_age

Use this pipeline

To call this pipeline from your pipeline, use a step:

step "pipeline" "step_name" {
pipeline = azure_thrifty.pipeline.detect_and_correct_kubernetes_clusters_exceeding_max_age
}

Params

NameTypeRequiredDescriptionDefault
databasestringYesDatabase connection string.postgres://steampipe@localhost:9193/steampipe
notifierstringYesThe name of the notifier to use for sending notification messages.default
notification_levelstringYesThe verbosity level of notification messages to send. Valid options are 'verbose', 'info', 'error'.info
approverslist(string)YesList of notifiers to be used for obtaining action/approval decisions.
[
"default"
]
default_actionstringYesThe default action to use for the detected item, used if no input is provided.notify
enabled_actionslist(string)YesThe list of enabled actions to provide to approvers for selection.
[
"skip",
"delete_cluster"
]

Outputs

This pipeline has no outputs.

Tags

category = Cost
class = unused
plugin = azure
service = Azure/Kubernetes
type = featured