Control: Ensure Container-Optimized OS (cos) is used for Kubernetes engine clusters
Description
This control checks that GKE clusters use Container-Optimized OS (cos) for Kubernetes engine clusters.
Usage
Run the control in your terminal:
powerpipe control run terraform_gcp_compliance.control.kubernetes_cluster_node_config_image_cos_containerd
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run terraform_gcp_compliance.control.kubernetes_cluster_node_config_image_cos_containerd --share
SQL
This control uses a named query:
select address as resource, case when (attributes_std -> 'node_config' ->> 'image_type') = 'COS_CONTAINERD' then 'ok' else 'alarm' end as status, split_part(address, '.', 2) || case when (attributes_std -> 'node_config') is null then ' ''node_config'' is not defined' when coalesce(trim((attributes_std -> 'node_config' ->> 'image_type')), '') = '' then ' ''node_config.image_type'' is not defined' when (attributes_std -> 'node_config' ->> 'image_type') = 'COS_CONTAINERD' then ' Container-Optimized OS(COS) is used' else ' Container-Optimized OS(COS) not used' end || '.' reason , path || ':' || start_linefrom terraform_resourcewhere type = 'google_container_cluster';