Skip to content

Commit 1a10b9e

Browse files
Merge branch 'main' into feature/sandbox-information
2 parents 803633e + 619d8cf commit 1a10b9e

67 files changed

Lines changed: 1094 additions & 148 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/golangci-lint.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33
name: golangci-lint
44
on:
55
push:
6+
branches: [main, master, 'release-*']
67
paths:
78
- "go.sum"
89
- "go.mod"
910
- "**.go"
1011
- "scripts/errcheck_excludes.txt"
1112
- ".github/workflows/golangci-lint.yml"
1213
- ".golangci.yml"
14+
tags: ['v*']
1315
pull_request:
1416

1517
permissions: # added using https://github.com/step-security/secure-repo
@@ -30,7 +32,7 @@ jobs:
3032
- name: Install Go
3133
uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
3234
with:
33-
go-version: 1.25.x
35+
go-version: 1.26.x
3436
- name: Install snmp_exporter/generator dependencies
3537
run: sudo apt-get update && sudo apt-get -y install libsnmp-dev
3638
if: github.repository == 'prometheus/snmp_exporter'

.yamllint

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
extends: default
33
ignore: |
44
**/node_modules
5+
web/api/v1/testdata/openapi_*_golden.yaml
56

67
rules:
78
braces:

MAINTAINERS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
* Ben Kochie <superq@gmail.com> @SuperQ
2+
* Basti Schubert <basti@schubert.digital> @bastischubert

Makefile.common

Lines changed: 225 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2018 The Prometheus Authors
1+
# Copyright The Prometheus Authors
22
# Licensed under the Apache License, Version 2.0 (the "License");
33
# you may not use this file except in compliance with the License.
44
# You may obtain a copy of the License at
@@ -55,13 +55,13 @@ ifneq ($(shell command -v gotestsum 2> /dev/null),)
5555
endif
5656
endif
5757

58-
PROMU_VERSION ?= 0.17.0
58+
PROMU_VERSION ?= 0.18.0
5959
PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_VERSION)/promu-$(PROMU_VERSION).$(GO_BUILD_PLATFORM).tar.gz
6060

6161
SKIP_GOLANGCI_LINT :=
6262
GOLANGCI_LINT :=
6363
GOLANGCI_LINT_OPTS ?=
64-
GOLANGCI_LINT_VERSION ?= v2.6.2
64+
GOLANGCI_LINT_VERSION ?= v2.10.1
6565
GOLANGCI_FMT_OPTS ?=
6666
# golangci-lint only supports linux, darwin and windows platforms on i386/amd64/arm64.
6767
# windows isn't included here because of the path separator being different.
@@ -82,11 +82,50 @@ endif
8282
PREFIX ?= $(shell pwd)
8383
BIN_DIR ?= $(shell pwd)
8484
DOCKER_IMAGE_TAG ?= $(subst /,-,$(shell git rev-parse --abbrev-ref HEAD))
85-
DOCKERFILE_PATH ?= ./Dockerfile
8685
DOCKERBUILD_CONTEXT ?= ./
8786
DOCKER_REPO ?= prom
8887

