diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml index 595dda5..360848a 100644 --- a/.github/workflows/push.yaml +++ b/.github/workflows/push.yaml @@ -45,7 +45,7 @@ jobs: version: v1.51.1 only-new-issues: false args: --timeout 10m - + - name: Install kubectl run: | curl -LO "https://storage.googleapis.com/kubernetes-release/release/v${KUBERNETES_VERSION}/bin/linux/amd64/kubectl" @@ -108,7 +108,7 @@ jobs: org.opencontainers.image.source=${{ github.event.repository.clone_url }} org.opencontainers.image.created=${{ steps.prep.outputs.created }} org.opencontainers.image.revision=${{ github.sha }} - + ############################## ## Add steps to generate required artifacts for a release here(helm chart, operator manifest etc.) ############################## @@ -148,16 +148,16 @@ jobs: linting: on commit_username: stakater-user commit_email: stakater@gmail.com - + # Commit back changes - name: Commit files run: | git config --local user.email "stakater@gmail.com" git config --local user.name "stakater-user" - git status + git status git add . git commit -m "[skip-ci] Update artifacts" -a - + - name: Push changes uses: ad-m/github-push-action@master with: diff --git a/deployments/kubernetes/chart/reloader/Chart.yaml b/deployments/kubernetes/chart/reloader/Chart.yaml index de6c6bc..e23b28f 100644 --- a/deployments/kubernetes/chart/reloader/Chart.yaml +++ b/deployments/kubernetes/chart/reloader/Chart.yaml @@ -3,8 +3,8 @@ apiVersion: v1 name: reloader description: Reloader chart that runs on kubernetes -version: v1.0.5 -appVersion: v1.0.5 +version: v1.0.9 +appVersion: v1.0.9 keywords: - Reloader - kubernetes diff --git a/deployments/kubernetes/chart/reloader/templates/clusterrole.yaml b/deployments/kubernetes/chart/reloader/templates/clusterrole.yaml index 0ce0171..a4bace0 100644 --- a/deployments/kubernetes/chart/reloader/templates/clusterrole.yaml +++ b/deployments/kubernetes/chart/reloader/templates/clusterrole.yaml @@ -38,8 +38,8 @@ rules: resources: - namespaces verbs: - - get -{{- end }} + - get +{{- end }} {{- if and (.Capabilities.APIVersions.Has "apps.openshift.io/v1") (.Values.reloader.isOpenshift) }} - apiGroups: - "apps.openshift.io" diff --git a/deployments/kubernetes/chart/reloader/templates/deployment.yaml b/deployments/kubernetes/chart/reloader/templates/deployment.yaml index 3f99c8d..97ca4c3 100644 --- a/deployments/kubernetes/chart/reloader/templates/deployment.yaml +++ b/deployments/kubernetes/chart/reloader/templates/deployment.yaml @@ -128,8 +128,6 @@ spec: ports: - name: http - containerPort: 9091 - - name: metrics containerPort: 9090 livenessProbe: httpGet: @@ -142,15 +140,19 @@ spec: readinessProbe: httpGet: path: /metrics - port: metrics + port: http timeoutSeconds: {{ .Values.reloader.deployment.readinessProbe.timeoutSeconds | default "5" }} failureThreshold: {{ .Values.reloader.deployment.readinessProbe.failureThreshold | default "5" }} periodSeconds: {{ .Values.reloader.deployment.readinessProbe.periodSeconds | default "10" }} successThreshold: {{ .Values.reloader.deployment.readinessProbe.successThreshold | default "1" }} - {{- with .Values.reloader.deployment.containerSecurityContext }} - securityContext: {{ toYaml . | nindent 10 }} - {{- end }} + {{- $containerSecurityContext := .Values.reloader.deployment.containerSecurityContext | default dict }} + {{- if .Values.reloader.readOnlyRootFileSystem }} + {{- $_ := set $containerSecurityContext "readOnlyRootFilesystem" true }} + {{- end }} + + securityContext: + {{- toYaml $containerSecurityContext | nindent 10 }} {{- if eq .Values.reloader.readOnlyRootFileSystem true }} volumeMounts: diff --git a/deployments/kubernetes/chart/reloader/tests/deployment_test.yaml b/deployments/kubernetes/chart/reloader/tests/deployment_test.yaml new file mode 100644 index 0000000..7fabe5c --- /dev/null +++ b/deployments/kubernetes/chart/reloader/tests/deployment_test.yaml @@ -0,0 +1,50 @@ +suite: Deployment + +templates: + - deployment.yaml + +tests: + - it: sets readOnlyRootFilesystem in container securityContext when reloader.readOnlyRootFileSystem is true + set: + reloader: + readOnlyRootFileSystem: true + deployment: + containerSecurityContext: + readOnlyRootFilesystem: false + asserts: + - equal: + path: spec.template.spec.containers[0].securityContext.readOnlyRootFilesystem + value: true + + - it: sets readOnlyRootFilesystem in container securityContext even if reloader.deployment.containerSecurityContext is null + set: + reloader: + readOnlyRootFileSystem: true + deployment: + containerSecurityContext: null + asserts: + - equal: + path: spec.template.spec.containers[0].securityContext.readOnlyRootFilesystem + value: true + + - it: does not override readOnlyRootFilesystem in container securityContext based on reloader.readOnlyRootFileSystem + set: + reloader: + readOnlyRootFileSystem: false + deployment: + containerSecurityContext: + readOnlyRootFilesystem: true + asserts: + - equal: + path: spec.template.spec.containers[0].securityContext.readOnlyRootFilesystem + value: true + + - it: template is still valid with no defined containerSecurityContext + set: + reloader: + readOnlyRootFileSystem: false + deployment: + containerSecurityContext: null + asserts: + - isEmpty: + path: spec.template.spec.containers[0].securityContext diff --git a/deployments/kubernetes/chart/reloader/values.yaml b/deployments/kubernetes/chart/reloader/values.yaml index efd1978..e8592d3 100644 --- a/deployments/kubernetes/chart/reloader/values.yaml +++ b/deployments/kubernetes/chart/reloader/values.yaml @@ -69,10 +69,10 @@ reloader: labels: provider: stakater group: com.stakater.platform - version: v1.0.5 + version: v1.0.9 image: name: stakater/reloader - tag: v1.0.5 + tag: v1.0.9 pullPolicy: IfNotPresent # Support for extra environment variables. env: diff --git a/deployments/kubernetes/kustomization.yaml b/deployments/kubernetes/kustomization.yaml index 38ac5dc..b4b7efb 100644 --- a/deployments/kubernetes/kustomization.yaml +++ b/deployments/kubernetes/kustomization.yaml @@ -4,7 +4,5 @@ kind: Kustomization resources: - manifests/clusterrole.yaml - manifests/clusterrolebinding.yaml - - manifests/role.yaml - - manifests/rolebinding.yaml - manifests/serviceaccount.yaml - - manifests/deployment.yaml \ No newline at end of file + - manifests/deployment.yaml diff --git a/deployments/kubernetes/manifests/clusterrole.yaml b/deployments/kubernetes/manifests/clusterrole.yaml index 6cdf107..0ff8f0b 100644 --- a/deployments/kubernetes/manifests/clusterrole.yaml +++ b/deployments/kubernetes/manifests/clusterrole.yaml @@ -9,7 +9,7 @@ metadata: meta.helm.sh/release-name: "reloader" labels: app: reloader-reloader - chart: "reloader-v1.0.5" + chart: "reloader-v1.0.9" release: "reloader" heritage: "Helm" app.kubernetes.io/managed-by: "Helm" diff --git a/deployments/kubernetes/manifests/clusterrolebinding.yaml b/deployments/kubernetes/manifests/clusterrolebinding.yaml index 4eebd37..c40686e 100644 --- a/deployments/kubernetes/manifests/clusterrolebinding.yaml +++ b/deployments/kubernetes/manifests/clusterrolebinding.yaml @@ -9,7 +9,7 @@ metadata: meta.helm.sh/release-name: "reloader" labels: app: reloader-reloader - chart: "reloader-v1.0.5" + chart: "reloader-v1.0.9" release: "reloader" heritage: "Helm" app.kubernetes.io/managed-by: "Helm" diff --git a/deployments/kubernetes/manifests/deployment.yaml b/deployments/kubernetes/manifests/deployment.yaml index 0624714..4e274cf 100644 --- a/deployments/kubernetes/manifests/deployment.yaml +++ b/deployments/kubernetes/manifests/deployment.yaml @@ -8,13 +8,13 @@ metadata: meta.helm.sh/release-name: "reloader" labels: app: reloader-reloader - chart: "reloader-v1.0.5" + chart: "reloader-v1.0.9" release: "reloader" heritage: "Helm" app.kubernetes.io/managed-by: "Helm" group: com.stakater.platform provider: stakater - version: v1.0.5 + version: v1.0.9 name: reloader-reloader namespace: default spec: @@ -28,23 +28,21 @@ spec: metadata: labels: app: reloader-reloader - chart: "reloader-v1.0.5" + chart: "reloader-v1.0.9" release: "reloader" heritage: "Helm" app.kubernetes.io/managed-by: "Helm" group: com.stakater.platform provider: stakater - version: v1.0.5 + version: v1.0.9 spec: containers: - - image: "stakater/reloader:v1.0.5" + - image: "stakater/reloader:v1.0.9" imagePullPolicy: IfNotPresent name: reloader-reloader ports: - name: http - containerPort: 9091 - - name: metrics containerPort: 9090 livenessProbe: httpGet: @@ -57,11 +55,14 @@ spec: readinessProbe: httpGet: path: /metrics - port: metrics + port: http timeoutSeconds: 5 failureThreshold: 5 periodSeconds: 10 successThreshold: 1 + + securityContext: + {} securityContext: runAsNonRoot: true runAsUser: 65534 diff --git a/deployments/kubernetes/manifests/podmonitor.yaml b/deployments/kubernetes/manifests/podmonitor.yaml deleted file mode 100644 index 02746e7..0000000 --- a/deployments/kubernetes/manifests/podmonitor.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -# Source: reloader/templates/podmonitor.yaml - diff --git a/deployments/kubernetes/manifests/role.yaml b/deployments/kubernetes/manifests/role.yaml deleted file mode 100644 index 844b9fc..0000000 --- a/deployments/kubernetes/manifests/role.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -# Source: reloader/templates/role.yaml - - diff --git a/deployments/kubernetes/manifests/rolebinding.yaml b/deployments/kubernetes/manifests/rolebinding.yaml deleted file mode 100644 index 5b69a80..0000000 --- a/deployments/kubernetes/manifests/rolebinding.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -# Source: reloader/templates/rolebinding.yaml - - diff --git a/deployments/kubernetes/manifests/service.yaml b/deployments/kubernetes/manifests/service.yaml deleted file mode 100644 index 35dadf0..0000000 --- a/deployments/kubernetes/manifests/service.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -# Source: reloader/templates/service.yaml - - diff --git a/deployments/kubernetes/manifests/serviceaccount.yaml b/deployments/kubernetes/manifests/serviceaccount.yaml index 995a53f..e634482 100644 --- a/deployments/kubernetes/manifests/serviceaccount.yaml +++ b/deployments/kubernetes/manifests/serviceaccount.yaml @@ -8,7 +8,7 @@ metadata: meta.helm.sh/release-name: "reloader" labels: app: reloader-reloader - chart: "reloader-v1.0.5" + chart: "reloader-v1.0.9" release: "reloader" heritage: "Helm" app.kubernetes.io/managed-by: "Helm" diff --git a/deployments/kubernetes/manifests/servicemonitor.yaml b/deployments/kubernetes/manifests/servicemonitor.yaml deleted file mode 100644 index d0a8d43..0000000 --- a/deployments/kubernetes/manifests/servicemonitor.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -# Source: reloader/templates/servicemonitor.yaml - - diff --git a/deployments/kubernetes/reloader.yaml b/deployments/kubernetes/reloader.yaml index c10447c..0085485 100644 --- a/deployments/kubernetes/reloader.yaml +++ b/deployments/kubernetes/reloader.yaml @@ -8,7 +8,7 @@ metadata: meta.helm.sh/release-name: "reloader" labels: app: reloader-reloader - chart: "reloader-v1.0.5" + chart: "reloader-v1.0.9" release: "reloader" heritage: "Helm" app.kubernetes.io/managed-by: "Helm" @@ -25,7 +25,7 @@ metadata: meta.helm.sh/release-name: "reloader" labels: app: reloader-reloader - chart: "reloader-v1.0.5" + chart: "reloader-v1.0.9" release: "reloader" heritage: "Helm" app.kubernetes.io/managed-by: "Helm" @@ -80,7 +80,7 @@ metadata: meta.helm.sh/release-name: "reloader" labels: app: reloader-reloader - chart: "reloader-v1.0.5" + chart: "reloader-v1.0.9" release: "reloader" heritage: "Helm" app.kubernetes.io/managed-by: "Helm" @@ -104,13 +104,13 @@ metadata: meta.helm.sh/release-name: "reloader" labels: app: reloader-reloader - chart: "reloader-v1.0.5" + chart: "reloader-v1.0.9" release: "reloader" heritage: "Helm" app.kubernetes.io/managed-by: "Helm" group: com.stakater.platform provider: stakater - version: v1.0.5 + version: v1.0.9 name: reloader-reloader namespace: default spec: @@ -124,23 +124,21 @@ spec: metadata: labels: app: reloader-reloader - chart: "reloader-v1.0.5" + chart: "reloader-v1.0.9" release: "reloader" heritage: "Helm" app.kubernetes.io/managed-by: "Helm" group: com.stakater.platform provider: stakater - version: v1.0.5 + version: v1.0.9 spec: containers: - - image: "stakater/reloader:v1.0.5" + - image: "stakater/reloader:v1.0.9" imagePullPolicy: IfNotPresent name: reloader-reloader ports: - name: http - containerPort: 9091 - - name: metrics containerPort: 9090 livenessProbe: httpGet: @@ -153,11 +151,14 @@ spec: readinessProbe: httpGet: path: /metrics - port: metrics + port: http timeoutSeconds: 5 failureThreshold: 5 periodSeconds: 10 successThreshold: 1 + + securityContext: + {} securityContext: runAsNonRoot: true runAsUser: 65534 diff --git a/go.mod b/go.mod index 8013855..d743e59 100644 --- a/go.mod +++ b/go.mod @@ -47,11 +47,11 @@ require ( github.com/prometheus/procfs v0.9.0 // indirect github.com/smartystreets/goconvey v1.7.2 // indirect github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/net v0.5.0 // indirect + golang.org/x/net v0.7.0 // indirect golang.org/x/oauth2 v0.4.0 // indirect - golang.org/x/sys v0.4.0 // indirect - golang.org/x/term v0.4.0 // indirect - golang.org/x/text v0.6.0 // indirect + golang.org/x/sys v0.5.0 // indirect + golang.org/x/term v0.5.0 // indirect + golang.org/x/text v0.7.0 // indirect golang.org/x/time v0.3.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.28.1 // indirect diff --git a/go.sum b/go.sum index 1414cc8..28b0935 100644 --- a/go.sum +++ b/go.sum @@ -352,8 +352,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210224082022-3d97a244fca7/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw= -golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -398,13 +398,13 @@ golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.4.0 h1:O7UWfv5+A2qiuulQk30kVinPoMtoIPeVaKLEgLpVkvg= -golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -413,8 +413,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k= -golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/internal/pkg/cmd/reloader.go b/internal/pkg/cmd/reloader.go index 26c115b..8317e89 100644 --- a/internal/pkg/cmd/reloader.go +++ b/internal/pkg/cmd/reloader.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "net/http" "os" "strings" @@ -177,7 +178,8 @@ func startReloader(cmd *cobra.Command, args []string) { go leadership.RunLeaderElection(lock, ctx, cancel, podName, controllers) } - logrus.Fatal(leadership.Healthz()) + leadership.SetupLivenessEndpoint() + logrus.Fatal(http.ListenAndServe(constants.DefaultHttpListenAddr, nil)) } func getIgnoredNamespacesList(cmd *cobra.Command) (util.List, error) { diff --git a/internal/pkg/constants/constants.go b/internal/pkg/constants/constants.go index 693c62c..18d1cc7 100644 --- a/internal/pkg/constants/constants.go +++ b/internal/pkg/constants/constants.go @@ -1,6 +1,9 @@ package constants const ( + // DefaultHttpListenAddr is the default listening address for global http server + DefaultHttpListenAddr = ":9090" + // ConfigmapEnvVarPostfix is a postfix for configmap envVar ConfigmapEnvVarPostfix = "CONFIGMAP" // SecretEnvVarPostfix is a postfix for secret envVar diff --git a/internal/pkg/leadership/leadership.go b/internal/pkg/leadership/leadership.go index 20fa779..f8c85bc 100644 --- a/internal/pkg/leadership/leadership.go +++ b/internal/pkg/leadership/leadership.go @@ -15,8 +15,6 @@ import ( coordinationv1 "k8s.io/client-go/kubernetes/typed/coordination/v1" ) -const healthPort string = ":9091" - var ( // Used for liveness probe m sync.Mutex @@ -88,12 +86,11 @@ func stopControllers(stopChannels []chan struct{}) { } } -// Healthz serves the liveness probe endpoint. If leadership election is +// Healthz sets up the liveness probe endpoint. If leadership election is // enabled and a replica stops leading the liveness probe will fail and the // kubelet will restart the container. -func Healthz() error { +func SetupLivenessEndpoint() { http.HandleFunc("/live", healthz) - return http.ListenAndServe(healthPort, nil) } func healthz(w http.ResponseWriter, req *http.Request) { diff --git a/internal/pkg/metrics/prometheus.go b/internal/pkg/metrics/prometheus.go index 07debc2..76c3a3b 100644 --- a/internal/pkg/metrics/prometheus.go +++ b/internal/pkg/metrics/prometheus.go @@ -3,7 +3,6 @@ package metrics import ( "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" - "github.com/sirupsen/logrus" "net/http" ) @@ -33,11 +32,7 @@ func NewCollectors() Collectors { func SetupPrometheusEndpoint() Collectors { collectors := NewCollectors() prometheus.MustRegister(collectors.Reloaded) - - go func() { - http.Handle("/metrics", promhttp.Handler()) - logrus.Fatal(http.ListenAndServe(":9090", nil)) - }() + http.Handle("/metrics", promhttp.Handler()) return collectors }