Merge pull request 'feat(apt-version-exporter): add apt-version-exporter to core-deployments' (#595) from tn-add-apt-version-exporter into main
All checks were successful
ci/woodpecker/push/yamllint Pipeline was successful

Reviewed-on: #595
This commit is contained in:
Tom Neuber 2025-01-28 09:43:52 +01:00
commit 8293e46cb5
8 changed files with 149 additions and 0 deletions

View file

@ -9,6 +9,7 @@ Please find the Documentation in the [Wiki](https://git.ar21.de/yolokube/masterp
| App | Status |
|-----|--------|
| APT Version Exporter | [![App Status](https://argo.services.yolokube.de/api/badge?name=apt-version-exporter)](https://argo.services.yolokube.de/applications/apt-version-exporter) ![Gitea Last Commit](https://shields.ar21.de/gitea/last-commit/yolokube/core-deployments?path=apt-version-exporter&display_timestamp=author&gitea_url=https%3A%2F%2Fgit.ar21.de) |
| ArgoCD | [![App Status](https://argo.services.yolokube.de/api/badge?name=argocd)](https://argo.services.yolokube.de/applications/argocd) ![Gitea Last Commit](https://shields.ar21.de/gitea/last-commit/yolokube/core-deployments?path=argo&display_timestamp=author&gitea_url=https%3A%2F%2Fgit.ar21.de) ![Website](https://shields.ar21.de/website?url=https%3A%2F%2Fargo.services.yolokube.de%2F&up_message=online&up_color=green&down_message=offline&down_color=red&style=flat&link=https%3A%2F%2Fargo.services.yolokube.de%2F) |
| Authentik | [![App Status](https://argo.services.yolokube.de/api/badge?name=authentik)](https://argo.services.yolokube.de/applications/authentik) ![Gitea Last Commit](https://shields.ar21.de/gitea/last-commit/yolokube/core-deployments?path=authentik&display_timestamp=author&gitea_url=https%3A%2F%2Fgit.ar21.de) |
| Certmanager | [![App Status](https://argo.services.yolokube.de/api/badge?name=cert-manager)](https://argo.services.yolokube.de/applications/cert-manager) ![Gitea Last Commit](https://shields.ar21.de/gitea/last-commit/yolokube/core-deployments?path=cert-manager&display_timestamp=author&gitea_url=https%3A%2F%2Fgit.ar21.de) |

View file

@ -480,3 +480,24 @@ spec:
- CreateNamespace=true
automated:
prune: false
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: apt-version-exporter
namespace: argocd
spec:
project: default
source:
repoURL: https://git.ar21.de/yolokube/core-deployments.git
targetRevision: HEAD
path: apt-version-exporter
destination:
server: https://kubernetes.default.svc
namespace: apt-version-exporter
syncPolicy:
syncOptions:
- CreateNamespace=true
automated:
selfHeal: true
prune: true

View file

@ -0,0 +1,49 @@
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
labels:
app: apt-version-exporter
app.kubernetes.io/instance: apt-version-exporter
app.kubernetes.io/name: apt-version-exporter
name: apt-version-exporter
namespace: apt-version-exporter
spec:
selector:
matchLabels:
app: apt-version-exporter
template:
metadata:
labels:
app: apt-version-exporter
app.kubernetes.io/instance: apt-version-exporter
app.kubernetes.io/name: apt-version-exporter
spec:
containers:
- env:
- name: AVE_INTERVAL
value: 2h
- name: AVE_ADDRESS
value: ":9191"
image: git.ar21.de/yolokube/go-apt-version-exporter:latest
imagePullPolicy: IfNotPresent
name: apt-version-exporter
ports:
- containerPort: 9191
name: http-metrics
protocol: TCP
resources:
limits:
cpu: 300m
memory: 128Mi
requests:
cpu: 200m
memory: 32Mi
serviceAccountName: apt-version-exporter-service-account
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/master
operator: Exists
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
operator: Exists

View file

@ -0,0 +1,13 @@
resources:
- ./namespace.yaml
- ./serviceaccount.yaml
- ./daemonset.yaml
- ./service.yaml
- ./servicemonitor.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
images:
- name: git.ar21.de/yolokube/go-apt-version-exporter
newName: git.ar21.de/yolokube/go-apt-version-exporter
newTag: "2"
namespace: apt-version-exporter

View file

@ -0,0 +1,8 @@
---
apiVersion: v1
kind: Namespace
metadata:
labels:
app.kubernetes.io/instance: apt-version-exporter
prometheus: yolokube
name: apt-version-exporter

View file

@ -0,0 +1,20 @@
---
apiVersion: v1
kind: Service
metadata:
labels:
app: apt-version-exporter
app.kubernetes.io/instance: apt-version-exporter
app.kubernetes.io/name: apt-version-exporter
name: apt-version-exporter
namespace: apt-version-exporter
spec:
internalTrafficPolicy: Cluster
ports:
- name: http-metrics
port: 9191
protocol: TCP
targetPort: 9191
selector:
app: apt-version-exporter
type: ClusterIP

View file

@ -0,0 +1,9 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app.kubernetes.io/instance: apt-version-exporter
app.kubernetes.io/name: apt-version-exporter
name: apt-version-exporter-service-account
namespace: apt-version-exporter

View file

@ -0,0 +1,28 @@
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
app: apt-version-exporter
app.kubernetes.io/instance: apt-version-exporter
app.kubernetes.io/name: apt-version-exporter
name: apt-version-exporter-servicemonitor
namespace: apt-version-exporter
spec:
attachMetadata:
node: false
endpoints:
- interval: 2h
path: /metrics
port: http-metrics
relabelings:
- action: replace
sourceLabels:
- __meta_kubernetes_endpoint_node_name
targetLabel: node
scheme: http
jobLabel: jobLabel
selector:
matchLabels:
app.kubernetes.io/instance: apt-version-exporter
app.kubernetes.io/name: apt-version-exporter