Merge pull request #98 from cloud-neutral/codex/plan-roles-for-five-data-categories

Initialize placeholder docker and chart roles
This commit is contained in:
cloudneutral 2025-12-09 23:48:02 +08:00 committed by GitHub
commit 7463891002
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
69 changed files with 305 additions and 0 deletions

33
playbooks/roles/README.md Normal file
View File

@ -0,0 +1,33 @@
# Playbook roles planning
This document clarifies what should live under `/playbooks/roles/` for host-level automation (Ansible) versus what should be delivered through Helm charts, and ensures we cover the five tiers across data platforms: data warehouse → big data → ML → DL → large models.
## Scope rules
- **Ansible roles**: host-coupled configuration that is not itself a cloud resource (GPU driver/runtime, OS tuning, user/SSH prep, rendering on-host config files, database bootstrapping, etc.).
- **Helm charts**: anything that runs as a Kubernetes workload (operators, clusters, services running in pods).
## Base roles shared across tiers (Ansible)
- GPU driver and CUDA stack installation.
- Docker/Containerd runtime setup.
- System parameter tuning (kernel limits, hugepages, network stack), plus user home/SSH layout.
- Database initialization tasks (e.g., bootstrap PostgreSQL/ClickHouse on hosts) and rendering templated configs such as `ClickHouse/users.xml`.
## Coverage by capability tier
| Tier | Host-focused roles (Ansible) | Kubernetes services (Helm) |
| --- | --- | --- |
| Data warehouse | ClickHouse host bootstrap & config render; PostgreSQL init where needed. | — |
| Big data | JVM/runtime, local disks, and OS tuning for data nodes. | Spark Operator; Flink Operator; Kafka/Redpanda; MinIO. |
| ML | GPU runtime base (drivers, container runtime), Python ML base image prep; user workspace/SSH. | Ray Cluster; MLflow; JupyterHub. |
| DL | Same GPU/system tuning plus inference node bootstrap (tensorRT/cuDNN as needed). | Triton Inference Server; LMDeploy (for deployment runtimes). |
| Large models | Secure SSH/user profiles and config templating for model storage/IO. | vLLM serving; model-specific Helm releases atop Ray/K8s. |
## Suggested role layout under `/playbooks/roles/`
- `common/` (new): shared tasks for system tuning, users/SSH, and package repos for GPU/runtime support.
- `gpu/`: install GPU drivers + CUDA toolkit.
- `container_runtime/`: install and configure Docker/Containerd with GPU runtime integration.
- `database_init/`: bootstrap on-host databases (e.g., PostgreSQL, ClickHouse), render config files (`users.xml`, etc.).
- `bigdata_node_prep/`: OS/disk tuning for Spark/Flink/Kafka/Redpanda/MinIO hosts.
- `ml_node_prep/`: Python/conda base, SSH workspace prep for ML workloads.
- `dl_inference_node/`: tensorRT/cuDNN dependencies and runtime checks for Triton/LMDeploy nodes.
Helm-delivered components should live under `playbooks/roles/charts/` or the repos Helm release structure and include Spark/Flink Operators, Kafka/Redpanda/MinIO, Ray Cluster, Triton, vLLM/LMDeploy, MLflow, and JupyterHub.

View File

@ -0,0 +1,3 @@
# embedding-service (chart)
Placeholder role for managing the Helm chart release of embedding-service.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# feast (chart)
Placeholder role for managing the Helm chart release of feast.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# flink-operator (chart)
Placeholder role for managing the Helm chart release of flink-operator.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# grafana (chart)
Placeholder role for managing the Helm chart release of grafana.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# iceberg-bucket (chart)
Placeholder role for managing the Helm chart release of iceberg-bucket.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# inference-gateway (chart)
Placeholder role for managing the Helm chart release of inference-gateway.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# kafka-cluster (chart)
Placeholder role for managing the Helm chart release of kafka-cluster.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# loki (chart)
Placeholder role for managing the Helm chart release of loki.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# minio (chart)
Placeholder role for managing the Helm chart release of minio.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# mlflow (chart)
Placeholder role for managing the Helm chart release of mlflow.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# nvidia-operator (chart)
Placeholder role for managing the Helm chart release of nvidia-operator.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# openobserve (chart)
Placeholder role for managing the Helm chart release of openobserve.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# postgres (chart)
Placeholder role for managing the Helm chart release of postgres.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# prometheus-stack (chart)
Placeholder role for managing the Helm chart release of prometheus-stack.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# ray-cluster (chart)
Placeholder role for managing the Helm chart release of ray-cluster.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# redpanda (chart)
Placeholder role for managing the Helm chart release of redpanda.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# sglang (chart)
Placeholder role for managing the Helm chart release of sglang.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# spark-operator (chart)
Placeholder role for managing the Helm chart release of spark-operator.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# tempo (chart)
Placeholder role for managing the Helm chart release of tempo.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# trino (chart)
Placeholder role for managing the Helm chart release of trino.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# vllm (chart)
Placeholder role for managing the Helm chart release of vllm.

View File

@ -0,0 +1,5 @@
---
# TODO: implement Helm release tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement Helm release tasks."

View File

@ -0,0 +1,3 @@
# clickhouse (docker)
Placeholder role for docker-compose style deployment of clickhouse.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."

View File

@ -0,0 +1,3 @@
# embedding-service (docker)
Placeholder role for docker-compose style deployment of embedding-service.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."

View File

@ -0,0 +1,3 @@
# grafana (docker)
Placeholder role for docker-compose style deployment of grafana.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."

View File

@ -0,0 +1,3 @@
# kafka (docker)
Placeholder role for docker-compose style deployment of kafka.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."

View File

@ -0,0 +1,3 @@
# loki (docker)
Placeholder role for docker-compose style deployment of loki.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."

View File

@ -0,0 +1,3 @@
# minio (docker)
Placeholder role for docker-compose style deployment of minio.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."

View File

@ -0,0 +1,3 @@
# mlflow (docker)
Placeholder role for docker-compose style deployment of mlflow.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."

View File

@ -0,0 +1,3 @@
# postgres (docker)
Placeholder role for docker-compose style deployment of postgres.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."

View File

@ -0,0 +1,3 @@
# ray (docker)
Placeholder role for docker-compose style deployment of ray.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."

View File

@ -0,0 +1,3 @@
# redpanda (docker)
Placeholder role for docker-compose style deployment of redpanda.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."

View File

@ -0,0 +1,3 @@
# sglang (docker)
Placeholder role for docker-compose style deployment of sglang.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."

View File

@ -0,0 +1,3 @@
# trino (docker)
Placeholder role for docker-compose style deployment of trino.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."

View File

@ -0,0 +1,3 @@
# vllm (docker)
Placeholder role for docker-compose style deployment of vllm.

View File

@ -0,0 +1,5 @@
---
# TODO: implement docker deployment tasks
- name: Placeholder task
debug:
msg: "Role placeholder. Implement docker deployment tasks."