88+
# Check if deprecated DOCKERFILE_PATH is set
89+
ifdef DOCKERFILE_PATH
90+
$(error DOCKERFILE_PATH is deprecated. Use DOCKERFILE_VARIANTS ?= $(DOCKERFILE_PATH) in the Makefile)
91+
endif
92+
8993
DOCKER_ARCHS ?= amd64
94+
DOCKERFILE_VARIANTS ?= Dockerfile $(wildcard Dockerfile.*)
95+
96+
# Function to extract variant from Dockerfile label.
97+
# Returns the variant name from io.prometheus.image.variant label, or "default" if not found.
98+
define dockerfile_variant
99+
$(strip $(or $(shell sed -n 's/.*io\.prometheus\.image\.variant="\([^"]*\)".*/\1/p' $(1)),default))
100+
endef
101+
102+
# Check for duplicate variant names (including default for Dockerfiles without labels).
103+
DOCKERFILE_VARIANT_NAMES := $(foreach df,$(DOCKERFILE_VARIANTS),$(call dockerfile_variant,$(df)))
104+
DOCKERFILE_VARIANT_NAMES_SORTED := $(sort $(DOCKERFILE_VARIANT_NAMES))
105+
ifneq ($(words $(DOCKERFILE_VARIANT_NAMES)),$(words $(DOCKERFILE_VARIANT_NAMES_SORTED)))
106+
$(error Duplicate variant names found. Each Dockerfile must have a unique io.prometheus.image.variant label, and only one can be without a label (default))
107+
endif
108+
109+
# Build variant:dockerfile pairs for shell iteration.
110+
DOCKERFILE_VARIANTS_WITH_NAMES := $(foreach df,$(DOCKERFILE_VARIANTS),$(call dockerfile_variant,$(df)):$(df))
111+
112+
# Shell helper to check whether a dockerfile/arch pair is excluded.
113+
define dockerfile_arch_is_excluded
114+
case " $(DOCKERFILE_ARCH_EXCLUSIONS) " in \
115+
*" $$dockerfile:$(1) "*) true ;; \
116+
*) false ;; \
117+
esac
118+
endef
119+
120+
# Shell helper to check whether a registry/arch pair is excluded.
121+
# Extracts registry from DOCKER_REPO (e.g., quay.io/prometheus -> quay.io)
122+
define registry_arch_is_excluded
123+
registry=$$(echo "$(DOCKER_REPO)" | cut -d'/' -f1); \
124+
case " $(DOCKER_REGISTRY_ARCH_EXCLUSIONS) " in \
125+
*" $$registry:$(1) "*) true ;; \
126+
*) false ;; \
127+
esac
128+
endef
90129

91130
BUILD_DOCKER_ARCHS = $(addprefix common-docker-,$(DOCKER_ARCHS))
92131
PUBLISH_DOCKER_ARCHS = $(addprefix common-docker-publish-,$(DOCKER_ARCHS))
@@ -129,6 +168,12 @@ common-check_license:
129168
echo "license header checking failed:"; echo "$${licRes}"; \
130169
exit 1; \
131170
fi
171+
@echo ">> checking for copyright years 2026 or later"
172+
@futureYearRes=$$(git grep -E 'Copyright (202[6-9]|20[3-9][0-9])' -- '*.go' ':!:vendor/*' || true); \
173+
if [ -n "$${futureYearRes}" ]; then \
174+
echo "Files with copyright year 2026 or later found (should use 'Copyright The Prometheus Authors'):"; echo "$${futureYearRes}"; \
175+
exit 1; \
176+
fi
132177

