MeterBase/v1alpha1

MeterBase is the resource that sets up Metering for Red Hat Marketplace. This is an internal resource not meant to be modified directly.

apiVersion

Description: APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

Type: string

PropertyTypeDescription
apiVersionstringAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

Description: Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

Type: string

PropertyTypeDescription
kindstringKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

Description: (No Description)

Type: object

PropertyTypeDescription
metadataobject(No Description)

spec

Description: MeterBaseSpec defines the desired state of MeterBase

Type: object

PropertyTypeDescription
specobjectMeterBaseSpec defines the desired state of MeterBase
spec.additionalScrapeConfigsobjectAdditionalConfigs are set by meter definitions and meterbase to what is available on the system.
spec.additionalScrapeConfigs.keystringThe key of the secret to select from. Must be a valid secret key.
spec.additionalScrapeConfigs.namestringName of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
spec.additionalScrapeConfigs.optionalbooleanSpecify whether the Secret or its key must be defined
spec.dataServiceEnabledbooleanDataServiceEnabled is the flag that controls if the DataService will be created. Setting enabled to “true” will install DataService components. False will delete the DataServicecomponents.
spec.enabledbooleanEnabled is the flag that controls if the controller does work. Setting enabled to “true” will install metering components. False will suspend controller operations for metering components.
spec.meterdefinitionCatalogServerConfigobjectMeterdefinitionCatalogServerConfig holds configuration for the Meterdefinition Catalog Server.
spec.meterdefinitionCatalogServerConfig.deployMeterDefinitionCatalogServerbooleanDeployMeterDefinitionCatalogServer controls whether the deploymentconfig controller will deploy the resources needed to create the Meterdefinition Catalog Server. Setting DeployMeterDefinitionCatalogServer to “true” wil install a DeploymentConfig, ImageStream, and Service.
spec.meterdefinitionCatalogServerConfig.syncCommunityMeterDefinitionsbooleanSyncCommunityMeterDefinitions represents the enablement of logic that will sync community meterdefinitions from the meterdefinition catalog, defaults to true when not set
spec.meterdefinitionCatalogServerConfig.syncSystemMeterDefinitionsbooleanSyncSystemMeterDefinitions represents the enablement of logic that will sync system meterdefinitions from the meterdefinition catalog, defaults to true when not set
spec.prometheusobjectPrometheus deployment configuration.
spec.prometheus.replicasintegerReplicas defines the number of desired replicas for the prometheus deployment. Used primarily when running metering on CRC
spec.prometheus.resourcesobjectResource requirements for the deployment. Default is not defined.
spec.prometheus.resources.claimsarrayClaims lists the names of resources, defined in spec.resourceClaims, that are used by this container.This is an alpha field and requires enabling the DynamicResourceAllocation feature gate.This field is immutable. It can only be set for containers.
spec.prometheus.resources.limitsobjectLimits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
spec.prometheus.resources.requestsobjectRequests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
spec.prometheus.selectorobjectSelector for the pods in the Prometheus deployment
spec.prometheus.storageobjectStorage for the deployment.
spec.prometheus.storage.classstringStorage class for the prometheus stateful set. Default is "" i.e. default.
spec.prometheus.storage.emptyDirobjectEmptyDir is a temporary storage type that gets created on the prometheus pod. When this is defined metering will run on CRC.
spec.prometheus.storage.emptyDir.mediumstringmedium represents what type of storage medium should back this directory. The default is "" which means to use the node’s default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
spec.prometheus.storage.emptyDir.sizeLimit(No Type)sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir
spec.prometheus.storage.sizestringStorage size for the prometheus deployment. Default is 40Gi.
spec.userWorkloadMonitoringEnabledbooleanUserWorkloadMonitoringEnabled controls whether to attempt to use Openshift user-defined workload monitoring as the Prometheus provider

status

Description: MeterBaseStatus defines the observed state of MeterBase.

Type: object

PropertyTypeDescription
statusobjectMeterBaseStatus defines the observed state of MeterBase.
status.availableReplicasintegerTotal number of available pods (ready for at least minReadySeconds) targeted by this Prometheus deployment.
status.conditionsarrayMeterBaseConditions represent the latest available observations of an object’s stateonfig
status.meterdefinitionCatalogServerStatusobjectMeterdefinitionCatalogServerStatus is the most recent observed status of the Meterdefinition Catalog Server. Read-only. Not included when requesting from the apiserver, only from the Prometheus
status.meterdefinitionCatalogServerStatus.conditionsarrayMeterdefinitionCatalogServerConditions represent the latest available observations of an object’s stateonfig
status.prometheusStatusobjectPrometheusStatus is the most recent observed status of the Prometheus cluster. Read-only. Not included when requesting from the apiserver, only from the Prometheus
status.prometheusStatus.availableReplicasintegerTotal number of available pods (ready for at least minReadySeconds) targeted by this Prometheus deployment.
status.prometheusStatus.conditionsarrayThe current state of the Prometheus deployment.
status.prometheusStatus.pausedbooleanRepresents whether any actions on the underlying managed objects are being performed. Only delete actions will be performed.
status.prometheusStatus.replicasintegerTotal number of non-terminated pods targeted by this Prometheus deployment (their labels match the selector).
status.prometheusStatus.shardStatusesarrayThe list has one entry per shard. Each entry provides a summary of the shard status.
status.prometheusStatus.unavailableReplicasintegerTotal number of unavailable pods targeted by this Prometheus deployment.
status.prometheusStatus.updatedReplicasintegerTotal number of non-terminated pods targeted by this Prometheus deployment that have the desired version spec.
status.replicasintegerTotal number of non-terminated pods targeted by this Prometheus deployment (their labels match the selector).
status.targetsarrayTargets is a list of prometheus activeTargets
status.unavailableReplicasintegerTotal number of unavailable pods targeted by this Prometheus deployment.
status.updatedReplicasintegerTotal number of non-terminated pods targeted by this Prometheus deployment that have the desired version spec.