From f2fe9e78ebc297e4ee90a8b681b0c09fba2bc3b8 Mon Sep 17 00:00:00 2001 From: Nick Larsen Date: Mon, 3 Nov 2025 10:24:10 +0100 Subject: [PATCH 1/2] chore(stack/dual-hive-hdfs-s3): Remove no longer needed stack --- stacks/dual-hive-hdfs-s3/hdfs.yaml | 47 ---------- stacks/dual-hive-hdfs-s3/hive.yaml | 78 ----------------- stacks/dual-hive-hdfs-s3/trino.yaml | 129 ---------------------------- stacks/stacks-v2.yaml | 33 ------- 4 files changed, 287 deletions(-) delete mode 100644 stacks/dual-hive-hdfs-s3/hdfs.yaml delete mode 100644 stacks/dual-hive-hdfs-s3/hive.yaml delete mode 100644 stacks/dual-hive-hdfs-s3/trino.yaml diff --git a/stacks/dual-hive-hdfs-s3/hdfs.yaml b/stacks/dual-hive-hdfs-s3/hdfs.yaml deleted file mode 100644 index 0d35de36..00000000 --- a/stacks/dual-hive-hdfs-s3/hdfs.yaml +++ /dev/null @@ -1,47 +0,0 @@ ---- -apiVersion: zookeeper.stackable.tech/v1alpha1 -kind: ZookeeperCluster -metadata: - name: hdfs-zk -spec: - image: - productVersion: 3.9.4 - servers: - roleGroups: - default: - replicas: 1 ---- -apiVersion: zookeeper.stackable.tech/v1alpha1 -kind: ZookeeperZnode -metadata: - name: hdfs-znode -spec: - clusterRef: - name: hdfs-zk ---- -apiVersion: hdfs.stackable.tech/v1alpha1 -kind: HdfsCluster -metadata: - name: hdfs -spec: - image: - productVersion: 3.4.2 - clusterConfig: - dfsReplication: 1 - zookeeperConfigMapName: hdfs-znode - nameNodes: - config: - listenerClass: external-stable - roleGroups: - default: - replicas: 2 - dataNodes: - config: - listenerClass: external-unstable - roleGroups: - default: - replicas: 1 - journalNodes: - roleGroups: - default: - replicas: 1 diff --git a/stacks/dual-hive-hdfs-s3/hive.yaml b/stacks/dual-hive-hdfs-s3/hive.yaml deleted file mode 100644 index 38432a17..00000000 --- a/stacks/dual-hive-hdfs-s3/hive.yaml +++ /dev/null @@ -1,78 +0,0 @@ ---- -apiVersion: secrets.stackable.tech/v1alpha1 -kind: SecretClass -metadata: - name: hive-s3-secret-class -spec: - backend: - k8sSearch: - searchNamespace: - pod: {} ---- -apiVersion: s3.stackable.tech/v1alpha1 -kind: S3Connection -metadata: - name: minio -spec: - host: minio - port: 9000 - accessStyle: Path - credentials: - secretClass: hive-s3-secret-class ---- -apiVersion: v1 -kind: Secret -metadata: - name: hive-s3-secret - labels: - secrets.stackable.tech/class: hive-s3-secret-class -stringData: - accessKey: trino - secretKey: trinotrino ---- -apiVersion: hive.stackable.tech/v1alpha1 -kind: HiveCluster -metadata: - name: hive-hdfs -spec: - image: - productVersion: 4.1.0 - clusterConfig: - database: - connString: jdbc:postgresql://hivehdfs-postgresql:5432/hivehdfs - dbType: postgres - credentialsSecret: postgres-credentials - hdfs: - configMap: hdfs - metastore: - roleGroups: - default: - replicas: 1 ---- -apiVersion: hive.stackable.tech/v1alpha1 -kind: HiveCluster -metadata: - name: hive-s3 -spec: - image: - productVersion: 4.1.0 - clusterConfig: - database: - connString: jdbc:postgresql://hives3-postgresql:5432/hives3 - dbType: postgres - credentialsSecret: postgres-credentials - s3: - reference: minio - metastore: - roleGroups: - default: - replicas: 1 ---- -apiVersion: v1 -kind: Secret -metadata: - name: postgres-credentials -type: Opaque -stringData: - username: hive - password: hive diff --git a/stacks/dual-hive-hdfs-s3/trino.yaml b/stacks/dual-hive-hdfs-s3/trino.yaml deleted file mode 100644 index 93e3a291..00000000 --- a/stacks/dual-hive-hdfs-s3/trino.yaml +++ /dev/null @@ -1,129 +0,0 @@ ---- -apiVersion: trino.stackable.tech/v1alpha1 -kind: TrinoCatalog -metadata: - name: hivehdfs - labels: - trino: trino -spec: - connector: - hive: - metastore: - configMap: hive-hdfs - hdfs: - configMap: hdfs ---- -apiVersion: trino.stackable.tech/v1alpha1 -kind: TrinoCatalog -metadata: - name: hives3 - labels: - trino: trino -spec: - connector: - hive: - metastore: - configMap: hive-s3 - s3: - reference: minio - configOverrides: - hive.iceberg-catalog-name: iceberg ---- -apiVersion: trino.stackable.tech/v1alpha1 -kind: TrinoCatalog -metadata: - name: iceberg - labels: - trino: trino -spec: - connector: - iceberg: - metastore: - configMap: hive-s3 - s3: - reference: minio - configOverrides: - iceberg.hive-catalog-name: hives3 ---- -apiVersion: trino.stackable.tech/v1alpha1 -kind: TrinoCatalog -metadata: - name: tpcds - labels: - trino: trino -spec: - connector: - tpcds: {} ---- -apiVersion: trino.stackable.tech/v1alpha1 -kind: TrinoCluster -metadata: - name: trino -spec: - image: - productVersion: "451" # Trino 469 and greater require TLS for S3 - clusterConfig: - authorization: - opa: - configMapName: opa - package: trino - catalogLabelSelector: - matchLabels: - trino: trino - coordinators: - roleConfig: - listenerClass: external-stable - roleGroups: - default: - replicas: 1 - workers: - roleGroups: - default: - replicas: 1 ---- -apiVersion: opa.stackable.tech/v1alpha1 -kind: OpaCluster -metadata: - name: opa -spec: - image: - productVersion: 1.8.0 - servers: - roleGroups: - default: - replicas: 1 ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: trino-opa-bundle - labels: - opa.stackable.tech/bundle: "trino" -data: - trino.rego: | - package trino - - default allow = false - - # Allow non-batched access - allow if { - is_admin - } - # Allow batched access - batch contains i if { - some i - input.action.filterResources[i] - is_admin - } - # Corner case: filtering columns is done with a single table item, and many columns inside - batch contains i if { - some i - input.action.operation == "FilterColumns" - count(input.action.filterResources) == 1 - input.action.filterResources[0].table.columns[i] - is_admin - } - - is_admin() if { - input.context.identity.user == "admin" - } diff --git a/stacks/stacks-v2.yaml b/stacks/stacks-v2.yaml index bb28f3a9..b1d68edb 100644 --- a/stacks/stacks-v2.yaml +++ b/stacks/stacks-v2.yaml @@ -437,39 +437,6 @@ stacks: - name: jupyterLabToken description: Token for JupyterLab UI access default: adminadmin - dual-hive-hdfs-s3: - description: Dual stack Hive on HDFS and S3 for Hadoop/Hive to Trino migration - stackableRelease: dev - stackableOperators: - - commons - - listener - - secret - - zookeeper - - hdfs - - hive - - trino - - opa - labels: - - trino - - hive - - hdfs - - s3 - manifests: - - helmChart: https://raw.githubusercontent.com/stackabletech/demos/main/stacks/_templates/postgresql-hivehdfs.yaml - - helmChart: https://raw.githubusercontent.com/stackabletech/demos/main/stacks/_templates/postgresql-hives3.yaml - - helmChart: https://raw.githubusercontent.com/stackabletech/demos/main/stacks/_templates/minio.yaml - - plainYaml: https://raw.githubusercontent.com/stackabletech/demos/main/stacks/dual-hive-hdfs-s3/hdfs.yaml - - plainYaml: https://raw.githubusercontent.com/stackabletech/demos/main/stacks/dual-hive-hdfs-s3/hive.yaml - - plainYaml: https://raw.githubusercontent.com/stackabletech/demos/main/stacks/dual-hive-hdfs-s3/trino.yaml - supportedNamespaces: [] - resourceRequests: - cpu: 7750m - memory: 19974Mi - pvc: 44Gi - parameters: - - name: minioAdminPassword - description: Password of the Minio admin user - default: adminadmin tutorial-openldap: description: >- An OpenLDAP instance with two users (alice:alice, bob:bob) and TLS enabled. From d114def4bbf634f1bb9bdebd0bc47ad84cfd0a0e Mon Sep 17 00:00:00 2001 From: Nick Larsen Date: Mon, 3 Nov 2025 11:04:43 +0100 Subject: [PATCH 2/2] chore(stack/dual-hive-hdfs-s3): Remove unused templates --- stacks/_templates/postgresql-hivehdfs.yaml | 25 ---------------------- stacks/_templates/postgresql-hives3.yaml | 25 ---------------------- 2 files changed, 50 deletions(-) delete mode 100644 stacks/_templates/postgresql-hivehdfs.yaml delete mode 100644 stacks/_templates/postgresql-hives3.yaml diff --git a/stacks/_templates/postgresql-hivehdfs.yaml b/stacks/_templates/postgresql-hivehdfs.yaml deleted file mode 100644 index 9aa8b330..00000000 --- a/stacks/_templates/postgresql-hivehdfs.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -releaseName: hivehdfs -name: postgresql -repo: - name: bitnami - url: https://charts.bitnami.com/bitnami/ -version: 18.1.3 # 18.0.0 -options: - commonLabels: - stackable.tech/vendor: Stackable - auth: - username: hive - password: hive - database: hivehdfs - global: - security: - allowInsecureImages: true - image: - repository: bitnamilegacy/postgresql - volumePermissions: - image: - repository: bitnamilegacy/os-shell - metrics: - image: - repository: bitnamilegacy/postgres-exporter diff --git a/stacks/_templates/postgresql-hives3.yaml b/stacks/_templates/postgresql-hives3.yaml deleted file mode 100644 index f7f358b0..00000000 --- a/stacks/_templates/postgresql-hives3.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -releaseName: hives3 -name: postgresql -repo: - name: bitnami - url: https://charts.bitnami.com/bitnami/ -version: 18.1.3 # 18.0.0 -options: - commonLabels: - stackable.tech/vendor: Stackable - auth: - username: hive - password: hive - database: hives3 - global: - security: - allowInsecureImages: true - image: - repository: bitnamilegacy/postgresql - volumePermissions: - image: - repository: bitnamilegacy/os-shell - metrics: - image: - repository: bitnamilegacy/postgres-exporter