133178
.PHONY: common-deps
134179
common-deps:
@@ -220,28 +265,194 @@ common-docker-repo-name:
220265
.PHONY: common-docker $(BUILD_DOCKER_ARCHS)
221266
common-docker: $(BUILD_DOCKER_ARCHS)
222267
$(BUILD_DOCKER_ARCHS): common-docker-%:
223-
docker build -t "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" \
224-
-f $(DOCKERFILE_PATH) \
225-
--build-arg ARCH="$*" \
226-
--build-arg OS="linux" \
227-
$(DOCKERBUILD_CONTEXT)
268+
@for variant in $(DOCKERFILE_VARIANTS_WITH_NAMES); do \
269+
dockerfile=$${variant#*:}; \
270+
variant_name=$${variant%%:*}; \
271+
if $(call dockerfile_arch_is_excluded,$*); then \
272+
echo "Skipping $$variant_name variant for linux-$* (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
273+
continue; \
274+
fi; \
275+
distroless_arch="$*"; \
276+
if [ "$*" = "armv7" ]; then \
277+
distroless_arch="arm"; \
278+
fi; \
279+
if [ "$$dockerfile" = "Dockerfile" ]; then \
280+
echo "Building default variant ($$variant_name) for linux-$* using $$dockerfile"; \
281+
docker build -t "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" \
282+
-f $$dockerfile \
283+
--build-arg ARCH="$*" \
284+
--build-arg OS="linux" \
285+
--build-arg DISTROLESS_ARCH="$$distroless_arch" \
286+
$(DOCKERBUILD_CONTEXT); \
287+
if [ "$$variant_name" != "default" ]; then \
288+
echo "Tagging default variant with $$variant_name suffix"; \
289+
docker tag "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" \
290+
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name"; \
291+
fi; \
292+
else \
293+
echo "Building $$variant_name variant for linux-$* using $$dockerfile"; \
294+
docker build -t "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name" \
295+
-f $$dockerfile \
296+
--build-arg ARCH="$*" \
297+
--build-arg OS="linux" \
298+
--build-arg DISTROLESS_ARCH="$$distroless_arch" \
299+
$(DOCKERBUILD_CONTEXT); \
300+
fi; \
301+
done
228302

229303
.PHONY: common-docker-publish $(PUBLISH_DOCKER_ARCHS)
230304
common-docker-publish: $(PUBLISH_DOCKER_ARCHS)
231305
$(PUBLISH_DOCKER_ARCHS): common-docker-publish-%:
232-
docker push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)"
306+
@for variant in $(DOCKERFILE_VARIANTS_WITH_NAMES); do \
307+
dockerfile=$${variant#*:}; \
308+
variant_name=$${variant%%:*}; \
309+
if $(call dockerfile_arch_is_excluded,$*); then \
310+
echo "Skipping push for $$variant_name variant on linux-$* (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
311+
continue; \
312+
fi; \
313+
if $(call registry_arch_is_excluded,$*); then \
314+
echo "Skipping push for $$variant_name variant on linux-$* to $(DOCKER_REPO) (excluded by DOCKER_REGISTRY_ARCH_EXCLUSIONS)"; \
315+
continue; \
316+
fi; \
317+
if [ "$$dockerfile" != "Dockerfile" ] || [ "$$variant_name" != "default" ]; then \
318+
echo "Pushing $$variant_name variant for linux-$*"; \
319+
docker push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name"; \
320+
fi; \
321+
if [ "$$dockerfile" = "Dockerfile" ]; then \
322+
echo "Pushing default variant ($$variant_name) for linux-$*"; \
323+
docker push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)"; \
324+
fi; \
325+
if [ "$(DOCKER_IMAGE_TAG)" = "latest" ]; then \
326+
if [ "$$dockerfile" != "Dockerfile" ] || [ "$$variant_name" != "default" ]; then \
327+
echo "Pushing $$variant_name variant version tags for linux-$*"; \
328+
docker push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:v$(DOCKER_MAJOR_VERSION_TAG)-$$variant_name"; \
329+
fi; \
330+
if [ "$$dockerfile" = "Dockerfile" ]; then \
331+
echo "Pushing default variant version tag for linux-$*"; \
332+
docker push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:v$(DOCKER_MAJOR_VERSION_TAG)"; \
333+
fi; \
334+
fi; \
335+
done
233336

