ce7cb702218693d08ea6d83464d2457c9250027c

This commit is contained in:
ms2k 2026-11-12 20:46:28 +09:00
commit 34c5f8963c
5 changed files with 145336 additions and 0 deletions

View file

@ -0,0 +1,45 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: smartctl-exporter
namespace: smartctl-exporter
spec:
interval: 15m
releaseName: smartctl-exporter
targetNamespace: smartctl-exporter
chart:
spec:
chart: prometheus-smartctl-exporter
version: 0.17.1
sourceRef:
kind: HelmRepository
name: prometheus-community
namespace: flux-system
install:
createNamespace: true
remediation:
retries: 3
upgrade:
remediation:
retries: 3
values:
image:
repository: registry.quorate.internal/quorate/smartctl-exporter
tag: v0.15.0@sha256:4134ce2f0f22988f065207166fb2ab31f68f7068776e3f044770ca5e64c523bd
pullSecrets:
- quay-cluster-pull
config:
device_exclude: /dev/sr.*
common:
config:
collect_not_more_than_period: 120s
serviceMonitor:
enabled: false
prometheusRules:
enabled: false
resources:
requests:
cpu: 20m
memory: 64Mi
limits:
memory: 128Mi

View file

@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespace.yaml
- vso.yaml
- helm-release.yaml
- network-policies.yaml

View file

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: smartctl-exporter

View file

@ -0,0 +1,44 @@
---
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
name: smartctl-exporter
namespace: smartctl-exporter
spec:
endpointSelector:
matchLabels:
app.kubernetes.io/name: prometheus-smartctl-exporter
app.kubernetes.io/instance: smartctl-exporter
ingress:
- fromEntities:
- host
toPorts:
- ports:
- port: "9633"
protocol: TCP
- fromEndpoints:
- matchLabels:
k8s:io.kubernetes.pod.namespace: victoriametrics
app.kubernetes.io/name: vmagent
app.kubernetes.io/instance: main
toPorts:
- ports:
- port: "9633"
protocol: TCP
---
apiVersion: cilium.io/v2
kind: CiliumClusterwideNetworkPolicy
metadata:
name: host-egress-smartctl-exporter
spec:
nodeSelector: {}
egress:
- toEndpoints:
- matchLabels:
k8s:io.kubernetes.pod.namespace: smartctl-exporter
app.kubernetes.io/name: prometheus-smartctl-exporter
app.kubernetes.io/instance: smartctl-exporter
toPorts:
- ports:
- port: "9633"
protocol: TCP

View file

@ -0,0 +1,43 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: smartctl-vso
namespace: smartctl-exporter
---
apiVersion: secrets.hashicorp.com/v1beta1
kind: VaultAuth
metadata:
name: default
namespace: smartctl-exporter
spec:
method: kubernetes
mount: kubernetes
kubernetes:
role: smartctl
serviceAccount: smartctl-vso
vaultConnectionRef: vault/vault
---
apiVersion: secrets.hashicorp.com/v1beta1
kind: VaultStaticSecret
metadata:
name: quay-cluster-pull
namespace: smartctl-exporter
spec:
type: kv-v2
mount: secret
path: quay/robots/cluster_pull
destination:
name: quay-cluster-pull
create: true
overwrite: true
type: kubernetes.io/dockerconfigjson
transformation:
excludeRaw: true
excludes:
- .*
templates:
.dockerconfigjson:
text: >-
{"auths":{"registry.quorate.internal":{"auth":"{{ printf "%s:%s" (get .Secrets "username") (get .Secrets "token") | b64enc }}"}}}
refreshAfter: 1h
vaultAuthRef: default