Documentation
¶
Index ¶
- Constants
- func AppendReport(clientset kubernetes.Interface, namespace string, appSlug string, ...) error
- func EncodeReport(r Report) ([]byte, error)
- func GetReportingInfo(appID string) *types.ReportingInfo
- func GetReportingInfoHeaders(reportingInfo *types.ReportingInfo) map[string]string
- func Init() error
- func InjectReportingInfoHeaders(header http.Header, reportingInfo *types.ReportingInfo)
- func WaitAndReportPreflightChecks(appID string, sequence int64, isSkipPreflights bool, isCLI bool) error
- type AirgapReporter
- type Distribution
- type InstanceReport
- func (r *InstanceReport) AppendEvents(report Report) error
- func (r *InstanceReport) GetEventLimit() int
- func (r *InstanceReport) GetMtx() *sync.Mutex
- func (r *InstanceReport) GetSecretKey() string
- func (r *InstanceReport) GetSecretName(appSlug string) string
- func (r *InstanceReport) GetSizeLimit() int
- func (r *InstanceReport) GetType() ReportType
- type InstanceReportEvent
- type OnlineReporter
- type PreflightReport
- func (r *PreflightReport) AppendEvents(report Report) error
- func (r *PreflightReport) GetEventLimit() int
- func (r *PreflightReport) GetMtx() *sync.Mutex
- func (r *PreflightReport) GetSecretKey() string
- func (r *PreflightReport) GetSecretName(appSlug string) string
- func (r *PreflightReport) GetSizeLimit() int
- func (r *PreflightReport) GetType() ReportType
- type PreflightReportEvent
- type Report
- type ReportType
- type Reporter
- type SnapshotReport
Constants ¶
View Source
const ( ReportSecretNameFormat = "kotsadm-%s-report" ReportSecretKey = "report" ReportEventLimit = 4000 ReportSizeLimit = 1 * 1024 * 1024 // 1MB )
Variables ¶
This section is empty.
Functions ¶
func AppendReport ¶ added in v1.104.0
func EncodeReport ¶ added in v1.104.0
func GetReportingInfo ¶
func GetReportingInfo(appID string) *types.ReportingInfo
func GetReportingInfoHeaders ¶ added in v1.103.2
func GetReportingInfoHeaders(reportingInfo *types.ReportingInfo) map[string]string
func InjectReportingInfoHeaders ¶
func InjectReportingInfoHeaders(header http.Header, reportingInfo *types.ReportingInfo)
Types ¶
type AirgapReporter ¶ added in v1.98.0
type AirgapReporter struct {
// contains filtered or unexported fields
}
func (*AirgapReporter) SubmitAppInfo ¶ added in v1.98.0
func (r *AirgapReporter) SubmitAppInfo(appID string) error
func (*AirgapReporter) SubmitPreflightData ¶ added in v1.98.0
func (r *AirgapReporter) SubmitPreflightData(license *licensewrapper.LicenseWrapper, appID string, clusterID string, sequence int64, skipPreflights bool, installStatus storetypes.DownstreamVersionStatus, isCLI bool, preflightStatus string, appStatus string) error
type Distribution ¶ added in v1.100.3
type Distribution int64
const ( UnknownDistribution Distribution = iota AKS DigitalOcean EKS GKE GKEAutoPilot K0s K3s Kind Kurl MicroK8s Minikube OKE OpenShift RKE2 Tanzu EmbeddedCluster )
func GetDistribution ¶ added in v1.100.3
func GetDistribution(clientset kubernetes.Interface) Distribution
func (Distribution) String ¶ added in v1.100.3
func (d Distribution) String() string
type InstanceReport ¶ added in v1.104.0
type InstanceReport struct {
Events []InstanceReportEvent `json:"events"`
}
func BuildInstanceReport ¶ added in v1.104.0
func BuildInstanceReport(licenseID string, reportingInfo *types.ReportingInfo) *InstanceReport
func (*InstanceReport) AppendEvents ¶ added in v1.104.0
func (r *InstanceReport) AppendEvents(report Report) error
func (*InstanceReport) GetEventLimit ¶ added in v1.104.0
func (r *InstanceReport) GetEventLimit() int
func (*InstanceReport) GetMtx ¶ added in v1.104.0
func (r *InstanceReport) GetMtx() *sync.Mutex
func (*InstanceReport) GetSecretKey ¶ added in v1.104.0
func (r *InstanceReport) GetSecretKey() string
func (*InstanceReport) GetSecretName ¶ added in v1.104.0
func (r *InstanceReport) GetSecretName(appSlug string) string
func (*InstanceReport) GetSizeLimit ¶ added in v1.104.1
func (r *InstanceReport) GetSizeLimit() int
func (*InstanceReport) GetType ¶ added in v1.104.0
func (r *InstanceReport) GetType() ReportType
type InstanceReportEvent ¶ added in v1.104.0
type InstanceReportEvent struct {
ReportedAt int64 `json:"reported_at"`
LicenseID string `json:"license_id"`
InstanceID string `json:"instance_id"`
ClusterID string `json:"cluster_id"`
AppStatus string `json:"app_status"`
IsKurl bool `json:"is_kurl"`
KurlNodeCountTotal int `json:"kurl_node_count_total"`
KurlNodeCountReady int `json:"kurl_node_count_ready"`
K8sVersion string `json:"k8s_version"`
K8sDistribution string `json:"k8s_distribution,omitempty"`
UserAgent string `json:"user_agent"`
KotsInstallID string `json:"kots_install_id,omitempty"`
KurlInstallID string `json:"kurl_install_id,omitempty"`
EmbeddedClusterID string `json:"embedded_cluster_id,omitempty"`
EmbeddedClusterVersion string `json:"embedded_cluster_version,omitempty"`
EmbeddedClusterNodes string `json:"embedded_cluster_nodes"`
IsGitOpsEnabled bool `json:"is_gitops_enabled"`
GitOpsProvider string `json:"gitops_provider"`
SnapshotProvider string `json:"snapshot_provider"`
SnapshotFullSchedule string `json:"snapshot_full_schedule"`
SnapshotFullTTL string `json:"snapshot_full_ttl"`
SnapshotPartialSchedule string `json:"snapshot_partial_schedule"`
SnapshotPartialTTL string `json:"snapshot_partial_ttl"`
DownstreamChannelID string `json:"downstream_channel_id,omitempty"`
DownstreamChannelSequence uint64 `json:"downstream_channel_sequence,omitempty"`
DownstreamChannelName string `json:"downstream_channel_name,omitempty"`
DownstreamSequence *int64 `json:"downstream_sequence,omitempty"`
DownstreamSource string `json:"downstream_source,omitempty"`
InstallStatus string `json:"install_status,omitempty"`
PreflightState string `json:"preflight_state,omitempty"`
SkipPreflights bool `json:"skip_preflights"`
ReplHelmInstalls int `json:"repl_helm_installs"`
NativeHelmInstalls int `json:"native_helm_installs"`
}
type OnlineReporter ¶ added in v1.98.0
type OnlineReporter struct {
}
func (*OnlineReporter) SubmitAppInfo ¶ added in v1.98.0
func (r *OnlineReporter) SubmitAppInfo(appID string) error
func (*OnlineReporter) SubmitPreflightData ¶ added in v1.98.0
func (r *OnlineReporter) SubmitPreflightData(license *licensewrapper.LicenseWrapper, appID string, clusterID string, sequence int64, skipPreflights bool, installStatus storetypes.DownstreamVersionStatus, isCLI bool, preflightStatus string, appStatus string) error
type PreflightReport ¶ added in v1.104.0
type PreflightReport struct {
Events []PreflightReportEvent `json:"events"`
}
func (*PreflightReport) AppendEvents ¶ added in v1.104.0
func (r *PreflightReport) AppendEvents(report Report) error
func (*PreflightReport) GetEventLimit ¶ added in v1.104.0
func (r *PreflightReport) GetEventLimit() int
func (*PreflightReport) GetMtx ¶ added in v1.104.0
func (r *PreflightReport) GetMtx() *sync.Mutex
func (*PreflightReport) GetSecretKey ¶ added in v1.104.0
func (r *PreflightReport) GetSecretKey() string
func (*PreflightReport) GetSecretName ¶ added in v1.104.0
func (r *PreflightReport) GetSecretName(appSlug string) string
func (*PreflightReport) GetSizeLimit ¶ added in v1.104.1
func (r *PreflightReport) GetSizeLimit() int
func (*PreflightReport) GetType ¶ added in v1.104.0
func (r *PreflightReport) GetType() ReportType
type PreflightReportEvent ¶ added in v1.104.0
type PreflightReportEvent struct {
ReportedAt int64 `json:"reported_at"`
LicenseID string `json:"license_id"`
InstanceID string `json:"instance_id"`
ClusterID string `json:"cluster_id"`
Sequence int64 `json:"sequence"`
SkipPreflights bool `json:"skip_preflights"`
InstallStatus string `json:"install_status"`
IsCLI bool `json:"is_cli"`
PreflightStatus string `json:"preflight_status"`
AppStatus string `json:"app_status"`
UserAgent string `json:"user_agent"`
}
type Report ¶ added in v1.104.0
type Report interface {
GetType() ReportType
GetSecretName(appSlug string) string
GetSecretKey() string
AppendEvents(report Report) error
GetEventLimit() int
GetMtx() *sync.Mutex
}
func DecodeReport ¶ added in v1.104.0
func DecodeReport(encodedData []byte, reportType ReportType) (Report, error)
type ReportType ¶ added in v1.104.0
type ReportType string
const ( ReportTypeInstance ReportType = "instance" ReportTypePreflight ReportType = "preflight" )
type Reporter ¶ added in v1.98.0
type Reporter interface {
SubmitAppInfo(appID string) error
SubmitPreflightData(license *licensewrapper.LicenseWrapper, appID string, clusterID string, sequence int64, skipPreflights bool, installStatus storetypes.DownstreamVersionStatus, isCLI bool, preflightStatus string, appStatus string) error
}
func GetReporter ¶ added in v1.98.0
func GetReporter() Reporter
Click to show internal directories.
Click to hide internal directories.