Skip to content

Commit 4c98c67

Browse files
committed
envs from secret, new detection rules
1 parent ffcbfb7 commit 4c98c67

8 files changed

Lines changed: 56 additions & 18 deletions

File tree

VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.2.3
1+
0.2.4

charts/keepup-helm-scraper/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ apiVersion: v2
22
name: keepup-helm-scraper
33
description: A Helm chart for scrape charts release information.
44
type: application
5-
version: 0.3.6
6-
appVersion: 0.2.3
5+
version: 0.4.0
6+
appVersion: 0.2.4

charts/keepup-helm-scraper/templates/configmap.yaml

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,38 @@ data:
4949
detectionRegex: 'docker\.elastic\.co\/elasticsearch\/elasticsearch:'
5050
versionRegex: '(:(v)?(\d+)\.(\d+)(\.(\d+))?)((@sha)?.*)?$'
5151
52+
- applicationName: 'kibana'
53+
detectionRegex: 'docker\.elastic\.co\/kibana\/kibana:'
54+
versionRegex: '(:(v)?(\d+)\.(\d+)(\.(\d+))?)((@sha)?.*)?$'
55+
5256
- applicationName: 'synapse'
53-
detectionRegex: 'ghcr\.io\/code-tool\/matrix-stack/synapse:'
57+
detectionRegex: 'ghcr\.io\/code-tool\/matrix-stack\/synapse:'
58+
versionRegex: '(:(v)?(\d+)\.(\d+)(\.(\d+))?)((@sha)?.*)?$'
59+
60+
- applicationName: 'authentik'
61+
detectionRegex: 'ghcr\.io\/goauthentik\/server:'
62+
versionRegex: ':(\d+)\.(\d+)\.(\d+)$'
63+
64+
- applicationName: 'argocd'
65+
detectionRegex: 'quay\.io\/argoproj\/argocd:'
66+
versionRegex: '(:(v)?(\d+)\.(\d+)(\.(\d+))?)((@sha)?.*)?$'
67+
68+
- applicationName: 'grafana'
69+
detectionRegex: 'docker\.io\/grafana\/grafana:'
70+
versionRegex: '(:(v)?(\d+)\.(\d+)(\.(\d+))?)((@sha)?.*)?$'
71+
72+
- applicationName: 'flux-operator'
73+
detectionRegex: 'ghcr\.io\/controlplaneio-fluxcd\/flux-operator:'
74+
versionRegex: '(:(v)?(\d+)\.(\d+)(\.(\d+))?)((@sha)?.*)?$'
75+
76+
- applicationName: 'vaultwarden'
77+
detectionRegex: 'docker\.io\/vaultwarden\/server:'
78+
versionRegex: '(:(v)?(\d+)\.(\d+)(\.(\d+))?)((@sha)?.*)?$'
79+
80+
- applicationName: 'openbao'
81+
detectionRegex: 'quay\.io\/openbao\/openbao:'
82+
versionRegex: '(:(v)?(\d+)\.(\d+)(\.(\d+))?)((@sha)?.*)?$'
83+
84+
- applicationName: 'metallb'
85+
detectionRegex: 'quay\.io\/metallb\/controller:'
5486
versionRegex: '(:(v)?(\d+)\.(\d+)(\.(\d+))?)((@sha)?.*)?$'

charts/keepup-helm-scraper/templates/cronjob.yaml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@ spec:
1818
- name: helm-scraper
1919
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
2020
imagePullPolicy: "{{ .Values.image.pullPolicy }}"
21-
env:
22-
{{- range $name, $value := .Values.env }}
23-
- name: {{ $name }}
24-
value: {{ $value }}
25-
{{- end }}
21+
envFrom:
22+
- secretRef:
23+
name: {{ .Release.Name }}
2624
volumeMounts:
2725
- name: config
2826
mountPath: "{{ .Values.env.RULES_FILE }}"
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
kind: Secret
2+
apiVersion: v1
3+
metadata:
4+
name: {{ .Release.Name }}
5+
data:
6+
{{- range $k, $v := .Values.env }}
7+
{{ $k }}: {{ $v | toString | b64enc }}
8+
{{- end }}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module keepup-helm-scrapper
1+
module keepup-helm-scraper
22

33
go 1.25.0
44

src/config/env.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func loadEnvFile() {
2626
log.Println("Loading .env file.")
2727
err := godotenv.Load(".env")
2828
if err != nil {
29-
panic("Error loading .env file.")
29+
log.Fatalf("Error loading .env file: %v", err)
3030
}
3131
}
3232

@@ -46,7 +46,7 @@ func init() {
4646
envName := refl.Type().Field(i).Name
4747
envVal, foud := os.LookupEnv(envName)
4848
if !foud {
49-
panic("Environment [" + envName + "] not found.")
49+
log.Fatalf("Environment not found: %v", envName)
5050
}
5151
refl.Field(i).SetString(envVal)
5252
}

src/main.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ import (
55
"context"
66
"encoding/json"
77
"fmt"
8-
"keepup-helm-scrapper/src/config"
9-
"keepup-helm-scrapper/src/rules"
8+
"keepup-helm-scraper/src/config"
9+
"keepup-helm-scraper/src/rules"
1010
"log"
1111
"net/http"
1212
"os"
1313
"regexp"
14+
"time"
1415

1516
corev1 "k8s.io/api/core/v1"
1617
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -33,7 +34,6 @@ type ClusterInfo struct {
3334
func main() {
3435
ctx := context.Background()
3536

36-
//kubeconfig, err := clientcmd.BuildConfigFromFlags("", "/home/.kube/minikube.cfg")
3737
kubeconfig, err := rest.InClusterConfig()
3838
if err != nil {
3939
log.Fatalf("failed to get cluster config: %v", err)
@@ -51,7 +51,7 @@ func main() {
5151

5252
var versionRe = regexp.MustCompile(`(\d+)\.(\d+)(\.\d+)?`)
5353

54-
imagesByNs, err := CollectNamespaceImages(ctx, clientset)
54+
imagesByNs, err := сollectNamespaceImages(ctx, clientset)
5555
if err != nil {
5656
log.Fatal(err)
5757
}
@@ -104,7 +104,7 @@ func main() {
104104
sendDataToAPI(jsonData)
105105
}
106106

107-
func CollectNamespaceImages(
107+
func сollectNamespaceImages(
108108
ctx context.Context,
109109
client kubernetes.Interface,
110110
) (map[string][]string, error) {
@@ -246,7 +246,7 @@ func sendDataToAPI(jsonData []byte) {
246246
req.Header.Set("Content-Type", "application/json")
247247
req.Header.Set("x-api-token", apiToken)
248248

249-
client := &http.Client{}
249+
client := &http.Client{Timeout: 30 * time.Second}
250250
resp, err := client.Do(req)
251251
if err != nil {
252252
log.Printf("Failed to send data to API: %v", err)

0 commit comments

Comments
 (0)