diff --git a/fleet/lib/kube-prometheus-stack-pre/externalsecret-grafana-opensearch.yaml b/fleet/lib/kube-prometheus-stack-pre/externalsecret-grafana-opensearch.yaml deleted file mode 100644 index 62d98e367..000000000 --- a/fleet/lib/kube-prometheus-stack-pre/externalsecret-grafana-opensearch.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: grafana-opensearch-credentials -spec: - secretStoreRef: - kind: ClusterSecretStore - name: onepassword - data: - - secretKey: OS_LOGGING_USERNAME - remoteRef: - key: &item opensearch-grafana-user - property: username - - secretKey: OS_LOGGING_PASSWORD - remoteRef: - key: *item - property: password diff --git a/fleet/lib/kube-prometheus-stack-pre/overlays/prod/externalsecrets-alertmanager-webhooks.yaml b/fleet/lib/kube-prometheus-stack-pre/externalsecrets-alertmanager-webhooks.yaml similarity index 100% rename from fleet/lib/kube-prometheus-stack-pre/overlays/prod/externalsecrets-alertmanager-webhooks.yaml rename to fleet/lib/kube-prometheus-stack-pre/externalsecrets-alertmanager-webhooks.yaml diff --git a/fleet/lib/kube-prometheus-stack-pre/fleet.yaml b/fleet/lib/kube-prometheus-stack-pre/fleet.yaml index db18405e2..0871b8716 100644 --- a/fleet/lib/kube-prometheus-stack-pre/fleet.yaml +++ b/fleet/lib/kube-prometheus-stack-pre/fleet.yaml @@ -12,38 +12,3 @@ dependsOn: - selector: matchLabels: bundle: external-secrets -targetCustomizations: - - name: ayekan - clusterSelector: - matchExpressions: - - key: management.cattle.io/cluster-display-name - operator: In - values: - - ayekan - yaml: - overlays: - - ayekan - - name: ogldap # remove if/when direct ldap is dropped - clusterSelector: - matchExpressions: - - key: management.cattle.io/cluster-display-name - operator: In - values: - - pillan - - ruka - - kueyen - yaml: - overlays: - - prod - - ldap - - name: prod - clusterSelector: - matchExpressions: - - key: site - operator: In - values: - - ls - - cp - yaml: - overlays: - - prod diff --git a/fleet/lib/kube-prometheus-stack-pre/overlays/ayekan/externalsecret-lsst-webhooks.yaml b/fleet/lib/kube-prometheus-stack-pre/overlays/ayekan/externalsecret-lsst-webhooks.yaml deleted file mode 100644 index e02fdf7ed..000000000 --- a/fleet/lib/kube-prometheus-stack-pre/overlays/ayekan/externalsecret-lsst-webhooks.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: lsst-webhooks -spec: - secretStoreRef: - kind: ClusterSecretStore - name: onepassword - data: - - secretKey: slack-test - remoteRef: - key: "slack #rubinobs-monitoring-test webhook url" - property: credential - - secretKey: squadcast-example - remoteRef: - key: squadcast prometheus service - property: credential - - secretKey: kafka - remoteRef: - key: alertmanager-kafka-credentials - property: receiver diff --git a/fleet/lib/kube-prometheus-stack-pre/overlays/ldap/externalsecret-grafana-ldap.yaml b/fleet/lib/kube-prometheus-stack-pre/overlays/ldap/externalsecret-grafana-ldap.yaml deleted file mode 100644 index ff9790408..000000000 --- a/fleet/lib/kube-prometheus-stack-pre/overlays/ldap/externalsecret-grafana-ldap.yaml +++ /dev/null @@ -1,70 +0,0 @@ ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: grafana-ldap -spec: - secretStoreRef: - kind: ClusterSecretStore - name: onepassword - target: - template: - data: - ldap-toml: | - [[servers]] - host = "{{ .servers }}" - port = 636 - use_ssl = true - start_tls = false - ssl_skip_verify = true - bind_dn = "uid={{ .username }},cn=users,cn=accounts,dc=lsst,dc=cloud" - # If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;""" - bind_password = """{{ .password }}""" - # Timeout in seconds. Applies to each host specified in the 'host' entry (space separated). - timeout = 10 - - # User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)" - # Allow login from email or username, example "(|(sAMAccountName=%s)(userPrincipalName=%s))" - search_filter = "(uid=%s)" - - # An array of base dns to search through - search_base_dns = ["cn=users,cn=accounts,dc=lsst,dc=cloud"] - - # group_search_filter = "(&(objectClass=posixGroup)(memberUid=%s))" - # group_search_filter_user_attribute = "distinguishedName" - # group_search_base_dns = ["ou=groups,dc=grafana,dc=org"] - - # Specify names of the LDAP attributes your LDAP uses - [servers.attributes] - name = "givenName" - surname = "sn" - username = "cn" - member_of = "memberOf" - email = "email" - - # Map ldap groups to grafana org roles - [[servers.group_mappings]] - group_dn = "cn=admins,cn=groups,cn=accounts,dc=lsst,dc=cloud" - org_role = "Admin" - - [[servers.group_mappings]] - group_dn = "cn=k8s-pillan-admins,cn=groups,cn=accounts,dc=lsst,dc=cloud" - org_role = "Editor" - - [[servers.group_mappings]] - # If you want to match all (or no ldap groups) then you can use wildcard - group_dn = "cn=k8s-pillan,cn=groups,cn=accounts,dc=lsst,dc=cloud" - org_role = "Viewer" - data: - - secretKey: username - remoteRef: - key: &item grafana service account - property: username - - secretKey: password - remoteRef: - key: *item - property: password - - secretKey: servers - remoteRef: - key: *item - property: servers diff --git a/fleet/lib/kube-prometheus-stack/aggregator/values.yaml b/fleet/lib/kube-prometheus-stack/aggregator/values.yaml index 841d5dae4..079c8eeb3 100644 --- a/fleet/lib/kube-prometheus-stack/aggregator/values.yaml +++ b/fleet/lib/kube-prometheus-stack/aggregator/values.yaml @@ -69,13 +69,6 @@ grafana: serviceMonitor: labels: lsst.io/monitor: "true" - resources: - limits: - cpu: 4 - memory: 512Mi - requests: - cpu: 250m - memory: 512Mi persistence: enabled: true deploymentStrategy: diff --git a/fleet/lib/kube-prometheus-stack/fleet.yaml b/fleet/lib/kube-prometheus-stack/fleet.yaml index bb56e6405..4c7140d60 100644 --- a/fleet/lib/kube-prometheus-stack/fleet.yaml +++ b/fleet/lib/kube-prometheus-stack/fleet.yaml @@ -9,7 +9,7 @@ helm: releaseName: *name repo: https://prometheus-community.github.io/helm-charts version: 75.11.0 - timeoutSeconds: 600 + timeoutSeconds: 1200 waitForJobs: true valuesFiles: - values.yaml @@ -43,19 +43,6 @@ diff: jsonPointers: - /spec/automountServiceAccountToken targetCustomizations: - - name: kueyen - clusterSelector: - matchExpressions: - - key: management.cattle.io/cluster-display-name - operator: In - values: - - kueyen - helm: - valuesFiles: - - pvc/values.yaml - - aggregator/values.yaml - - ldap/values.yaml - - overlays/kueyen/values.yaml - name: pillan clusterSelector: matchExpressions: @@ -67,33 +54,30 @@ targetCustomizations: valuesFiles: - pvc/values.yaml - aggregator/values.yaml - - ldap/values.yaml - overlays/pillan/values.yaml - - name: ruka + - name: antu clusterSelector: matchExpressions: - key: management.cattle.io/cluster-display-name operator: In values: - - ruka + - antu helm: valuesFiles: - - pvc/values.yaml + - pvc/values.yaml #not needed, loaded on all sites except tu - aggregator/values.yaml - - ldap/values.yaml - - overlays/ruka/values.yaml - - name: antu + - overlays/antu/values.yaml + - name: dev clusterSelector: matchExpressions: - - key: management.cattle.io/cluster-display-name + - key: site operator: In values: - - antu + - dev helm: valuesFiles: - - pvc/values.yaml - aggregator/values.yaml - - overlays/antu/values.yaml + - overlays/dev/values.yaml - name: cl-nopvc clusterSelector: matchExpressions: @@ -117,6 +101,7 @@ targetCustomizations: - url: https://mimir.ruka.dev.lsst.org/api/v1/push - url: https://mimir.antu.ls.lsst.org/api/v1/push - url: https://mimir.kueyen.dev.lsst.org/api/v1/push + - url: https://mimir.pukem.dev.lsst.org/api/v1/push - name: cl-default clusterSelector: matchExpressions: diff --git a/fleet/lib/kube-prometheus-stack/ldap/values.yaml b/fleet/lib/kube-prometheus-stack/ldap/values.yaml deleted file mode 100644 index ff38a67c2..000000000 --- a/fleet/lib/kube-prometheus-stack/ldap/values.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -grafana: - grafana.ini: - auth.ldap: - enabled: true - allow_sign_up: true - config_file: /etc/grafana/ldap.toml - ldap: - enabled: true - existingSecret: grafana-ldap diff --git a/fleet/lib/kube-prometheus-stack/overlays/ruka/values.yaml b/fleet/lib/kube-prometheus-stack/overlays/dev/values.yaml similarity index 62% rename from fleet/lib/kube-prometheus-stack/overlays/ruka/values.yaml rename to fleet/lib/kube-prometheus-stack/overlays/dev/values.yaml index e01e1b935..523d69652 100644 --- a/fleet/lib/kube-prometheus-stack/overlays/ruka/values.yaml +++ b/fleet/lib/kube-prometheus-stack/overlays/dev/values.yaml @@ -1,6 +1,8 @@ --- prometheus: prometheusSpec: + scrapeInterval: 10s + scrapeTimeout: 7s configMaps: - sd-snmp-network - sd-snmp-power @@ -8,12 +10,13 @@ prometheus: secrets: - puppetdb additionalScrapeConfigs: - - job_name: blackbox-ping-dev + - job_name: blackbox-icmp-puppetdb metrics_path: /probe params: module: [icmp] puppetdb_sd_configs: - - url: https://puppetdb.${ .ClusterLabels.site }.lsst.org:8443 + - &blackbox-icmp-puppetdb + url: https://puppetdb.${ .ClusterLabels.site }.lsst.org:8443 basic_auth: username: svc_prometheus password_file: /etc/prometheus/secrets/puppetdb/password @@ -29,9 +32,10 @@ prometheus: target_label: instance - target_label: __address__ replacement: prometheus-blackbox-exporter.blackbox-exporter:9115 - - job_name: node-exporter-dev + - job_name: node-puppetdb puppetdb_sd_configs: - - url: https://puppetdb.${ .ClusterLabels.site }.lsst.org:8443 + - &node-puppetdb + url: https://puppetdb.${ .ClusterLabels.site }.lsst.org:8443 basic_auth: username: svc_prometheus password_file: /etc/prometheus/secrets/puppetdb/password @@ -58,61 +62,15 @@ prometheus: target_label: role - source_labels: [__meta_puppetdb_parameter_cluster] target_label: cluster - - job_name: blackbox-ping-ls - puppetdb_sd_configs: - - url: https://puppetdb.ls.lsst.org:8443 - basic_auth: - username: svc_prometheus - password_file: /etc/prometheus/secrets/puppetdb/password - query: resources { type = "Class" and title = "Prometheus::Node_exporter" } - refresh_interval: 30s - follow_redirects: true - include_parameters: true - enable_http2: true - relabel_configs: - - source_labels: [__meta_puppetdb_certname] - target_label: __param_target - - source_labels: [__param_target] - target_label: instance - - target_label: __address__ - replacement: prometheus-blackbox-exporter.blackbox-exporter:9115 - - job_name: node-exporter-ls - puppetdb_sd_configs: - - url: https://puppetdb.ls.lsst.org:8443 - basic_auth: - username: svc_prometheus - password_file: /etc/prometheus/secrets/puppetdb/password - query: | - resources { - type = "Class" and title = "Profile::Core::Node_info" and - certname in resources[certname] { - type = "Class" and title = "Prometheus::Node_exporter" - } - } - refresh_interval: 30s - follow_redirects: true - include_parameters: true - enable_http2: true - port: 9100 - relabel_configs: - - source_labels: [__meta_puppetdb_certname] - target_label: instance - - source_labels: [__meta_puppetdb_environment] - target_label: environment - - source_labels: [__meta_puppetdb_parameter_site] - target_label: site - - source_labels: [__meta_puppetdb_parameter_role] - target_label: role - - source_labels: [__meta_puppetdb_parameter_cluster] - target_label: cluster - - job_name: snmp-network - metrics_path: /snmp + - job_name: blackbox-icmp-snmp + metrics_path: /probe params: - module: [if_mib] - auth: [rubin_v2] + module: [icmp] file_sd_configs: - files: - /etc/prometheus/configmaps/sd-snmp-network/snmp-network.json + - /etc/prometheus/configmaps/sd-snmp-power/snmp-power.json + - /etc/prometheus/configmaps/sd-snmp-raritan-pdu/snmp-raritan-pdu.json relabel_configs: - source_labels: [__address__] target_label: __param_target @@ -121,26 +79,25 @@ prometheus: - source_labels: [__meta_network_function] target_label: network_function - target_label: __address__ - replacement: prometheus-snmp-exporter.snmp-exporter:9116 - - job_name: blackbox-network - metrics_path: /probe + replacement: prometheus-blackbox-exporter.blackbox-exporter:9115 + - job_name: blackbox-snmp-raritan-pdu + metrics_path: /snmp + scrape_interval: 1m + scrape_timeout: 55s params: - module: [icmp] + module: [raritan] + auth: [rubin_v2] file_sd_configs: - files: - - /etc/prometheus/configmaps/sd-snmp-network/snmp-network.json - - /etc/prometheus/configmaps/sd-snmp-power/snmp-power.json - /etc/prometheus/configmaps/sd-snmp-raritan-pdu/snmp-raritan-pdu.json relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__meta_hostname] target_label: instance - - source_labels: [__meta_network_function] - target_label: network_function - target_label: __address__ - replacement: prometheus-blackbox-exporter.blackbox-exporter:9115 - - job_name: snmp-power + replacement: prometheus-snmp-exporter.snmp-exporter:9116 + - job_name: blackbox-snmp-power metrics_path: /snmp file_sd_configs: - files: @@ -156,26 +113,109 @@ prometheus: target_label: __param_module - target_label: __address__ replacement: prometheus-snmp-exporter.snmp-exporter:9116 - - job_name: snmp-raritan-pdu + - job_name: blackbox-snmp-network metrics_path: /snmp + scrape_interval: 30s + scrape_timeout: 25s params: - module: [raritan] + module: [if_mib] auth: [rubin_v2] file_sd_configs: - files: - - /etc/prometheus/configmaps/sd-snmp-raritan-pdu/snmp-raritan-pdu.json + - /etc/prometheus/configmaps/sd-snmp-network/snmp-network.json relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__meta_hostname] target_label: instance + - source_labels: [__meta_network_function] + target_label: network_function + - target_label: __address__ + replacement: prometheus-snmp-exporter.snmp-exporter:9116 + - job_name: blackbox-snmp-arista-tunnel + metrics_path: /snmp + params: + module: [arista_tunnel] + auth: [rubin_v2] + file_sd_configs: + - files: + - /etc/prometheus/configmaps/sd-snmp-network/snmp-network.json + relabel_configs: + - source_labels: [__meta_hostname] + regex: .*ipsec.* + action: keep + - source_labels: [__address__] + target_label: __param_target + - source_labels: [__meta_hostname] + target_label: instance + - source_labels: [__meta_network_function] + target_label: network_function - target_label: __address__ replacement: prometheus-snmp-exporter.snmp-exporter:9116 - grafana: grafana.ini: - auth.generic_oauth: - api_url: https://keycloak.ruka.dev.lsst.org/realms/master/protocol/openid-connect/userinfo - auth_url: https://keycloak.ruka.dev.lsst.org/realms/master/protocol/openid-connect/auth - name: keycloak.ruka.dev.lsst.org - token_url: https://keycloak.ruka.dev.lsst.org/realms/master/protocol/openid-connect/token + server: + domain: &hostname grafana.${ get .ClusterLabels "management.cattle.io/cluster-display-name" }.${ .ClusterLabels.site }.lsst.org + ingress: + hosts: + - *hostname + tls: + - secretName: grafana-ingress-tls + hosts: + - *hostname + readinessProbe: + initialDelaySeconds: 1200 + resources: + limits: + cpu: 4 + memory: 4Gi + requests: + cpu: 4 + memory: 4Gi + defaultDashboardsEnabled: false + +alertmanager: + config: + global: + resolve_timeout: 5m + route: + group_by: + - alertname + - namespace + - site + group_wait: 30s + group_interval: 5m + repeat_interval: 120h + receiver: blackhole + routes: + - receiver: blackhole + matchers: + - alertname = "InfoInhibitor" + - receiver: blackhole + matchers: + - alertname = "Watchdog" + - receiver: squadcast-alertmanager + matchers: + - prod = "true" + continue: true + receivers: + - name: blackhole + - name: squadcast-alertmanager + webhook_configs: + - url_file: /etc/alertmanager/secrets/alertmanager-webhooks/squadcast-alertmanager + inhibit_rules: + - source_matchers: + - alertname = "InfoInhibitor" + target_matchers: + - severity = "info" + equal: [namespace] + - source_matchers: + - severity = "critical" + target_matchers: + - severity =~ "info|warning" + equal: [alertname] + - source_matchers: + - severity = "warning" + target_matchers: + - severity = "info" + equal: [alertname] diff --git a/fleet/lib/kube-prometheus-stack/overlays/kueyen/values.yaml b/fleet/lib/kube-prometheus-stack/overlays/kueyen/values.yaml deleted file mode 100644 index cf24f1978..000000000 --- a/fleet/lib/kube-prometheus-stack/overlays/kueyen/values.yaml +++ /dev/null @@ -1,179 +0,0 @@ ---- -prometheus: - prometheusSpec: - configMaps: - - sd-snmp-network - - sd-snmp-power - - sd-snmp-raritan-pdu - secrets: - - puppetdb - additionalScrapeConfigs: - - job_name: blackbox-ping-dev - metrics_path: /probe - params: - module: [icmp] - puppetdb_sd_configs: - - url: https://puppetdb.${ .ClusterLabels.site }.lsst.org:8443 - basic_auth: - username: svc_prometheus - password_file: /etc/prometheus/secrets/puppetdb/password - query: resources { type = "Class" and title = "Prometheus::Node_exporter" } - refresh_interval: 30s - follow_redirects: true - include_parameters: true - enable_http2: true - relabel_configs: - - source_labels: [__meta_puppetdb_certname] - target_label: __param_target - - source_labels: [__param_target] - target_label: instance - - target_label: __address__ - replacement: prometheus-blackbox-exporter.blackbox-exporter:9115 - - job_name: node-exporter-dev - puppetdb_sd_configs: - - url: https://puppetdb.${ .ClusterLabels.site }.lsst.org:8443 - basic_auth: - username: svc_prometheus - password_file: /etc/prometheus/secrets/puppetdb/password - query: | - resources { - type = "Class" and title = "Profile::Core::Node_info" and - certname in resources[certname] { - type = "Class" and title = "Prometheus::Node_exporter" - } - } - refresh_interval: 30s - follow_redirects: true - include_parameters: true - enable_http2: true - port: 9100 - relabel_configs: - - source_labels: [__meta_puppetdb_certname] - target_label: instance - - source_labels: [__meta_puppetdb_environment] - target_label: environment - - source_labels: [__meta_puppetdb_parameter_site] - target_label: site - - source_labels: [__meta_puppetdb_parameter_role] - target_label: role - - source_labels: [__meta_puppetdb_parameter_cluster] - target_label: cluster - - job_name: blackbox-ping-ls - puppetdb_sd_configs: - - url: https://puppetdb.ls.lsst.org:8443 - basic_auth: - username: svc_prometheus - password_file: /etc/prometheus/secrets/puppetdb/password - query: resources { type = "Class" and title = "Prometheus::Node_exporter" } - refresh_interval: 30s - follow_redirects: true - include_parameters: true - enable_http2: true - relabel_configs: - - source_labels: [__meta_puppetdb_certname] - target_label: __param_target - - source_labels: [__param_target] - target_label: instance - - target_label: __address__ - replacement: prometheus-blackbox-exporter.blackbox-exporter:9115 - - job_name: node-exporter-ls - puppetdb_sd_configs: - - url: https://puppetdb.ls.lsst.org:8443 - basic_auth: - username: svc_prometheus - password_file: /etc/prometheus/secrets/puppetdb/password - query: | - resources { - type = "Class" and title = "Profile::Core::Node_info" and - certname in resources[certname] { - type = "Class" and title = "Prometheus::Node_exporter" - } - } - refresh_interval: 30s - follow_redirects: true - include_parameters: true - enable_http2: true - port: 9100 - relabel_configs: - - source_labels: [__meta_puppetdb_certname] - target_label: instance - - source_labels: [__meta_puppetdb_environment] - target_label: environment - - source_labels: [__meta_puppetdb_parameter_site] - target_label: site - - source_labels: [__meta_puppetdb_parameter_role] - target_label: role - - source_labels: [__meta_puppetdb_parameter_cluster] - target_label: cluster - - job_name: snmp-network - metrics_path: /snmp - params: - module: [if_mib] - auth: [rubin_v2] - file_sd_configs: - - files: - - /etc/prometheus/configmaps/sd-snmp-network/snmp-network.json - relabel_configs: - - source_labels: [__address__] - target_label: __param_target - - source_labels: [__meta_hostname] - target_label: instance - - source_labels: [__meta_network_function] - target_label: network_function - - target_label: __address__ - replacement: prometheus-snmp-exporter.snmp-exporter:9116 - - job_name: blackbox-network - metrics_path: /probe - params: - module: [icmp] - file_sd_configs: - - files: - - /etc/prometheus/configmaps/sd-snmp-network/snmp-network.json - - /etc/prometheus/configmaps/sd-snmp-power/snmp-power.json - - /etc/prometheus/configmaps/sd-snmp-raritan-pdu/snmp-raritan-pdu.json - relabel_configs: - - source_labels: [__address__] - target_label: __param_target - - source_labels: [__meta_hostname] - target_label: instance - - source_labels: [__meta_network_function] - target_label: network_function - - target_label: __address__ - replacement: prometheus-blackbox-exporter.blackbox-exporter:9115 - - job_name: snmp-power - metrics_path: /snmp - file_sd_configs: - - files: - - /etc/prometheus/configmaps/sd-snmp-power/snmp-power.json - relabel_configs: - - source_labels: [__address__] - target_label: __param_target - - source_labels: [__meta_hostname] - target_label: instance - - source_labels: [__meta_auth] - target_label: __param_auth - - source_labels: [__meta_module] - target_label: __param_module - - target_label: __address__ - replacement: prometheus-snmp-exporter.snmp-exporter:9116 - - job_name: snmp-raritan-pdu - metrics_path: /snmp - params: - module: [raritan] - auth: [rubin_v2] - file_sd_configs: - - files: - - /etc/prometheus/configmaps/sd-snmp-raritan-pdu/snmp-raritan-pdu.json - relabel_configs: - - source_labels: [__address__] - target_label: __param_target - - source_labels: [__meta_hostname] - target_label: instance - -grafana: - grafana.ini: - auth.generic_oauth: - api_url: https://keycloak.ls.lsst.org/realms/master/protocol/openid-connect/userinfo - auth_url: https://keycloak.ls.lsst.org/realms/master/protocol/openid-connect/auth - name: keycloak.ls.lsst.org - token_url: https://keycloak.ls.lsst.org/realms/master/protocol/openid-connect/token diff --git a/fleet/s/dev/c/pukem/blackbox-exporter b/fleet/s/dev/c/pukem/blackbox-exporter new file mode 120000 index 000000000..d5df566b8 --- /dev/null +++ b/fleet/s/dev/c/pukem/blackbox-exporter @@ -0,0 +1 @@ +../../../../lib/blackbox-exporter \ No newline at end of file diff --git a/fleet/s/dev/c/pukem/grafana-dashboards b/fleet/s/dev/c/pukem/grafana-dashboards new file mode 120000 index 000000000..ccccd3421 --- /dev/null +++ b/fleet/s/dev/c/pukem/grafana-dashboards @@ -0,0 +1 @@ +../../../../lib/grafana-dashboards \ No newline at end of file diff --git a/fleet/s/dev/c/pukem/kube-prometheus-stack b/fleet/s/dev/c/pukem/kube-prometheus-stack new file mode 120000 index 000000000..dac2ada60 --- /dev/null +++ b/fleet/s/dev/c/pukem/kube-prometheus-stack @@ -0,0 +1 @@ +../../../../lib/kube-prometheus-stack \ No newline at end of file diff --git a/fleet/s/dev/c/pukem/kube-prometheus-stack-pre b/fleet/s/dev/c/pukem/kube-prometheus-stack-pre new file mode 120000 index 000000000..82dccb02e --- /dev/null +++ b/fleet/s/dev/c/pukem/kube-prometheus-stack-pre @@ -0,0 +1 @@ +../../../../lib/kube-prometheus-stack-pre \ No newline at end of file diff --git a/fleet/s/dev/c/pukem/prometheus-alerts b/fleet/s/dev/c/pukem/prometheus-alerts new file mode 120000 index 000000000..c18cc8faf --- /dev/null +++ b/fleet/s/dev/c/pukem/prometheus-alerts @@ -0,0 +1 @@ +../../../../lib/prometheus-alerts \ No newline at end of file diff --git a/fleet/s/dev/c/pukem/snmp-exporter b/fleet/s/dev/c/pukem/snmp-exporter new file mode 120000 index 000000000..c8cec9a88 --- /dev/null +++ b/fleet/s/dev/c/pukem/snmp-exporter @@ -0,0 +1 @@ +../../../../lib/snmp-exporter \ No newline at end of file diff --git a/fleet/s/dev/c/pukem/snmp-exporter-pre b/fleet/s/dev/c/pukem/snmp-exporter-pre new file mode 120000 index 000000000..5adb32f58 --- /dev/null +++ b/fleet/s/dev/c/pukem/snmp-exporter-pre @@ -0,0 +1 @@ +../../../../lib/snmp-exporter-pre \ No newline at end of file