For which CNCF project are you requesting exceptions?
Prometheus and OpenTelemetry
Are you an official maintainer of this project?
Yes
List of components requiring an exception
Distribution and integration model
Please explain
Prometheus and OpenTelemetry Collector Contrib distribute pre-compiled official binaries (prometheus, otelcol-contrib) that incorporate Nomad service discovery. Additionally, developers embedding Prometheus discovery or building custom OpenTelemetry Collectors retrieve this Go module automatically at build time via go build or go get.
Modification status
Please explain
The dependency (github.com/hashicorp/nomad/api) is consumed unmodified as an upstream standard Go module dependency.
Structural separation
Please explain
The dependency is fetched at build time by the Go module toolchain from its third-party repository (github.com/hashicorp/nomad/api) and is never vendored or stored within the Prometheus or OpenTelemetry repositories.
Communication mechanism
Please explain
Standard Go compilation statically links the dependency into the resulting executable binary (prometheus and otelcol-contrib).
Data exchange
Please explain
Prometheus imports github.com/hashicorp/nomad/api directly as a Go library, calling its client functions and interacting with exported Go structs and memory structures (api.Client, api.QueryOptions, etc.) within the same process address space.
Please explain
Most other HashiCorp Go libraries (github.com/hashicorp/consul/api, go-version, golang-lru, errwrap, go-cleanhttp, go-retryablehttp, etc.) already have approved blanket exceptions for all CNCF projects under MPL-2.0. We request that github.com/hashicorp/nomad/api (MPL-2.0) be approved for Prometheus and OpenTelemetry (or added to the blanket exception list for all CNCF projects).
For which CNCF project are you requesting exceptions?
Prometheus and OpenTelemetry
Are you an official maintainer of this project?
Yes
List of components requiring an exception
github.com/hashicorp/nomad/apidiscovery/nomad) for Nomad target service discovery and consumed downstream by OpenTelemetry Collector Contrib Prometheus receivers/exporters.Distribution and integration model
Please explain
Prometheus and OpenTelemetry Collector Contrib distribute pre-compiled official binaries (
prometheus,otelcol-contrib) that incorporate Nomad service discovery. Additionally, developers embedding Prometheus discovery or building custom OpenTelemetry Collectors retrieve this Go module automatically at build time viago buildorgo get.Modification status
Please explain
The dependency (
github.com/hashicorp/nomad/api) is consumed unmodified as an upstream standard Go module dependency.Structural separation
Please explain
The dependency is fetched at build time by the Go module toolchain from its third-party repository (
github.com/hashicorp/nomad/api) and is never vendored or stored within the Prometheus or OpenTelemetry repositories.Communication mechanism
Please explain
Standard Go compilation statically links the dependency into the resulting executable binary (
prometheusandotelcol-contrib).Data exchange
Please explain
Prometheus imports
github.com/hashicorp/nomad/apidirectly as a Go library, calling its client functions and interacting with exported Go structs and memory structures (api.Client,api.QueryOptions, etc.) within the same process address space.Please explain
Most other HashiCorp Go libraries (
github.com/hashicorp/consul/api,go-version,golang-lru,errwrap,go-cleanhttp,go-retryablehttp, etc.) already have approved blanket exceptions for all CNCF projects under MPL-2.0. We request thatgithub.com/hashicorp/nomad/api(MPL-2.0) be approved for Prometheus and OpenTelemetry (or added to the blanket exception list for all CNCF projects).