- Correct App Service Plans if unused
- Correct Compute disks attached to stopped VMs
- Correct Compute disks exceeding max size
- Correct Compute unattached disks
- Correct Compute disks with high IOPS
- Correct Compute disks with low usage
- Correct Compute snapshots exceeding max age
- Correct Compute snapshots with premium storage
- Correct Compute virtual machines exceeding max age
- Correct Compute virtual machines with low utilization
- Correct HDInsight clusters exceeding max age
- Correct Kubernetes clusters exceeding max age
- Correct Kusto clusters exceeding max age
- Correct Kusto clusters without autoscaling
- Correct Monitor log profiles without retention policy
- Correct Network application gateways without autoscaling
- Correct Network load balancers if unused
- Correct Network NAT gateways if unused
- Correct Network unattached public IPs
- Correct Network virtual network gateways if unused
- Correct one App Service Plan if unused
- Correct one Compute disks attached to stopped VMs
- Correct one Compute disk unattached
- Correct one Compute disk with high IOPS
- Correct one Compute disk with low usage
- Correct one Compute disk exceeding max size
- Correct one Compute snapshot exceeding max age
- Correct one Compute snapshot with premium storage
- Correct one Compute virtual machine exceeding max age
- Correct one Compute virtual machine with low utilization
- Correct one HDInsight cluster exceeding max age
- Correct one Kubernetes cluster exceeding max age
- Correct one Kusto cluster exceeding max age
- Correct one Kusto cluster without autoscaling
- Correct one Monitor log profile without retention policy
- Correct one Network application gateway without autoscaling
- Correct one Network load balancer if unused
- Correct one Network NAT gateway if unused
- Correct one Network unattached public IP
- Correct one Network virtual network gateway if unused
- Correct one Service Fabric cluster exceeding max age
- Correct one SQL database exceeding max age
- Correct one Storage account without lifecycle policy
- Correct one Compute virtual machine scale set if unused
- Correct Service Fabric clusters exceeding max age
- Correct SQL databases exceeding max age
- Correct Storage accounts without lifecycle policy
- Correct Compute virtual machine scale sets if unused
- Detect & correct App Service Plans if unused
- Detect & correct Compute disks attached to stopped VMs
- Detect & correct Compute disks unattached
- Detect & correct Compute disks with high IOPS
- Detect & correct Compute disk with low usage
- Detect & correct Compute snapshots exceeding max age
- Detect & correct Compute snapshots with premium storage
- Detect & correct Compute virtual machines exceeding max age
- Detect & correct Compute virtual machines with low utilization
- Detect & correct Compute disks exceeding max size
- Detect & correct HDInsight clusters exceeding max age
- Detect & correct Kubernetes clusters exceeding max age
- Detect & correct Kusto clusters exceeding max age
- Detect & correct Kusto clusters without autoscaling
- Detect & correct Monitor log profiles without retention policy
- Detect & correct Network application gateways without autoscaling
- Detect & correct Network load balancers if unused
- Detect & correct Network NAT gateways if unused
- Detect & correct Network unattached public IPs
- Detect & correct Network virtual network gateways if unused
- Detect & correct Service Fabric clusters exceeding max age
- Detect & correct SQL databases exceeding max age
- Detect & correct Storage accounts without lifecycle policy
- Detect & correct Compute virtual machine scale sets if unused
- Delete Compute Disk
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:
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
Name | Type | Required | Description | Default |
---|---|---|---|---|
database | string | Yes | Database connection string. | postgres://steampipe@localhost:9193/steampipe |
notifier | string | Yes | The name of the notifier to use for sending notification messages. | default |
notification_level | string | Yes | The verbosity level of notification messages to send. Valid options are 'verbose', 'info', 'error'. | info |
approvers | list(string) | Yes | List of notifiers to be used for obtaining action/approval decisions. |
|
default_action | string | Yes | The default action to use for the detected item, used if no input is provided. | notify |
enabled_actions | list(string) | Yes | The list of enabled actions to provide to approvers for selection. |
|
Outputs
This pipeline has no outputs.