diff --git a/operators/kubecost-operator/v2.4.1/manifests/charts.kubecost.com_costanalyzers.yaml b/operators/kubecost-operator/v2.4.10/manifests/charts.kubecost.com_costanalyzers.yaml similarity index 100% rename from operators/kubecost-operator/v2.4.1/manifests/charts.kubecost.com_costanalyzers.yaml rename to operators/kubecost-operator/v2.4.10/manifests/charts.kubecost.com_costanalyzers.yaml diff --git a/operators/kubecost-operator/v2.4.1/manifests/kubecost-operator-controller-manager-metrics-service_v1_service.yaml b/operators/kubecost-operator/v2.4.10/manifests/kubecost-operator-controller-manager-metrics-service_v1_service.yaml similarity index 100% rename from operators/kubecost-operator/v2.4.1/manifests/kubecost-operator-controller-manager-metrics-service_v1_service.yaml rename to operators/kubecost-operator/v2.4.10/manifests/kubecost-operator-controller-manager-metrics-service_v1_service.yaml diff --git a/operators/kubecost-operator/v2.4.1/manifests/kubecost-operator-costanalyzer-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/kubecost-operator/v2.4.10/manifests/kubecost-operator-costanalyzer-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml similarity index 100% rename from operators/kubecost-operator/v2.4.1/manifests/kubecost-operator-costanalyzer-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml rename to operators/kubecost-operator/v2.4.10/manifests/kubecost-operator-costanalyzer-editor-role_rbac.authorization.k8s.io_v1_clusterrole.yaml diff --git a/operators/kubecost-operator/v2.4.1/manifests/kubecost-operator-costanalyzer-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/kubecost-operator/v2.4.10/manifests/kubecost-operator-costanalyzer-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml similarity index 100% rename from operators/kubecost-operator/v2.4.1/manifests/kubecost-operator-costanalyzer-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml rename to operators/kubecost-operator/v2.4.10/manifests/kubecost-operator-costanalyzer-viewer-role_rbac.authorization.k8s.io_v1_clusterrole.yaml diff --git a/operators/kubecost-operator/v2.4.1/manifests/kubecost-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/kubecost-operator/v2.4.10/manifests/kubecost-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml similarity index 100% rename from operators/kubecost-operator/v2.4.1/manifests/kubecost-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml rename to operators/kubecost-operator/v2.4.10/manifests/kubecost-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml diff --git a/operators/kubecost-operator/v2.4.1/manifests/kubecost-operator.clusterserviceversion.yaml b/operators/kubecost-operator/v2.4.10/manifests/kubecost-operator.clusterserviceversion.yaml similarity index 90% rename from operators/kubecost-operator/v2.4.1/manifests/kubecost-operator.clusterserviceversion.yaml rename to operators/kubecost-operator/v2.4.10/manifests/kubecost-operator.clusterserviceversion.yaml index 1be2e65947..7cb7a1a7db 100644 --- a/operators/kubecost-operator/v2.4.1/manifests/kubecost-operator.clusterserviceversion.yaml +++ b/operators/kubecost-operator/v2.4.10/manifests/kubecost-operator.clusterserviceversion.yaml @@ -257,8 +257,8 @@ metadata: "enabled": false }, "scc": { - "networkCosts": true, - "nodeExporter": true + "networkCosts": false, + "nodeExporter": false }, "securityContext": { "runAsNonRoot": true, @@ -883,6 +883,76 @@ metadata: "resources": {} } }, + "extraScrapeConfigs": [ + { + "job_name": "kubecost", + "honor_labels": true, + "scrape_interval": "1m", + "scrape_timeout": "60s", + "metrics_path": "/metrics", + "scheme": "http", + "dns_sd_configs": [ + { + "names": [ + "{{ template \"cost-analyzer.serviceName\" . }}" + ], + "type": "A", + "port": 9003 + } + ] + }, + { + "job_name": "kubecost-networking", + "kubernetes_sd_configs": [ + { + "role": "pod" + } + ], + "relabel_configs": [ + { + "source_labels": ["__meta_kubernetes_pod_label_app_kubernetes_io_instance"], + "action": "keep", + "regex": "kubecost" + }, + { + "source_labels": ["__meta_kubernetes_pod_label_app_kubernetes_io_name"], + "action": "keep", + "regex": "network-costs" + } + ] + }, + { + "job_name": "kubecost-aggregator", + "scrape_interval": "1m", + "scrape_timeout": "60s", + "metrics_path": "/metrics", + "scheme": "http", + "dns_sd_configs": [ + { + "names": [ + "{{ template \"aggregator.serviceName\" . }}" + ], + "type": "A", + "port": 9004 + } + ] + }, + { + "job_name": "kubecost-dcgm-exporter", + "kubernetes_sd_configs": [ + { + "role": "endpoints" + } + ], + "relabel_configs": [ + { + "source_labels": ["__meta_kubernetes_pod_label_app", "__meta_kubernetes_pod_label_app_kubernetes_io_component", "__meta_kubernetes_pod_label_app_kubernetes_io_name"], + "action": "keep", + "regex": "(?i)(.*dcgm-exporter.*|.*dcgm-exporter.*|.*dcgm-exporter.*)" + } + ] + } + ], "imagePullSecrets": null, "networkPolicy": { "enabled": false @@ -1087,6 +1157,13 @@ metadata: } ], "metric_relabel_configs": [ + { + "action": "keep", + "regex": "(container_cpu_allocation|container_cpu_usage_seconds_total|\ncontainer_fs_limit_bytes|container_fs_writes_bytes_total|\ncontainer_gpu_allocation|container_memory_allocation_bytes|\ncontainer_memory_usage_bytes|container_memory_working_set_bytes|\ncontainer_network_receive_bytes_total|container_network_transmit_bytes_total|\nDCGM_FI_DEV_GPU_UTIL|deployment_match_labels|\nkube_daemonset_status_desired_number_scheduled|\nkube_daemonset_status_number_ready|kube_deployment_spec_replicas|\nkube_deployment_status_replicas|\nkube_deployment_status_replicas_available|kube_job_status_failed|\nkube_namespace_annotations|kube_namespace_labels|kube_node_info|\nkube_node_labels|kube_node_status_allocatable|\nkube_node_status_allocatable_cpu_cores|\nkube_node_status_allocatable_memory_bytes|\nkube_node_status_capacity|kube_node_status_capacity_cpu_cores|\nkube_node_status_capacity_memory_bytes|kube_node_status_condition|\nkube_persistentvolume_capacity_bytes|kube_persistentvolume_status_phase|\nkube_persistentvolumeclaim_info|\nkube_persistentvolumeclaim_resource_requests_storage_bytes|\nkube_pod_container_info|\nkube_pod_container_resource_limits|\nkube_pod_container_resource_limits_cpu_cores|\nkube_pod_container_resource_limits_memory_bytes|\nkube_pod_container_resource_requests|\nkube_pod_container_resource_requests_cpu_cores|\nkube_pod_container_resource_requests_memory_bytes|\nkube_pod_container_status_restarts_total|\nkube_pod_container_status_running|\nkube_pod_container_status_terminated_reason|\nkube_pod_labels|kube_pod_owner|kube_pod_status_phase|\nkube_replicaset_owner|kube_statefulset_replicas|\nkube_statefulset_status_replicas|kubecost_cluster_info|\nkubecost_cluster_management_cost|\nkubecost_cluster_memory_working_set_bytes|\nkubecost_load_balancer_cost|\nkubecost_network_internet_egress_cost|\nkubecost_network_region_egress_cost|\nkubecost_network_zone_egress_cost|\nkubecost_node_is_spot|\nkubecost_pod_network_egress_bytes_total|node_cpu_hourly_cost|\nnode_cpu_seconds_total|node_disk_reads_completed|\nnode_disk_reads_completed_total|node_disk_writes_completed|\nnode_disk_writes_completed_total|node_filesystem_device_error|\nnode_gpu_count|node_gpu_hourly_cost|node_memory_Buffers_bytes|\nnode_memory_Cached_bytes|node_memory_MemAvailable_bytes|\nnode_memory_MemFree_bytes|node_memory_MemTotal_bytes|\nnode_network_transmit_bytes_total|node_ram_hourly_cost|\nnode_total_hourly_cost|pod_pvc_allocation|pv_hourly_cost|\nservice_selector_labels|statefulSet_match_labels|kubecost_pv_info|up)", + "source_labels": [ + "__name__" + ] + }, { "action": "replace", "regex": "(.+)", @@ -1177,6 +1254,14 @@ metadata: "role": "endpoints" } ], + "metric_relabel_configs": [ + { + "regex": "(container_cpu_allocation|container_cpu_usage_seconds_total|container_fs_limit_bytes|\ncontainer_fs_writes_bytes_total container_gpu_allocation|container_memory_allocation_bytes|\ncontainer_memory_usage_bytes|container_memory_working_set_bytes container_network_receive_bytes_total|\ncontainer_network_transmit_bytes_total|DCGM_FI_DEV_GPU_UTIL|deployment_match_labels \nkube_daemonset_status_desired_number_scheduled|kube_daemonset_status_number_ready|\nkube_deployment_spec_replicas kube_deployment_status_replicas|kube_deployment_status_replicas_available|\nkube_job_status_failed|kube_namespace_annotations kube_namespace_labels|kube_node_info|\nkube_node_labels|kube_node_status_allocatable|kube_node_status_allocatable_cpu_cores \nkube_node_status_allocatable_memory_bytes|kube_node_status_capacity|\nkube_node_status_capacity_cpu_cores kube_node_status_capacity_memory_bytes|\nkube_node_status_condition|kube_persistentvolume_capacity_bytes \nkube_persistentvolume_status_phase|kube_persistentvolumeclaim_info|\nkube_persistentvolumeclaim_resource_requests_storage_bytes kube_pod_container_info|\nkube_pod_container_resource_limits|kube_pod_container_resource_limits_cpu_cores \nkube_pod_container_resource_limits_memory_bytes|kube_pod_container_resource_requests \nkube_pod_container_resource_requests_cpu_cores|\nkube_pod_container_resource_requests_memory_bytes \nkube_pod_container_status_restarts_total|kube_pod_container_status_running|\nkube_pod_container_status_terminated_reason kube_pod_labels|kube_pod_owner|\nkube_pod_status_phase|kube_replicaset_owner|kube_statefulset_replicas \nkube_statefulset_status_replicas|kubecost_cluster_info|kubecost_cluster_management_cost \nkubecost_cluster_memory_working_set_bytes|kubecost_load_balancer_cost|\nkubecost_network_internet_egress_cost kubecost_network_region_egress_cost|\nkubecost_network_zone_egress_cost|kubecost_node_is_spot \nkubecost_pod_network_egress_bytes_total|node_cpu_hourly_cost|\nnode_cpu_seconds_total|node_disk_reads_completed node_disk_reads_completed_total|\nnode_disk_writes_completed|node_disk_writes_completed_total|node_filesystem_device_error \nnode_gpu_count|node_gpu_hourly_cost|node_memory_Buffers_bytes|node_memory_Cached_bytes|\nnode_memory_MemAvailable_bytes node_memory_MemFree_bytes|node_memory_MemTotal_bytes|\nnode_network_transmit_bytes_total|node_ram_hourly_cost node_total_hourly_cost|\npod_pvc_allocation|pv_hourly_cost|service_selector_labels|statefulSet_match_labels|\nkubecost_pv_info|up ", + "source_labels": [ + "__name__" + ] + } + ], "relabel_configs": [ { "action": "keep", @@ -1422,21 +1507,21 @@ metadata: ] capabilities: Basic Install categories: Monitoring + containerImage: quay.io/kcadawson/kubecost-operator@sha256:b6809046c8ba5a2a4103d31418a463afbd33d034a379e86d5cc4db602ff98d73 + description: An operator that deploys Kubecost 2.4.1 via the Helm chart. + com.redhat.openshift.versions: v4.11 features.operators.openshift.io/disconnected: "true" features.operators.openshift.io/fips-compliant: "false" - features.operators.openshift.io/proxy-aware: "true" + features.operators.openshift.io/proxy-aware: "false" features.operators.openshift.io/tls-profiles: "false" features.operators.openshift.io/token-auth-aws: "false" features.operators.openshift.io/token-auth-azure: "false" features.operators.openshift.io/token-auth-gcp: "false" - operators.openshift.io/valid-subscription: Contact Kubecost for subscription information. - containerImage: quay.io/kcadawson/kubecost-operator@sha256:182ec16a6c6743fe9ebb72ec79ac7d37eb7174e45a7e5c9d008003e1d4d0d853 - description: An operator that deploys Kubecost 2.4.1 via the Helm chart. support: Stackwatch createdAt: "2024-10-03T20:05:05Z" operators.operatorframework.io/builder: operator-sdk-v1.37.0 operators.operatorframework.io/project_layout: helm.sdk.operatorframework.io/v1 - name: kubecost-operator.v2.4.1 + name: kubecost-operator.v2.4.10 namespace: kubecost spec: apiservicedefinitions: {} @@ -1821,7 +1906,7 @@ spec: - --metrics-bind-address=127.0.0.1:8080 - --leader-elect - --leader-election-id=kubecost-operator - image: quay.io/kcadawson/kubecost-operator@sha256:182ec16a6c6743fe9ebb72ec79ac7d37eb7174e45a7e5c9d008003e1d4d0d853 + image: quay.io/kcadawson/kubecost-operator@sha256:b6809046c8ba5a2a4103d31418a463afbd33d034a379e86d5cc4db602ff98d73 livenessProbe: httpGet: path: /healthz @@ -1929,7 +2014,7 @@ spec: name: cluster-controller - image: gcr.io/kubebuilder/kube-rbac-proxy@sha256:771a9a173e033a3ad8b46f5c00a7036eaa88c8d8d1fbd89217325168998113ea name: kube-rbac-proxy - - image: quay.io/kcadawson/kubecost-operator@sha256:182ec16a6c6743fe9ebb72ec79ac7d37eb7174e45a7e5c9d008003e1d4d0d853 + - image: quay.io/kcadawson/kubecost-operator@sha256:b6809046c8ba5a2a4103d31418a463afbd33d034a379e86d5cc4db602ff98d73 name: manager - image: cgr.dev/chainguard/prometheus@sha256:d652f4811751e75f5af337377d8188fec7485099888e8cd6feb0ff65cd03abc6 name: prometheus @@ -1955,4 +2040,4 @@ spec: name: node-exporter - image: nginxinc/nginx-unprivileged@sha256:26c8c8ad980e08512841cda40a779076767ef0ac59ad94ac6a54244331f5c644 name: nginx-unprivileged - version: 2.4.1 + version: 2.4.10 diff --git a/operators/kubecost-operator/v2.4.1/metadata/annotations.yaml b/operators/kubecost-operator/v2.4.10/metadata/annotations.yaml similarity index 97% rename from operators/kubecost-operator/v2.4.1/metadata/annotations.yaml rename to operators/kubecost-operator/v2.4.10/metadata/annotations.yaml index d23df819d3..a962a59af2 100644 --- a/operators/kubecost-operator/v2.4.1/metadata/annotations.yaml +++ b/operators/kubecost-operator/v2.4.10/metadata/annotations.yaml @@ -1,5 +1,6 @@ --- annotations: + # Core bundle annotations. operators.operatorframework.io.bundle.mediatype.v1: registry+v1 operators.operatorframework.io.bundle.manifests.v1: manifests/ operators.operatorframework.io.bundle.metadata.v1: metadata/