Table: helm_value - Query Kubernetes Helm Values using SQL
Kubernetes Helm is a package manager for Kubernetes that allows developers and operators to more easily package, configure, and deploy applications and services onto Kubernetes clusters. Helm uses a packaging format called charts, and a chart is a collection of files that describe a related set of Kubernetes resources. Helm Values are the specific configurations for a Helm Chart.
Table Usage Guide
The helm_value
table provides insights into Helm Values within Kubernetes. As a DevOps engineer, explore Helm Value-specific details through this table, including the configurations of different Kubernetes applications and services. Utilize it to uncover information about Helm Values, such as those relating to specific Helm Charts, the configurations of different services, and the verification of configurations.
By design, applications can ship with default values.yaml file tuned for production deployments. Also, considering the multiple environments, it may have different configurations. To override the default value, it is not necessary to change the default values.yaml, but you can refer to the override value files from which it takes the configuration. For example:
Let's say you have two different environments for maintaining your app: dev and prod. And, you have a helm chart with 2 different set of values for your environments. For example:
connection "kubernetes" { plugin = "kubernetes"
helm_rendered_charts = { "my-app-dev" = { chart_path = "~/charts/my-app" values_file_paths = "~/value/file/for/dev.yaml" } "my-app-prod" = { chart_path = "~/charts/my-app" values_file_paths = "~/value/file/for/prod.yaml" } }}
The table helm_value
lists the values from the chart's default values.yaml file, as well as it lists the values from the files that are provided to override the default configuration.
Important Notes
- You must specify the
path
column in thewhere
clause to query this table.
Examples
List values configured in the default values.yaml file of a specific chart
Analyze the settings to understand the default configurations set in a specific chart's values.yaml file in Helm, which is beneficial for auditing or modifying these configurations. This allows you to pinpoint the specific locations where changes have been made, enhancing your control over the chart's behavior.
select path, key_path, value, start_line, start_columnfrom helm_valuewhere path = '~/charts/my-app/values.yaml'order by start_line;
select path, key_path, value, start_line, start_columnfrom helm_valuewhere path = '~/charts/my-app/values.yaml'order by start_line;
List values from a specific override file
Explore which values are being used from a specific file in your Helm configuration. This can be particularly useful to understand and manage your development environment settings.
select path, key_path, value, start_line, start_columnfrom helm_valuewhere path = '~/value/file/for/dev.yaml'order by start_line;
select path, key_path, value, start_line, start_columnfrom helm_valuewhere path = '~/value/file/for/dev.yaml'order by start_line;
Schema for helm_value
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form. | |
foot_comment | text | Specifies the comment following the node and before empty lines. | |
head_comment | text | Specifies the comment in the lines preceding the node and not separated by an empty line. | |
key_path | ltree | Specifies full path of a key in YML file. | |
keys | jsonb | The array representation of path of a key. | |
line_comment | text | Specifies the comment at the end of the line where the node is in. | |
path | text | Name is the path-like name of the template. | |
pre_comments | jsonb | Specifies the comments added above a key. | |
sp_connection_name | text | Steampipe connection name. | |
sp_ctx | jsonb | Steampipe context in JSON form. | |
start_column | bigint | Specifies the starting column of the value. | |
start_line | bigint | Specifies the line number where the value is located. | |
value | text | Specifies the value of the corresponding key. |
Export
This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.
You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh
script:
/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- kubernetes
You can pass the configuration to the command with the --config
argument:
steampipe_export_kubernetes --config '<your_config>' helm_value