package report
import "github.com/open-policy-agent/opa/internal/report"
Package report provides functions to report OPA's version information to an external service and process the response.
Index ¶
- Variables
- type DataResponse
- func (dr *DataResponse) IsSet() bool
- func (dr *DataResponse) Pretty() string
- func (dr *DataResponse) Slice() [][2]string
- type Gatherer
- type Options
- type ReleaseDetails
- type Reporter
Variables ¶
var ExternalServiceURL = "https://telemetry.openpolicyagent.org"
ExternalServiceURL is the base HTTP URL for a telemetry service. If not otherwise specified it will use the hard coded default.
Override at build time via:
-ldflags "-X github.com/open-policy-agent/opa/internal/report.ExternalServiceURL=<url>"
This will be overridden if the OPA_TELEMETRY_SERVICE_URL environment variable is provided.
Types ¶
type DataResponse ¶
type DataResponse struct { Latest ReleaseDetails `json:"latest,omitempty"` }
DataResponse represents the data returned by the external service
func (*DataResponse) IsSet ¶
func (dr *DataResponse) IsSet() bool
IsSet returns true if dr is populated.
func (*DataResponse) Pretty ¶
func (dr *DataResponse) Pretty() string
Pretty returns OPA release information in a human-readable format.
func (*DataResponse) Slice ¶
func (dr *DataResponse) Slice() [][2]string
Slice returns the dr as a slice of key-value string pairs. If dr is nil, this function returns an empty slice.
type Gatherer ¶
Gatherer represents a mechanism to inject additional data in the telemetry report
type Options ¶
Options supplies parameters to the reporter.
type ReleaseDetails ¶
type ReleaseDetails struct { Download string `json:"download,omitempty"` // link to download the OPA release ReleaseNotes string `json:"release_notes,omitempty"` // link to the OPA release notes LatestRelease string `json:"latest_release,omitempty"` // latest OPA released version OPAUpToDate bool `json:"opa_up_to_date,omitempty"` // is running OPA version greater than or equal to the latest released }
ReleaseDetails holds information about the latest OPA release
type Reporter ¶
type Reporter struct {
// contains filtered or unexported fields
}
Reporter reports information such as the version, heap usage about the running OPA instance to an external service
func New ¶
New returns an instance of the Reporter
func (*Reporter) RegisterGatherer ¶
func (*Reporter) SendReport ¶
func (r *Reporter) SendReport(ctx context.Context) (*DataResponse, error)
SendReport sends the telemetry report which includes information such as the OPA version, current memory usage to the external service
Source Files ¶
- Version
- v1.4.2 (latest)
- Published
- May 2, 2025
- Platform
- linux/amd64
- Imports
- 15 packages
- Last checked
- 6 hours ago –
Tools for package owners.