pinot.apache.io/v1alpha1

Package v1alpha1 contains API Schema definitions for the pinot v1alpha1 API group

Definitions

BrokerConfiguration

BrokerConfiguration defines the k8s spec configuration for the Pinot broker

Appears In:
Field Description

CommonResourceConfiguration CommonResourceConfiguration

jvmOptions string

Extra JVM parameters to be passed to the controller service

CommonResourceConfiguration

CommonResourceConfiguration defines basic K8s resource spec configurations

Field Description

nodeSelector object (keys:string, values:string)

Node selector to be used by Pinot statefulsets

affinity Affinity

Affinity scheduling rules to be applied on created Pods.

tolerations Toleration array

Tolerations is the list of Toleration resources attached to each Pod in the Pinot cluster.

podAnnotations object (keys:string, values:string)

PoAnnotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations

podManagementPolicy PodManagementPolicyType

PodManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. The default policy is OrderedReady, where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. The alternative policy is Parallel which will create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once.

podLabels object (keys:string, values:string)

Custom labels to be populated in Pinot pods

securityContext SecurityContext

Defines privilege and access control settings for a Pod or Container

replicaCount integer

Replicas is the number of nodes in the service. Each node is deployed as a Replica in a StatefulSet. Only 1, 3, 5 replicas clusters are tested. This value should be an odd number to ensure the resultant cluster can establish exactly one quorum of nodes in the event of a fragmenting network partition.

env EnvVar array

Extra environment variables to pass to the service

rollingDeploy boolean

If set to true then operator checks the rollout status of previous version StateSets before updating next. Used only for updates.

updateStrategy StatefulSetUpdateStrategy

UpdateStrategy indicates the StatefulSetUpdateStrategy that will be employed to update Pods in the StatefulSet when a revision is made to Template.

livenessProbe Probe

Describes a health check to be performed against a container to determine whether it is alive or not

readinessProbe Probe

Describes a health check to be performed against a container to determine whether it is ready to receive traffic or not

volumeClaimTemplates PersistentVolumeClaim array

VolumeClaimTemplates is a list of claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one matching (by name) volumeMount in one container in the template. A claim in this list takes precedence over any volumes in the template, with the same name.

volumeMounts VolumeMount array

Describes a mounting of a Volume within a container

volumes Volume array

Represents a named volume in a pod that may be accessed by any container in the pod

ControllerConfiguration

ControllerConfiguration defines the k8s spec configuration for the Pinot controller

Appears In:
Field Description

CommonResourceConfiguration CommonResourceConfiguration

diskSize string

Size of the persisten disk for the controller service

jvmOptions string

Extra JVM parameters to be passed to the controller service

vip.host string

vip.port integer

DatetimeFieldSpec

DatetimeFieldSpec represents time columns in the data. There can be multiple time columns in a table, but only one of them can be treated as primary. Primary time column is the one that is present in the segment config.

Appears In:
Field Description

format string

granularity string

DimensionFieldSpec

DimensionFieldSpec is typically used in slice and dice operations for answering business queries

Appears In:

ExternalServiceResourceConfiguration

ExternalServiceResourceConfiguration defines some definition for a service resource

Field Description

enabled boolean

Whether enabling the external service or not

annotations object (keys:string, values:string)

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations

Type of Service to create for the cluster. Must be one of: ClusterIP, LoadBalancer, NodePort. For more info see https://pkg.go.dev/k8s.io/api/core/v1#ServiceType

port integer

MetricFieldSpec

MetricFieldSpec represents the quantitative data of the table. Such columns are used for aggregation. In data warehouse terminology, these can also be referred to as fact or measure columns

Appears In:

NamespacedName

NamespacedName contains reference to a resource

Appears In:
Field Description

namespace string

name string

PinotList

PinotList contains a list of Pinot

Field Description

apiVersion string

pinot.apache.io/v1alpha1

kind string

PinotList

TypeMeta TypeMeta

Embedded metadata identifying a Kind and API Verison of an object. For more info, see: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#TypeMeta

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

Array of Pinot resources.

PinotSpec

PinotSpec defines the desired state of Pinot

Appears In:
Field Description

clusterName string

Required: cluster name for the pinot deployment

version PinotVersion

image string

Image is the name of the Apache Pinot docker image to use for Brokers/Coordinator/Server nodes in the Pinot cluster. Must be provided together with ImagePullSecrets in order to use an image in a private registry.

imagePullSecrets LocalObjectReference

List of Secret resource containing access credentials to the registry for the Apache Pinot image. Required if the docker registry is private.

imagePullPolicy PullPolicy

Image pull policy for the docker image

log4j.path string

Log4j config file directory

The desired state of the Controller service to create for the cluster.

The desired state of the Broker service to create for the cluster.

The desired state of the Server service to create for the cluster.

The desired state of the Zookeeper service to create for the cluster.

PinotStatus

PinotStatus defines the observed state of Pinot

Appears In:
Field Description

Status ConfigState

ErrorMessage string

Schema

Schema is the Schema for the schemas API

Appears In:
Field Description

TypeMeta TypeMeta

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec SchemaSpec

status SchemaStatus

SchemaSpec

SchemaSpec defines the desired state of Schema

Appears In:
Field Description

name string

Name of the schema

primaryKeys string array

PrimaryKeys is a list of columns that are set as primary keys

dimensions DimensionFieldSpec array

Dimensions is a list of fields that represents the dimensions in the schema ref: https://docs.pinot.apache.org/basics/components/schema#categories

metrics MetricFieldSpec array

Metrics is a list of fields that represents the metrics in the schema ref: https://docs.pinot.apache.org/basics/components/schema#categories

dateTimes DatetimeFieldSpec array

