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://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.
Functions ¶
This section is empty.
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 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 the version of the running OPA instance to an external service
func (*Reporter) SendReport ¶
func (r *Reporter) SendReport(ctx context.Context) (*DataResponse, error)
SendReport sends the version report to the external service