Documentation
¶
Overview ¶
Package report provides functions to report OPA's version information to an external service and process the response.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ExternalServiceURL = "https://api.github.com"
ExternalServiceURL is the base HTTP URL for a github instance used to query for more recent version. If not otherwise specified, it will use the hard-coded default, api.github.com. GHRepo is the repository to use, and defaults to "open-policy-agent/opa"
Override at build time via:
-ldflags "-X github.com/open-policy-agent/opa/internal/report.ExternalServiceURL=<url>" -ldflags "-X github.com/open-policy-agent/opa/internal/report.GHRepo=<url>"
ExternalServiceURL will be overridden if the OPA_TELEMETRY_SERVICE_URL environment variable is provided.
var GHRepo = "open-policy-agent/opa"
Functions ¶
This section is empty.
Types ¶
type DataResponse ¶
type DataResponse struct {
Latest ReleaseDetails `json:"latest"`
}
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 GHResponse ¶ added in v1.7.0
type GHVersionCollector ¶ added in v1.7.0
type GHVersionCollector struct {
// contains filtered or unexported fields
}
func (*GHVersionCollector) RegisterGatherer ¶ added in v1.7.0
func (*GHVersionCollector) RegisterGatherer(_ string, _ Gatherer)
func (*GHVersionCollector) SendReport ¶ added in v1.7.0
func (r *GHVersionCollector) 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
type Gatherer ¶ added in v0.60.0
Gatherer represents a mechanism to inject additional data in the telemetry report
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