234337
DOCKER_MAJOR_VERSION_TAG = $(firstword $(subst ., ,$(shell cat VERSION)))
235338
.PHONY: common-docker-tag-latest $(TAG_DOCKER_ARCHS)
236339
common-docker-tag-latest: $(TAG_DOCKER_ARCHS)
237340
$(TAG_DOCKER_ARCHS): common-docker-tag-latest-%:
238-
docker tag "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:latest"
239-
docker tag "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:v$(DOCKER_MAJOR_VERSION_TAG)"
341+
@for variant in $(DOCKERFILE_VARIANTS_WITH_NAMES); do \
342+
dockerfile=$${variant#*:}; \
343+
variant_name=$${variant%%:*}; \
344+
if $(call dockerfile_arch_is_excluded,$*); then \
345+
echo "Skipping tag for $$variant_name variant on linux-$* (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
346+
continue; \
347+
fi; \
348+
if $(call registry_arch_is_excluded,$*); then \
349+
echo "Skipping tag for $$variant_name variant on linux-$* for $(DOCKER_REPO) (excluded by DOCKER_REGISTRY_ARCH_EXCLUSIONS)"; \
350+
continue; \
351+
fi; \
352+
if [ "$$dockerfile" != "Dockerfile" ] || [ "$$variant_name" != "default" ]; then \
353+
echo "Tagging $$variant_name variant for linux-$* as latest"; \
354+
docker tag "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name" "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:latest-$$variant_name"; \
355+
docker tag "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name" "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:v$(DOCKER_MAJOR_VERSION_TAG)-$$variant_name"; \
356+
fi; \
357+
if [ "$$dockerfile" = "Dockerfile" ]; then \
358+
echo "Tagging default variant ($$variant_name) for linux-$* as latest"; \
359+
docker tag "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:latest"; \
360+
docker tag "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:v$(DOCKER_MAJOR_VERSION_TAG)"; \
361+
fi; \
362+
done
240363

241364
.PHONY: common-docker-manifest
242365
common-docker-manifest:
243-
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest create -a "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(SANITIZED_DOCKER_IMAGE_TAG)" $(foreach ARCH,$(DOCKER_ARCHS),$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$(ARCH):$(SANITIZED_DOCKER_IMAGE_TAG))
244-
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(SANITIZED_DOCKER_IMAGE_TAG)"
366+
@for variant in $(DOCKERFILE_VARIANTS_WITH_NAMES); do \
367+
dockerfile=$${variant#*:}; \
368+
variant_name=$${variant%%:*}; \
369+
if [ "$$dockerfile" != "Dockerfile" ] || [ "$$variant_name" != "default" ]; then \
370+
echo "Creating manifest for $$variant_name variant"; \
371+
refs=""; \
372+
for arch in $(DOCKER_ARCHS); do \
373+
if $(call dockerfile_arch_is_excluded,$$arch); then \
374+
echo " Skipping $$arch for $$variant_name (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
375+
continue; \
376+
fi; \
377+
if $(call registry_arch_is_excluded,$$arch); then \
378+
echo " Skipping $$arch for $$variant_name on $(DOCKER_REPO) (excluded by DOCKER_REGISTRY_ARCH_EXCLUSIONS)"; \
379+
continue; \
380+
fi; \
381+
refs="$$refs $(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$$arch:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name"; \
382+
done; \
383+
if [ -z "$$refs" ]; then \
384+
echo "Skipping manifest for $$variant_name variant (no supported architectures)"; \
385+
continue; \
386+
fi; \
387+
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest create -a "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name" $$refs; \
388+
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name"; \
389+
fi; \
390+
if [ "$$dockerfile" = "Dockerfile" ]; then \
391+
echo "Creating default variant ($$variant_name) manifest"; \
392+
refs=""; \
393+
for arch in $(DOCKER_ARCHS); do \
394+
if $(call dockerfile_arch_is_excluded,$$arch); then \
395+
echo " Skipping $$arch for default variant (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
396+
continue; \
397+
fi; \
398+
if $(call registry_arch_is_excluded,$$arch); then \
399+
echo " Skipping $$arch for default variant on $(DOCKER_REPO) (excluded by DOCKER_REGISTRY_ARCH_EXCLUSIONS)"; \
400+
continue; \
401+
fi; \
402+
refs="$$refs $(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$$arch:$(SANITIZED_DOCKER_IMAGE_TAG)"; \
403+
done; \
404+
if [ -z "$$refs" ]; then \
405+
echo "Skipping default variant manifest (no supported architectures)"; \
406+
continue; \
407+
fi; \
408+
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest create -a "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(SANITIZED_DOCKER_IMAGE_TAG)" $$refs; \
409+
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(SANITIZED_DOCKER_IMAGE_TAG)"; \
410+
fi; \
411+
if [ "$(DOCKER_IMAGE_TAG)" = "latest" ]; then \
412+
if [ "$$dockerfile" != "Dockerfile" ] || [ "$$variant_name" != "default" ]; then \
413+
echo "Creating manifest for $$variant_name variant version tag"; \
414+
refs=""; \
415+
for arch in $(DOCKER_ARCHS); do \
416+
if $(call dockerfile_arch_is_excluded,$$arch); then \
417+
echo " Skipping $$arch for $$variant_name version tag (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
418+
continue; \
419+
fi; \
420+
if $(call registry_arch_is_excluded,$$arch); then \
421+
echo " Skipping $$arch for $$variant_name version tag on $(DOCKER_REPO) (excluded by DOCKER_REGISTRY_ARCH_EXCLUSIONS)"; \
422+
continue; \
423+
fi; \
424+
refs="$$refs $(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$$arch:v$(DOCKER_MAJOR_VERSION_TAG)-$$variant_name"; \
425+
done; \
426+
if [ -z "$$refs" ]; then \
427+
echo "Skipping version-tag manifest for $$variant_name variant (no supported architectures)"; \
428+
continue; \
429+
fi; \
430+
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest create -a "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):v$(DOCKER_MAJOR_VERSION_TAG)-$$variant_name" $$refs; \
431+
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):v$(DOCKER_MAJOR_VERSION_TAG)-$$variant_name"; \
432+
fi; \
433+
if [ "$$dockerfile" = "Dockerfile" ]; then \
434+
echo "Creating default variant version tag manifest"; \
435+
refs=""; \
436+
for arch in $(DOCKER_ARCHS); do \
437+
if $(call dockerfile_arch_is_excluded,$$arch); then \
438+
echo " Skipping $$arch for default variant version tag (excluded by DOCKERFILE_ARCH_EXCLUSIONS)"; \
439+
continue; \
440+
fi; \
441+
if $(call registry_arch_is_excluded,$$arch); then \
442+
echo " Skipping $$arch for default variant version tag on $(DOCKER_REPO) (excluded by DOCKER_REGISTRY_ARCH_EXCLUSIONS)"; \
443+
continue; \
444+
fi; \
445+
refs="$$refs $(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$$arch:v$(DOCKER_MAJOR_VERSION_TAG)"; \
446+
done; \
447+
if [ -z "$$refs" ]; then \
448+
echo "Skipping default variant version-tag manifest (no supported architectures)"; \
449+
continue; \
450+
fi; \
451+
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest create -a "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):v$(DOCKER_MAJOR_VERSION_TAG)" $$refs; \
452+
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):v$(DOCKER_MAJOR_VERSION_TAG)"; \
453+
fi; \
454+
fi; \
455+
done
245456

