From 14fdef3f10e0a3214e6413c83426257f6ca1801f Mon Sep 17 00:00:00 2001 From: Patrice Chalin Date: Mon, 10 Feb 2025 14:39:03 -0500 Subject: [PATCH] Fix invalid links to Prometheus, API pages, and more (#6235) --- .htmltest.yml | 18 ++++- .../blog/2024/otel-operator-q-and-a/index.md | 2 +- .../prometheus-compatibility-survey/index.md | 2 +- .../building/authenticator-extension.md | 46 ++++++------ content/en/docs/contributing/development.md | 8 +- content/en/docs/languages/rust/_index.md | 2 +- .../docs/languages/exporters/intro.md | 2 +- .../languages/exporters/prometheus-setup.md | 2 +- .../ja/docs/languages/exporters/intro.md | 2 +- .../pt/docs/languages/exporters/intro.md | 2 +- .../languages/exporters/prometheus-setup.md | 2 +- scripts/get-url-status.mjs | 7 +- static/refcache.json | 74 +++---------------- 13 files changed, 66 insertions(+), 103 deletions(-) diff --git a/.htmltest.yml b/.htmltest.yml index f2b736ce0646..aaa8833cb05f 100644 --- a/.htmltest.yml +++ b/.htmltest.yml @@ -5,6 +5,7 @@ IgnoreAltMissing: true IgnoreCanonicalBrokenLinks: false IgnoreInternalEmptyHash: true # TODO: remove after resolution of https://github.com/google/docsy/issues/1995 CheckMailto: false +# StripQueryString: false # TODO: enable once htmltest is fixed TestFilesConcurrently: true IgnoreDirs: # DO NOT EDIT! IgnoreDirs list is auto-generated from markdown file front matter. @@ -54,7 +55,7 @@ IgnoreURLs: # list of regexs of paths or URLs to be ignored # Ignore Docsy-generated GitHub links for now, until # https://github.com/google/docsy/issues/1432 is fixed - - ^https?://github\.com/.*?/.*?/(new|edit|issues/new\?title)/ # view-page, edit-source etc + - ^https?://github\.com/.*?/.*?/(new/|edit/|issues/new\?) # view-page, edit-source etc # Ignore "View page source" links, except for spec pages, i.e., links starting with # https://github.com/open-telemetry/opentelemetry.io/tree/main/content/en/docs/specs - ^https://github\.com/open-telemetry/opentelemetry.io/tree/main/content/[^e] @@ -80,3 +81,18 @@ IgnoreURLs: # list of regexs of paths or URLs to be ignored - ^https://cloud.google.com/functions/docs/concepts/exec#function_scope_versus_global_scope - ^https://developer.apple.com/documentation/uikit/uiapplicationdelegate#1656902 - ^https://docs.docker.com/registry/spec/manifest-v2-2/#example-image-manifest + - ^https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES + - ^https://www.erlang.org/doc/man/erl_error.html#format_exception-3 + # Fixed via https://github.com/open-telemetry/semantic-conventions/pull/1814 + - ^https://github.com/open-telemetry/opentelemetry-specification/tree/v1.41.0/specification/logs/api.md#emit-an-event + + # Temporary until + # https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth@v0.120.0+ + # is published to include + # https://github.com/open-telemetry/opentelemetry-collector/pull/12309 + - ^https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#client-authenticators + - ^https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#server-authenticators + + # Temporary until + # https://github.com/open-telemetry/opentelemetry.io/issues/6237 is resolved + - ^https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md# diff --git a/content/en/blog/2024/otel-operator-q-and-a/index.md b/content/en/blog/2024/otel-operator-q-and-a/index.md index bb59d7fc4163..3dd1e46ce06a 100644 --- a/content/en/blog/2024/otel-operator-q-and-a/index.md +++ b/content/en/blog/2024/otel-operator-q-and-a/index.md @@ -5,7 +5,7 @@ title: linkTitle: OTel Operator Q&A date: 2024-05-13 author: '[Adriana Villela](https://github.com/avillela) (ServiceNow)' -canonical_url: https://adri-v.medium.com/81d63addbf92? +canonical_url: https://adri-v.medium.com/81d63addbf92 cSpell:ignore: automagically mycollector --- diff --git a/content/en/blog/2024/prometheus-compatibility-survey/index.md b/content/en/blog/2024/prometheus-compatibility-survey/index.md index 78dac6d4d477..0fb3d5f27f2a 100644 --- a/content/en/blog/2024/prometheus-compatibility-survey/index.md +++ b/content/en/blog/2024/prometheus-compatibility-survey/index.md @@ -25,7 +25,7 @@ and It has been used to implement Prometheus [(pull) exporters for OpenTelemetry SDKs](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/prometheus), [OTLP export from Prometheus libraries](https://prometheus.github.io/client_java/otel/otlp/), -[OTLP ingestion for the Prometheus server](https://prometheus.io/docs/prometheus/latest/feature_flags/#otlp-receiver), +[OTLP ingestion for the Prometheus server](https://prometheus.io/docs/prometheus/2.55/feature_flags/#otlp-receiver), and the OpenTelemetry Collector's [Prometheus Receiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/prometheusreceiver), [Prometheus Remote Write exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/prometheusremotewriteexporter), diff --git a/content/en/docs/collector/building/authenticator-extension.md b/content/en/docs/collector/building/authenticator-extension.md index 5980e0b07c7c..e3734cd0a60d 100644 --- a/content/en/docs/collector/building/authenticator-extension.md +++ b/content/en/docs/collector/building/authenticator-extension.md @@ -29,21 +29,15 @@ room at the [CNCF Slack workspace](https://slack.cncf.io). ## Architecture -Authenticators are regular extensions that also satisfy one or more interfaces -related to the authentication mechanism: - -- [go.opentelemetry.io/collector/config/configauth/ServerAuthenticator](https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#ServerAuthenticator) -- [go.opentelemetry.io/collector/config/configauth/GRPCClientAuthenticator](https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#GRPCClientAuthenticator) -- [go.opentelemetry.io/collector/config/configauth/HTTPClientAuthenticator](https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#HTTPClientAuthenticator) - -Server authenticators are used with receivers, and are able to intercept HTTP -and gRPC requests, while client authenticators are used with exporters, able to -add authentication data to HTTP and gRPC requests. It is possible for -authenticators to implement both interfaces at the same time, allowing a single -instance of the extension to be used both for the incoming and outgoing -requests. Note that users might still want to have different authenticators for -the incoming and outgoing requests, so, don't make your authenticator required -to be used at both ends. +[Authenticators] are regular extensions that also satisfy one or more interfaces +related to the authentication mechanism. [Server authenticators] are used with +receivers, and are able to intercept HTTP and gRPC requests, while client +authenticators are used with exporters, able to add authentication data to HTTP +and gRPC requests. It is possible for authenticators to implement both +interfaces at the same time, allowing a single instance of the extension to be +used both for the incoming and outgoing requests. Note that users might still +want to have different authenticators for the incoming and outgoing requests, +so, don't make your authenticator required to be used at both ends. Once an authenticator extension is available in the collector distribution, it can be referenced in the configuration file as a regular extension: @@ -129,7 +123,7 @@ service: ### Server authenticators -A server authenticator is essentially an extension with an `Authenticate` +A [server authenticator][sa] is essentially an extension with an `Authenticate` function, receiving the payload headers as parameter. If the authenticator is able to authenticate the incoming connection, it should return a `nil` error, or the concrete error if it can't. As an extension, the authenticator should make @@ -147,11 +141,8 @@ debug specific failures. ### Client authenticators -A client authenticator is one that implements one or more of the following -interfaces: - -- [go.opentelemetry.io/collector/config/configauth/GRPCClientAuthenticator](https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#GRPCClientAuthenticator) -- [go.opentelemetry.io/collector/config/configauth/HTTPClientAuthenticator](https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#HTTPClientAuthenticator) +A _client authenticator_ is one that implements one or more of the interfaces +defined in [Client authenticators]. Similar to server authenticators, they are essentially extensions with extra functions, each receiving an object that gives the authenticator an opportunity @@ -167,6 +158,13 @@ Custom authenticators have to be part of the same binary as the main collector. When building your own authenticator, you'll likely have to build a custom distribution as well, or provide means for your users to consume your extension as part of their own distributions. Fortunately, building a custom distribution -can be done using the -[OpenTelemetry Collector Builder](https://github.com/open-telemetry/opentelemetry-collector/tree/main/cmd/builder) -utility. +can be done using the [OpenTelemetry Collector Builder][builder] utility. + +[authenticators]: + https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth +[builder]: + https://github.com/open-telemetry/opentelemetry-collector/tree/main/cmd/builder +[client authenticators]: + https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#client-authenticators +[sa]: + https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#server-authenticators diff --git a/content/en/docs/contributing/development.md b/content/en/docs/contributing/development.md index 773bdedf16b5..76e99809c2e1 100644 --- a/content/en/docs/contributing/development.md +++ b/content/en/docs/contributing/development.md @@ -10,14 +10,14 @@ this website. ## Cloud-IDE setup -These instructions are for [Gitpod.io][], adjust as needed for your favorite -cloud IDE: +These instructions are for [Gitpod.io], adjust as needed for your favorite cloud +IDE: 1. Fork this repository. For help, see [Fork a repository][fork]. -2. From [gitpod.io/workspaces][], create a new workspace (do this only once) or +2. From [gitpod.io/workspaces], create a new workspace (do this only once) or open an existing workspace over your fork. You can also visit a link of the form: - . + `https://gitpod.io#https://github.com/YOUR_GITHUB_ID/opentelemetry.io`. > **Note**: If you have the necessary permissions to work from this > repository, or just want to look around, open diff --git a/content/en/docs/languages/rust/_index.md b/content/en/docs/languages/rust/_index.md index fb2b29c16568..2188a342dfcf 100644 --- a/content/en/docs/languages/rust/_index.md +++ b/content/en/docs/languages/rust/_index.md @@ -30,4 +30,4 @@ OpenTelemetry for Rust publishes the following crates: ## Further Reading -- [Ecosystem](https://github.com/open-telemetry/opentelemetry-rust#ecosystem) +- [Overview of crates](https://github.com/open-telemetry/opentelemetry-rust#overview-of-crates) diff --git a/layouts/shortcodes/docs/languages/exporters/intro.md b/layouts/shortcodes/docs/languages/exporters/intro.md index 43cb2a6a7b6f..75283822caed 100644 --- a/layouts/shortcodes/docs/languages/exporters/intro.md +++ b/layouts/shortcodes/docs/languages/exporters/intro.md @@ -34,7 +34,7 @@ Specification][OTLP]. [Jaeger]: /blog/2022/jaeger-native-otlp/ [OTLP]: /docs/specs/otlp/ [Prometheus]: - https://prometheus.io/docs/prometheus/latest/feature_flags/#otlp-receiver + https://prometheus.io/docs/prometheus/2.55/feature_flags/#otlp-receiver [vendors]: /ecosystem/vendors/ [reg]: /ecosystem/registry/?component=exporter&language={{ $lang }} diff --git a/layouts/shortcodes/docs/languages/exporters/prometheus-setup.md b/layouts/shortcodes/docs/languages/exporters/prometheus-setup.md index 5c0ae214afdc..f5802b42c552 100644 --- a/layouts/shortcodes/docs/languages/exporters/prometheus-setup.md +++ b/layouts/shortcodes/docs/languages/exporters/prometheus-setup.md @@ -1,7 +1,7 @@ ## Prometheus To send your metric data to [Prometheus](https://prometheus.io/), you can either -[enable Prometheus' OTLP Receiver](https://prometheus.io/docs/prometheus/latest/feature_flags/#otlp-receiver) +[enable Prometheus' OTLP Receiver](https://prometheus.io/docs/prometheus/2.55/feature_flags/#otlp-receiver) and use the [OTLP exporter](#otlp) or you can use the Prometheus exporter, a `MetricReader` that starts an HTTP server that collects metrics and serialize to Prometheus text format on request. diff --git a/layouts/shortcodes/ja/docs/languages/exporters/intro.md b/layouts/shortcodes/ja/docs/languages/exporters/intro.md index d3ec39bcdbf8..426b60d6a9df 100644 --- a/layouts/shortcodes/ja/docs/languages/exporters/intro.md +++ b/layouts/shortcodes/ja/docs/languages/exporters/intro.md @@ -24,7 +24,7 @@ [Jaeger]: /blog/2022/jaeger-native-otlp/ [OTLP]: /docs/specs/otlp/ [Prometheus]: - https://prometheus.io/docs/prometheus/latest/feature_flags/#otlp-receiver + https://prometheus.io/docs/prometheus/2.55/feature_flags/#otlp-receiver [ベンダー]: /ecosystem/vendors/ [reg]: /ecosystem/registry/?component=exporter&language={{ $lang }} diff --git a/layouts/shortcodes/pt/docs/languages/exporters/intro.md b/layouts/shortcodes/pt/docs/languages/exporters/intro.md index 596fb7e96c19..7b05d7514dc7 100644 --- a/layouts/shortcodes/pt/docs/languages/exporters/intro.md +++ b/layouts/shortcodes/pt/docs/languages/exporters/intro.md @@ -35,7 +35,7 @@ consulte a [Especificação do OTLP][OTLP]. [Jaeger]: /blog/2022/jaeger-native-otlp/ [OTLP]: /docs/specs/otlp/ [Prometheus]: - https://prometheus.io/docs/prometheus/latest/feature_flags/#otlp-receiver + https://prometheus.io/docs/prometheus/2.55/feature_flags/#otlp-receiver [vendors]: /ecosystem/vendors/ [reg]: /ecosystem/registry/?component=exporter&language={{ $lang }} diff --git a/layouts/shortcodes/pt/docs/languages/exporters/prometheus-setup.md b/layouts/shortcodes/pt/docs/languages/exporters/prometheus-setup.md index b4ef4a04afb2..f66319d6a660 100644 --- a/layouts/shortcodes/pt/docs/languages/exporters/prometheus-setup.md +++ b/layouts/shortcodes/pt/docs/languages/exporters/prometheus-setup.md @@ -2,7 +2,7 @@ Para enviar dados de métricas para o [Prometheus](https://prometheus.io/), você pode -[ativar o OTLP Receiver do Prometheus](https://prometheus.io/docs/prometheus/latest/feature_flags/#otlp-receiver) +[ativar o OTLP Receiver do Prometheus](https://prometheus.io/docs/prometheus/2.55/feature_flags/#otlp-receiver) e utilizar o [exportador OTLP](#otlp) ou você pode utilizar o exportador do Prometheus, um `MetricReader` que inicia um servidor HTTP e coleta métricas, serializando para o formato de texto do Prometheus sob demanda. diff --git a/scripts/get-url-status.mjs b/scripts/get-url-status.mjs index a1b511131648..d8b8af60d4d0 100755 --- a/scripts/get-url-status.mjs +++ b/scripts/get-url-status.mjs @@ -20,7 +20,12 @@ export function log(...args) { } // Check for fragment and corresponding anchor ID in page. -async function checkForFragment(url, page, status) { +async function checkForFragment(_url, page, status) { + // FIXME: htmltest seems to mistakenly double escape '+' in URLs, and + // ampersands as `\u0026`. Let's attempt to patch that there. TODO: address + // this upstream; at least create an issue. + // DISABLING FOR NOW: + const url = _url; // .replace(/+/g, '+').replace(/\\u0026/g, '&'); const parsedUrl = new URL(url); if (parsedUrl.hash) { let fragmentID = parsedUrl.hash.substring(1); // Remove the leading '#' diff --git a/static/refcache.json b/static/refcache.json index fed83ecb505a..4d03c49546c2 100644 --- a/static/refcache.json +++ b/static/refcache.json @@ -8423,34 +8423,6 @@ "StatusCode": 200, "LastSeen": "2025-02-06T02:15:12.345Z" }, - "https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#instrumentation": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:15:59.999Z" - }, - "https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opampbridge": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:15:59.999Z" - }, - "https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollector": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:15:59.999Z" - }, - "https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollector-1": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:15:59.999Z" - }, - "https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocator": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:15:59.999Z" - }, - "https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:15:59.999Z" - }, - "https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#opentelemetrycollectorspectargetallocatorprometheuscr-1": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:15:59.999Z" - }, "https://github.com/open-telemetry/opentelemetry-operator/issues/1393": { "StatusCode": 206, "LastSeen": "2025-02-01T07:12:16.782675-05:00" @@ -9351,9 +9323,9 @@ "StatusCode": 206, "LastSeen": "2025-01-13T11:44:20.947445-05:00" }, - "https://github.com/open-telemetry/opentelemetry-rust#ecosystem": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:17:59.999Z" + "https://github.com/open-telemetry/opentelemetry-rust#overview-of-crates": { + "StatusCode": 200, + "LastSeen": "2025-02-07T20:31:12.345Z" }, "https://github.com/open-telemetry/opentelemetry-rust-contrib/tree/main/opentelemetry-aws": { "StatusCode": 206, @@ -9955,10 +9927,6 @@ "StatusCode": 200, "LastSeen": "2025-02-06T02:19:12.345Z" }, - "https://github.com/open-telemetry/opentelemetry-specification/tree/v1.41.0/specification/logs/api.md#emit-an-event": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:19:59.999Z" - }, "https://github.com/open-telemetry/opentelemetry-specification/tree/v1.41.0/specification/logs/api.md#logger": { "StatusCode": 200, "LastSeen": "2025-02-06T02:19:12.345Z" @@ -12459,13 +12427,9 @@ "StatusCode": 206, "LastSeen": "2025-02-01T07:09:53.48738-05:00" }, - "https://gitpod.io#https://github.com/YOUR_GITHUB_ID/opentelemetry.io": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:22:59.999Z" - }, "https://gitpod.io/#https://github.com/open-telemetry/opentelemetry.io": { "StatusCode": 206, - "LastSeen": "2025-02-06T02:22:59.999Z" + "LastSeen": "2025-02-06T02:22:12.345Z" }, "https://gitpod.io/workspaces": { "StatusCode": 206, @@ -15091,18 +15055,6 @@ "StatusCode": 200, "LastSeen": "2025-01-06T11:32:23.675071-05:00" }, - "https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#GRPCClientAuthenticator": { - "StatusCode": 200, - "LastSeen": "2025-02-06T02:27:59.999Z" - }, - "https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#HTTPClientAuthenticator": { - "StatusCode": 200, - "LastSeen": "2025-02-06T02:27:59.999Z" - }, - "https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#ServerAuthenticator": { - "StatusCode": 200, - "LastSeen": "2025-02-06T02:27:59.999Z" - }, "https://pkg.go.dev/go.opentelemetry.io/collector/confmap/provider/envprovider": { "StatusCode": 200, "LastSeen": "2024-11-19T13:34:41.905691-05:00" @@ -15495,6 +15447,10 @@ "StatusCode": 200, "LastSeen": "2025-02-06T02:29:12.345Z" }, + "https://prometheus.io/docs/prometheus/2.55/feature_flags/#otlp-receiver": { + "StatusCode": 200, + "LastSeen": "2025-02-06T14:42:12.345Z" + }, "https://prometheus.io/docs/prometheus/latest/configuration/configuration/": { "StatusCode": 206, "LastSeen": "2024-08-09T10:46:59.171526-04:00" @@ -15503,10 +15459,6 @@ "StatusCode": 200, "LastSeen": "2025-02-06T02:29:12.345Z" }, - "https://prometheus.io/docs/prometheus/latest/feature_flags/#otlp-receiver": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:29:59.999Z" - }, "https://prometheus.io/docs/prometheus/latest/federation/": { "StatusCode": 206, "LastSeen": "2025-01-13T12:10:59.705964-05:00" @@ -15569,7 +15521,7 @@ }, "https://qryn.metrico.in/#/support": { "StatusCode": 206, - "LastSeen": "2025-02-06T02:29:59.999Z" + "LastSeen": "2025-02-06T15:00:59.999Z" }, "https://quarkus.io": { "StatusCode": 206, @@ -16859,10 +16811,6 @@ "StatusCode": 206, "LastSeen": "2025-02-01T07:10:54.834545-05:00" }, - "https://www.erlang.org/doc/man/erl_error.html#format_exception-3": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:31:59.999Z" - }, "https://www.erlang.org/doc/reference_manual/records.html": { "StatusCode": 206, "LastSeen": "2025-01-15T13:17:32.471781-05:00" @@ -17747,10 +17695,6 @@ "StatusCode": 200, "LastSeen": "2025-02-06T02:31:12.345Z" }, - "https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES": { - "StatusCode": 206, - "LastSeen": "2025-02-06T02:31:59.999Z" - }, "https://www.opentext.com/products/core-application-observability": { "StatusCode": 200, "LastSeen": "2024-12-04T08:45:30.976351014Z"