The K10 Report resource is in developer preview and a number of breaking changes to the resource API schema may happen in subsequent releases.
A Report API resource captures information about the state of the system at the time the report was generated as well as select metrics collected from the K10 Prometheus service. A Report is produced by a ReportAction when K10 Reports are enabled.
Enabling and viewing K10 Reports in the K10 dashboard or with the API are discussed more fully in Reporting.
Report API Type
The following is a complete specification of the Report resource.
# Standard Kubernetes API Version declaration. Required. apiVersion: reporting.kio.kasten.io/v1alpha1 # Standard Kubernetes Kind declaration. Required. kind: Report # Standard Kubernetes metadata. Required. metadata: # Name of the Report. Required. name: scheduled-45cfn-qwmcw # Namespace of the Report. Required. namespace: kasten-io # Report parameters from ReportAction spec: # Time of Report generation reportTimestamp: '2021-10-20T00:00:00Z' # Query Interval for Prometheus metrics in Report statsIntervalDays: 1 statsIntervalHours: 0 statsIntervalStartTimestamp: '2021-10-19T00:00:00Z' statsIntervalEndTimestamp: '2021-10-20T00:00:00Z' # Results contains captured system information. results: # General system information general: # K10 version k10Version: '4.5' # K10 namespace. Optional. k10Namespace: kasten-io # Kubenetes version k8sVersion: '1.21' # Cluster identifier. Optional. clusterId: sample-cluster-ID # Cluster region. Optional. clusterRegion: sample-cluster-region # Cluster name when K10 multi-cluster configured. Optional. clusterName: sample-cluster # Infrastructure type infraType: # Cloud provider. Possible values: azure, aws, gcp, unknown. Optional. provider: aws # Whether the cluster is built with the use of Red Hat® OpenShift® isOpenShift: false # Indicates the type of authentication. Possible values: basic, oidc, token, none. Optional. authType: oidc # AWS information. For AWS clusters only. Optional. aws: # AWS IAM role. Optional. role: 'arn:aws:iam::123456789012:role/adminrole' # Licensing information licensing: # License type type: Enterprise # License expiry expiry: '0000-00-00T00:00:00Z' # Nodes in use nodeCount: 199 # Maximum licensed nodes nodeLimit: 220 # License status status: Valid # K10 Action metrics from Prometheus. Optional. actions: # Action count stats from Prometheus countStats: backup: completed: failed: cancelled: skipped: backupCluster: ... export: ... import: ... report: ... restore: ... restoreCluster: ... run: ... # Policy information polices: # K10 Disaster Recovery policy information k10DR: status: Enabled backupFrequency: '@hourly' immutability: protection: Enabled protectionDays: 30 profile: my-k10-dr-profile # Policy summary information summaries: - name: policy1 namespace: kasten-io actions: - backup frequency: '@hourly' profileNames: paused: true validation: Success - name: policy2 namespace: basic-user-app actions: - backup export frequency: '@daily' profileNames: basic-user-profile validation: Success # Profile information profiles: # Profile summary information summaries: - name: my-k10-dr-profile type: Location validation: Success # SSL verification status, if applicable. sslVerification: Verify | SkipVerification # Profile setting forces infraportable data export, if applicable. dataPortability: Enabled | omitted # Immutability immutability: protection: Enabled protectionDays: 30 # Object store type, if applicable. objectStoreType: S3 region: sample-region bucket: sample-bucket # Endpoint, if not default. endpoint: # NFS location profile details claimName: path: # VBR server profile details vbrServer: vbrPort: vbrRepoName: - name: basic-user-profile type: Location validation: Success sslVerification: Verify immutability: protection: Disabled protectionDays: 0 # Object store type, if applicable. objectStoreType: S3 region: sample-region bucket: basic-user-bucket # Compliance information compliance: # Loading indicates compliance data not available. Omitted if false. loading: # Count of total applications on system applicationCount: 25 # Count of compliant applications on system compliantCount: 11 # Count of non-compliant applications on system nonCompliantCount: 2 # Count of unmanaged applications on system unmanagedCount: 12 # Names of up to 10 non-compliant applications. Optional. someNonCompliantApps: - name: non-compliant-app-1 - name: non-compliant-app-2 # Storage information storage: # Snapshot information snapshotStorage: count: 243 logicalBytes: 275951648768 physicalBytes: 63568035264 freedBytes: # Optional # Objectstore backup information objectStorage: count: 805 logicalBytes: 392624800 physicalBytes: 378777373 freedBytes: # Optional pvcStats: pvcCount: 5 pvcBytes: 35433480192 # K10 services information from Prometheus. Optional. k10Services: - diskUsage: freeBytes: 13789057024 freePercentage: 65 usedBytes: 7214526464 name: logging - diskUsage: freeBytes: 20267335680 freePercentage: 96 usedBytes: 736247808 name: catalog - diskUsage: freeBytes: 20228878336 freePercentage: 96 usedBytes: 774705152 name: jobs
By default the reports are not retired. To set up a retention count, update the policy spec to include the desired value:
kind: Policy apiVersion: config.kio.kasten.io/v1alpha1 metadata: # ... metadata fields ... spec: # Optional retention section can only have one child field: hourly, daily, weekly, monthly or yearly. # It also must correspond to the policy frequency (i.e. "@hourly" frequency must use hourly # retention field). retention: # Number of the reports to keep (the oldest ones will be deleted). # Note: only automated reports will be deleted. Any report that was created # by a manual policy run or that was injected manually will be preserved. daily: 2 # ... other spec fields ...