246457
.PHONY: promu
247458
promu: $(PROMU)

README.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@ Prometheus exporter for FortiGate® firewalls.
99

1010
---
1111

12-
**This repository is archived due to lack of time from the maintainer, as well as lack of support from Fortinet to provide documentation. The constant fight to reverse engineer the APIs for new versions takes too much time for a few developers. Feel free to fork this project and continue the work!**
13-
14-
---
15-
1612
**NOTE:** This is not an official Fortinet product, it is developed fully independently by professionals and hobbyists alike.
1713

1814
* [Supported Metrics](#supported-metrics)
@@ -182,6 +178,7 @@ To improve security, limit permissions to required ones only (least privilege pr
182178
|System/AvailableCertificates | *any* |api/v2/monitor/system/available-certificates |
183179
|System/Central-management/Status | sysgrp.cfg |api/v2/monitor/system/central-management/status|
184180
|System/Fortimanager/Status | sysgrp.cfg |api/v2/monitor/system/fortimanager/status |
181+
|System/Global/Location | sysgrp.cfg |api/v2/cmdb/system/global |
185182
|System/HAStatistics | sysgrp.cfg |api/v2/monitor/system/ha-statistics<br>api/v2/cmdb/system/ha |
186183
|System/Ha-peer | sysgrp.cfg |api/v2/monitor/system/ha-peer |
187184
|System/Interface | netgrp.cfg |api/v2/monitor/system/interface/select |

fortigate_exporter.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import (
4242
"github.com/prometheus/client_golang/prometheus/promhttp"
4343

4444
"github.com/prometheus-community/fortigate_exporter/internal/config"
45-
fortiHTTP "github.com/prometheus-community/fortigate_exporter/pkg/http"
45+
fortiHTTP "github.com/prometheus-community/fortigate_exporter/pkg/fortigatehttpclient"
4646
"github.com/prometheus-community/fortigate_exporter/pkg/probe"
4747
)
4848

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ require (
1818
github.com/prometheus/common v0.66.1 // indirect
1919
github.com/prometheus/procfs v0.16.1 // indirect
2020
go.yaml.in/yaml/v2 v2.4.2 // indirect
21-
golang.org/x/crypto v0.36.0 // indirect
22-
golang.org/x/sys v0.35.0 // indirect
21+
golang.org/x/crypto v0.45.0 // indirect
22+
golang.org/x/sys v0.38.0 // indirect
2323
google.golang.org/protobuf v1.36.8 // indirect
2424
sigs.k8s.io/yaml v1.4.0 // indirect
2525
)

go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
4040
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
4141
go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI=
4242
go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU=
43-
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
44-
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
45-
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
46-
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
43+
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
44+
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
45+
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
46+
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
4747
google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc=
4848
google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
4949
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
// You should have received a copy of the GNU General Public License
2929
// along with this program. If not, see <http://www.gnu.org/licenses/>.
3030

31-
package version
31+
package fortiversion
3232

3333
import (
3434
"fmt"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
// You should have received a copy of the GNU General Public License
2929
// along with this program. If not, see <http://www.gnu.org/licenses/>.
3030

31-
package version
31+
package fortiversion
3232

3333
import (
3434
"testing"

0 commit comments

Comments
 (0)