crate.operator.create module

class crate.operator.create.CreateServicesSubHandler(namespace, name, ref, context, depends_on=None, run_on_dep_failures=False)

Bases: StateBasedSubHandler

Parameters
  • namespace (str) –

  • name (str) –

  • ref (str) –

  • context (dict) –

async handle(namespace, name, owner_references, cratedb_labels, http_port, postgres_port, transport_port, dns_record, logger, source_ranges=None, additional_annotations=None, **kwargs)
Parameters
class crate.operator.create.CreateSqlExporterConfigSubHandler(namespace, name, ref, context, depends_on=None, run_on_dep_failures=False)

Bases: StateBasedSubHandler

Parameters
  • namespace (str) –

  • name (str) –

  • ref (str) –

  • context (dict) –

async handle(namespace, name, owner_references, cratedb_labels, logger, **kwargs)
Parameters
class crate.operator.create.CreateStatefulsetSubHandler(namespace, name, ref, context, depends_on=None, run_on_dep_failures=False)

Bases: StateBasedSubHandler

Parameters
  • namespace (str) –

  • name (str) –

  • ref (str) –

  • context (dict) –

async handle(namespace, name, owner_references, cratedb_labels, treat_as_master, treat_as_data, cluster_name, node_name, node_name_prefix, node_spec, master_nodes, total_nodes_count, data_nodes_count, http_port, jmx_port, postgres_port, prometheus_port, transport_port, crate_image, ssl, cluster_settings, image_pull_secrets, logger, **kwargs)
Parameters
class crate.operator.create.CreateSystemUserSubHandler(namespace, name, ref, context, depends_on=None, run_on_dep_failures=False)

Bases: StateBasedSubHandler

Parameters
  • namespace (str) –

  • name (str) –

  • ref (str) –

  • context (dict) –

async handle(namespace, name, owner_references, cratedb_labels, logger, **kwargs)
Parameters
async crate.operator.create.create_services(owner_references, namespace, name, labels, http_port, postgres_port, transport_port, dns_record, logger, source_ranges=None, additional_annotations=None)
Parameters
Return type

None

async crate.operator.create.create_sql_exporter_config(owner_references, namespace, name, labels, logger)
Parameters
Return type

None

async crate.operator.create.create_statefulset(owner_references, namespace, name, labels, treat_as_master, treat_as_data, cluster_name, node_name, node_name_prefix, node_spec, master_nodes, total_nodes_count, data_nodes_count, http_port, jmx_port, postgres_port, prometheus_port, transport_port, crate_image, ssl, cluster_settings, image_pull_secrets, logger)
Parameters
Return type

None

async crate.operator.create.create_system_user(owner_references, namespace, name, labels, logger)

The CrateDB Operator will need to perform operations on the CrateDB cluster. For that, it will use a system user who’s credentials are created here.

Parameters
Return type

None

crate.operator.create.get_cluster_resource_limits(node_spec, *, resource_type, fallback_key=None)
Parameters
crate.operator.create.get_cluster_resource_requests(node_spec, *, resource_type, fallback_key=None)
Parameters
crate.operator.create.get_data_service(owner_references, name, labels, http_port, postgres_port, dns_record, source_ranges=None, additional_annotations=None)
Parameters
Return type

V1Service

crate.operator.create.get_discovery_service(owner_references, name, labels, transport_port, http_port, postgres_port)
Parameters
Return type

V1Service

crate.operator.create.get_gc_user_secret(owner_references, name, labels)
Parameters
Return type

V1Secret

crate.operator.create.get_owner_references(name, meta)
Parameters
Return type

List[V1OwnerReference]

crate.operator.create.get_sql_exporter_config(owner_references, name, labels)
Parameters
Return type

V1ConfigMap

crate.operator.create.get_statefulset(owner_references, namespace, name, labels, treat_as_master, treat_as_data, cluster_name, node_name, node_name_prefix, node_spec, master_nodes, total_nodes_count, data_nodes_count, http_port, jmx_port, postgres_port, prometheus_port, transport_port, crate_image, ssl, cluster_settings, image_pull_secrets, logger)
Parameters
Return type

V1StatefulSet

crate.operator.create.get_statefulset_affinity(name, logger, node_spec)
Parameters
Return type

Optional[V1Affinity]

crate.operator.create.get_statefulset_containers(node_spec, http_port, jmx_port, postgres_port, prometheus_port, transport_port, crate_image, crate_command, crate_env, crate_volume_mounts)
Parameters
  • node_spec (Dict[str, Any]) –

  • http_port (int) –

  • jmx_port (int) –

  • postgres_port (int) –

  • prometheus_port (int) –

  • transport_port (int) –

  • crate_image (str) –

  • crate_command (List[str]) –

  • crate_env (List[V1EnvVar]) –

  • crate_volume_mounts (List[V1VolumeMount]) –

Return type

List[V1Container]

crate.operator.create.get_statefulset_crate_command(*, namespace, name, master_nodes, total_nodes_count, data_nodes_count, crate_node_name_prefix, cluster_name, node_name, node_spec, cluster_settings, has_ssl, is_master, is_data, crate_version)
Parameters
  • namespace (str) –

  • name (str) –

  • master_nodes (List[str]) –

  • total_nodes_count (int) –

  • data_nodes_count (int) –

  • crate_node_name_prefix (str) –

  • cluster_name (str) –

  • node_name (str) –

  • node_spec (Dict[str, Any]) –

  • cluster_settings (Optional[Dict[str, str]]) –

  • has_ssl (bool) –

  • is_master (bool) –

  • is_data (bool) –

  • crate_version (str) –

Return type

List[str]

crate.operator.create.get_statefulset_crate_env(node_spec, jmx_port, prometheus_port, ssl)
Parameters
Return type

List[V1EnvVar]

crate.operator.create.get_statefulset_crate_env_java_opts(jmx_port, prometheus_port)
Parameters
  • jmx_port (int) –

  • prometheus_port (int) –

Return type

List[str]

crate.operator.create.get_statefulset_crate_volume_mounts(node_spec, ssl)
Parameters
Return type

List[V1VolumeMount]

crate.operator.create.get_statefulset_env_crate_heap(memory, heap_ratio)

Generates the environment variable with the explicit heap size in bytes

Parameters
  • memory (str) –

  • heap_ratio (float) –

Return type

V1EnvVar

crate.operator.create.get_statefulset_init_containers(crate_image)
Parameters

crate_image (str) –

Return type

List[V1Container]

crate.operator.create.get_statefulset_pvc(owner_references, node_spec)
Parameters
Return type

List[V1PersistentVolumeClaim]

crate.operator.create.get_statefulset_volumes(name, ssl)
Parameters
Return type

List[V1Volume]

crate.operator.create.get_system_user_secret(owner_references, name, labels)
Parameters
Return type

V1Secret

crate.operator.create.get_tolerations(name, logger, node_spec)
Parameters
Return type

Optional[List[V1Toleration]]

crate.operator.create.get_topology_spread(name, logger)
Parameters
Return type

Optional[List[V1TopologySpreadConstraint]]

crate.operator.create.is_shared_resources_cluster(node_spec)
Parameters

node_spec (Dict[str, Any]) –

Return type

bool

async crate.operator.create.recreate_services(namespace, name, spec, meta, logger)
Parameters