├── .github ├── ISSUE_TEMPLATE.md ├── dependabot.yml └── workflows │ ├── ci.yml │ ├── codeql-analysis.yml │ └── golangci-lint.yml ├── .golangci.yml ├── .yamllint ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── MAINTAINERS.md ├── Makefile ├── Makefile.common ├── README.md ├── SECURITY.md ├── docs ├── introduction.md ├── web-config.yml └── web-configuration.md ├── go.mod ├── go.sum └── web ├── README.md ├── cache.go ├── cache_test.go ├── handler.go ├── handler_test.go ├── kingpinflag └── flag.go ├── landing_page.css ├── landing_page.go ├── landing_page.html ├── testdata ├── client2_selfsigned.key ├── client2_selfsigned.pem ├── client_selfsigned.key ├── client_selfsigned.pem ├── server.crt ├── server.key ├── tls-ca-chain.pem ├── tls_config_noAuth.requireandverifyclientcert.good.yml ├── tls_config_noAuth.requireanyclientcert.good.yml ├── tls_config_noAuth.requireanyclientcertkeyinline.good.yml ├── web_config_auth_clientCAs_invalid.bad.yml ├── web_config_auth_clientCAs_missing.bad.yml ├── web_config_auth_client_san.bad.yaml ├── web_config_auth_client_san.good.yaml ├── web_config_auth_user_list_invalid.bad.yml ├── web_config_empty.yml ├── web_config_headers.good.yml ├── web_config_headers_content_type_options.bad.yml ├── web_config_headers_extra_header.bad.yml ├── web_config_headers_frame_options.bad.yml ├── web_config_junk.yml ├── web_config_junk_key.yml ├── web_config_noAuth.bad.yml ├── web_config_noAuth.good.blocking.yml ├── web_config_noAuth.good.yml ├── web_config_noAuth_allCiphers.good.yml ├── web_config_noAuth_allCurves.good.yml ├── web_config_noAuth_certPath_empty.bad.yml ├── web_config_noAuth_certPath_invalid.bad.yml ├── web_config_noAuth_certPath_keyPath_empty.bad.yml ├── web_config_noAuth_certPath_keyPath_invalid.bad.yml ├── web_config_noAuth_cert_empty.bad.yml ├── web_config_noAuth_inventedCiphers.bad.yml ├── web_config_noAuth_inventedCurves.bad.yml ├── web_config_noAuth_keyPath_empty.bad.yml ├── web_config_noAuth_keyPath_invalid.bad.yml ├── web_config_noAuth_key_empty.bad.yml ├── web_config_noAuth_noHTTP2.good.yml ├── web_config_noAuth_noHTTP2Cipher.bad.yml ├── web_config_noAuth_someCiphers.good.yml ├── web_config_noAuth_someCiphers_noOrder.good.yml ├── web_config_noAuth_someCurves.good.yml ├── web_config_noAuth_tlsInline.good.yml ├── web_config_noAuth_wrongTLSVersion.bad.yml ├── web_config_rate_limiter_nonblocking.yaml ├── web_config_rate_limiter_one_second.yaml ├── web_config_users.good.yml └── web_config_users_noTLS.good.yml ├── tls_config.go ├── tls_config_test.go └── web-config.yml /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/.github/ISSUE_TEMPLATE.md -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/.github/workflows/codeql-analysis.yml -------------------------------------------------------------------------------- /.github/workflows/golangci-lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/.github/workflows/golangci-lint.yml -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/.golangci.yml -------------------------------------------------------------------------------- /.yamllint: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/.yamllint -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/LICENSE -------------------------------------------------------------------------------- /MAINTAINERS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/MAINTAINERS.md -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/Makefile -------------------------------------------------------------------------------- /Makefile.common: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/Makefile.common -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/SECURITY.md -------------------------------------------------------------------------------- /docs/introduction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/docs/introduction.md -------------------------------------------------------------------------------- /docs/web-config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/docs/web-config.yml -------------------------------------------------------------------------------- /docs/web-configuration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/docs/web-configuration.md -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/go.sum -------------------------------------------------------------------------------- /web/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/README.md -------------------------------------------------------------------------------- /web/cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/cache.go -------------------------------------------------------------------------------- /web/cache_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/cache_test.go -------------------------------------------------------------------------------- /web/handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/handler.go -------------------------------------------------------------------------------- /web/handler_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/handler_test.go -------------------------------------------------------------------------------- /web/kingpinflag/flag.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/kingpinflag/flag.go -------------------------------------------------------------------------------- /web/landing_page.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/landing_page.css -------------------------------------------------------------------------------- /web/landing_page.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/landing_page.go -------------------------------------------------------------------------------- /web/landing_page.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/landing_page.html -------------------------------------------------------------------------------- /web/testdata/client2_selfsigned.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/client2_selfsigned.key -------------------------------------------------------------------------------- /web/testdata/client2_selfsigned.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/client2_selfsigned.pem -------------------------------------------------------------------------------- /web/testdata/client_selfsigned.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/client_selfsigned.key -------------------------------------------------------------------------------- /web/testdata/client_selfsigned.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/client_selfsigned.pem -------------------------------------------------------------------------------- /web/testdata/server.crt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/server.crt -------------------------------------------------------------------------------- /web/testdata/server.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/server.key -------------------------------------------------------------------------------- /web/testdata/tls-ca-chain.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/tls-ca-chain.pem -------------------------------------------------------------------------------- /web/testdata/tls_config_noAuth.requireandverifyclientcert.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/tls_config_noAuth.requireandverifyclientcert.good.yml -------------------------------------------------------------------------------- /web/testdata/tls_config_noAuth.requireanyclientcert.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/tls_config_noAuth.requireanyclientcert.good.yml -------------------------------------------------------------------------------- /web/testdata/tls_config_noAuth.requireanyclientcertkeyinline.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/tls_config_noAuth.requireanyclientcertkeyinline.good.yml -------------------------------------------------------------------------------- /web/testdata/web_config_auth_clientCAs_invalid.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_auth_clientCAs_invalid.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_auth_clientCAs_missing.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_auth_clientCAs_missing.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_auth_client_san.bad.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_auth_client_san.bad.yaml -------------------------------------------------------------------------------- /web/testdata/web_config_auth_client_san.good.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_auth_client_san.good.yaml -------------------------------------------------------------------------------- /web/testdata/web_config_auth_user_list_invalid.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_auth_user_list_invalid.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_empty.yml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/testdata/web_config_headers.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_headers.good.yml -------------------------------------------------------------------------------- /web/testdata/web_config_headers_content_type_options.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_headers_content_type_options.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_headers_extra_header.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_headers_extra_header.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_headers_frame_options.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_headers_frame_options.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_junk.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_junk.yml -------------------------------------------------------------------------------- /web/testdata/web_config_junk_key.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_junk_key.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth.good.blocking.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth.good.blocking.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth.good.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_allCiphers.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_allCiphers.good.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_allCurves.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_allCurves.good.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_certPath_empty.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_certPath_empty.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_certPath_invalid.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_certPath_invalid.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_certPath_keyPath_empty.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_certPath_keyPath_empty.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_certPath_keyPath_invalid.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_certPath_keyPath_invalid.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_cert_empty.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_cert_empty.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_inventedCiphers.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_inventedCiphers.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_inventedCurves.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_inventedCurves.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_keyPath_empty.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_keyPath_empty.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_keyPath_invalid.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_keyPath_invalid.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_key_empty.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_key_empty.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_noHTTP2.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_noHTTP2.good.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_noHTTP2Cipher.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_noHTTP2Cipher.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_someCiphers.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_someCiphers.good.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_someCiphers_noOrder.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_someCiphers_noOrder.good.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_someCurves.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_someCurves.good.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_tlsInline.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_tlsInline.good.yml -------------------------------------------------------------------------------- /web/testdata/web_config_noAuth_wrongTLSVersion.bad.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_noAuth_wrongTLSVersion.bad.yml -------------------------------------------------------------------------------- /web/testdata/web_config_rate_limiter_nonblocking.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_rate_limiter_nonblocking.yaml -------------------------------------------------------------------------------- /web/testdata/web_config_rate_limiter_one_second.yaml: -------------------------------------------------------------------------------- 1 | rate_limit: 2 | interval: "1s" 3 | burst: 0 4 | -------------------------------------------------------------------------------- /web/testdata/web_config_users.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_users.good.yml -------------------------------------------------------------------------------- /web/testdata/web_config_users_noTLS.good.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/testdata/web_config_users_noTLS.good.yml -------------------------------------------------------------------------------- /web/tls_config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/tls_config.go -------------------------------------------------------------------------------- /web/tls_config_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/tls_config_test.go -------------------------------------------------------------------------------- /web/web-config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prometheus/exporter-toolkit/HEAD/web/web-config.yml --------------------------------------------------------------------------------