DateTimes is a list of fields that represents the datetimes in the schema ref: https://docs.pinot.apache.org/basics/components/schema#categories

timeField TimeFieldSpec

TimeField represents the granularity

pinotServer NamespacedName

labels object (keys:string, values:string)

SchemaStatus

SchemaStatus defines the observed state of Schema

Appears In:
Field Description

Status ConfigState

ErrorMessage string

ServerConfiguration

ServerConfiguration defines the k8s spec configuration for the Pinot server

Appears In:
Field Description

CommonResourceConfiguration CommonResourceConfiguration

diskSize string

Size of the persisten disk for the server service

jvmOptions string

Extra JVM parameters to be passed to the controller service

adminPort integer

Service port for the service controller

ServiceResourceConfiguration

ServiceResourceConfiguration defines some definition for a service resource

Field Description

annotations object (keys:string, values:string)

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations

Type of Service to create for the cluster. Must be one of: ClusterIP, LoadBalancer, NodePort. For more info see https://pkg.go.dev/k8s.io/api/core/v1#ServiceType

port integer

nodePort integer

SortablePinotItems

Appears In:
Field Description

apiVersion string

pinot.apache.io/v1alpha1

kind string

Pinot

TypeMeta TypeMeta

Embedded metadata identifying a Kind and API Verison of an object. For more info, see: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#TypeMeta

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec PinotSpec

Spec is the desired state of the Pinot Custom Resource.

status PinotStatus

Status presents the observed state of Pinot

SortablePinotItems

Appears In:
Field Description

apiVersion string

pinot.apache.io/v1alpha1

kind string

Pinot

TypeMeta TypeMeta

Embedded metadata identifying a Kind and API Verison of an object. For more info, see: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#TypeMeta

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec PinotSpec

Spec is the desired state of the Pinot Custom Resource.

status PinotStatus

Status presents the observed state of Pinot

Table

Table is the Schema for the tables API

Appears In:
Field Description

apiVersion string

pinot.apache.io/v1alpha1

kind string

Table

TypeMeta TypeMeta

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec TableSpec

status TableStatus

TableList

TableList contains a list of Table

Field Description

apiVersion string

pinot.apache.io/v1alpha1

kind string

TableList

TypeMeta TypeMeta

metadata ListMeta

Refer to Kubernetes API documentation for fields of metadata.

items Table

TableSpec

TableSpec defines the desired state of Table

Appears In:
Field Description

foo string

Foo is an example field of Table. Edit Table_types.go to remove/update

Tenant

Tenant is the Schema for the Tenants API

Appears In:
Field Description

TypeMeta TypeMeta

metadata ObjectMeta

Refer to Kubernetes API documentation for fields of metadata.

spec TenantSpec

status TenantStatus

TenantSpec

TenantSpec defines the desired state of Tenant

Appears In:
Field Description

role string

The tenant role to be used

name string

Name of the tenant

numberOfInstances integer

Number of instances to be associated with the tenant. It is used only when creating a tenant with Role Broker

offlineInstances integer

Number of Offline instances to be associted with the tenant. It is used only when creating a tenant with Role Server

realtimeInstances integer

Number of Realtime instances to be associted with the tenant. It is used only when creating a tenant with Role Server

pinotServer NamespacedName

labels object (keys:string, values:string)

TenantStatus

TenantStatus defines the observed state of Tenant

Appears In:
Field Description

Status ConfigState

ErrorMessage string

TimeFieldSpec

TimeFieldSpec represents the granularity for both ingestion and query segments

Appears In:
Field Description

incomingGranularity TimeGranularitySpec

outgoingGranularity TimeGranularitySpec

TimeGranularitySpec

TimeGranularitySpec represents the granularity object

Appears In:
Field Description

name string

Name of the time granularity specification

dataType string

typeType string

TimeType is one of TimeUnit enum values. e.g. HOURS , MINUTES etc. If your date is not in EPOCH format, this value is not used and can be set to MILLISECONDS or any other unit.

timeUnitSize integer

TimeUnitSize is multiplied to the value present in the time column to get an actual timestamp. eg: if timesize is 5 and value in time column is 4996308 minutes. The value that will be converted to epoch timestamp will be 4996308 * 5 * 60 * 1000 = 1498892400000 milliseconds. If your date is not in EPOCH format, this value is not used and can be set to 1 or any other integer.

timeFormat string

TimeFormat can be either EPOCH or SIMPLE_DATE_FORMAT. If it is SIMPLE_DATE_FORMAT, the pattern string is also specified. Here are some sample date-time formats you can use in the schema: 1:MILLISECONDS:EPOCH - used when timestamp is in the epoch milliseconds and stored in LONG format 1:HOURS:EPOCH - used when timestamp is in the epoch hours and stored in LONG or INT format 1:DAYS:SIMPLE_DATE_FORMAT:yyyy-MM-dd - when date is in STRING format and has the pattern year-month-date. e.g. 2020-08-21 1:HOURS:SIMPLE_DATE_FORMAT:EEE MMM dd HH:mm:ss ZZZ yyyy - when date is in STRING format. e.g. s Mon Aug 24 12:36:50 America/Los_Angeles 2019

ZookeeperConfiguration

ZookeeperConfiguration defines the desired state of Zookeeper

Appears In:
Field Description

image string

Image is the name of the Apache Zookeeper docker image

replicaCount integer

ReplicaCount is the number of nodes in the zookeeper service. Each node is deployed as a Replica in a StatefulSet. Only 1, 3, 5 replicas clusters are tested. This value should be an odd number to ensure the resultant cluster can establish exactly one quorum of nodes in the event of a fragmenting network partition.

The desired compute resource requirements of Pods in the cluster.

Defines the inner parameters for setting up the storage

jvmOptions string

Extra JVM parameters to be passed to the zookeeper service