first commit
This commit is contained in:
22
envs/dev/apps/cdc-job.yaml
Normal file
22
envs/dev/apps/cdc-job.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: lake-cdc-job-dev
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
sources:
|
||||
- repoURL: <REPO_URL>
|
||||
targetRevision: main
|
||||
path: charts/lake-cdc-job
|
||||
helm:
|
||||
valueFiles:
|
||||
- $values/envs/dev/values/cdc-job.yaml
|
||||
- repoURL: <REPO_URL>
|
||||
targetRevision: main
|
||||
ref: values
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: dbiz-lake-dev
|
||||
syncPolicy:
|
||||
automated: { prune: true, selfHeal: true }
|
||||
22
envs/dev/apps/infra.yaml
Normal file
22
envs/dev/apps/infra.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: lake-infra-dev
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: <REPO_URL>
|
||||
targetRevision: main
|
||||
path: envs/dev/infra
|
||||
directory:
|
||||
recurse: true
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: dbiz-lake-dev
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
17
envs/dev/apps/kafka-cluster.yaml
Normal file
17
envs/dev/apps/kafka-cluster.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: lake-kafka-dev
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: <REPO_URL>
|
||||
targetRevision: main
|
||||
path: envs/dev/kafka
|
||||
directory: { recurse: true }
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: dbiz-lake-dev
|
||||
syncPolicy:
|
||||
automated: { prune: true, selfHeal: true }
|
||||
20
envs/dev/apps/root.yaml
Normal file
20
envs/dev/apps/root.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: lake-root-dev
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: <REPO_URL>
|
||||
targetRevision: main
|
||||
path: envs/dev/apps
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: argocd
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
25
envs/dev/apps/spark-operator.yaml
Normal file
25
envs/dev/apps/spark-operator.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: lake-spark-operator-dev
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://kubeflow.github.io/spark-operator
|
||||
chart: spark-operator
|
||||
targetRevision: 2.1.1 # pin (kiểm bản mới khi dựng)
|
||||
helm:
|
||||
releaseName: spark-operator
|
||||
values: |
|
||||
spark:
|
||||
jobNamespaces:
|
||||
- dbiz-lake-dev
|
||||
webhook:
|
||||
enable: true
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: dbiz-lake-dev
|
||||
syncPolicy:
|
||||
automated: { prune: true, selfHeal: true }
|
||||
syncOptions: [ CreateNamespace=true ]
|
||||
19
envs/dev/apps/strimzi-operator.yaml
Normal file
19
envs/dev/apps/strimzi-operator.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: lake-strimzi-operator-dev
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://strimzi.io/charts/
|
||||
chart: strimzi-kafka-operator
|
||||
targetRevision: 0.45.0 # pin version (kiểm bản mới nhất khi dựng thật)
|
||||
helm:
|
||||
releaseName: strimzi
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: dbiz-lake-dev
|
||||
syncPolicy:
|
||||
automated: { prune: true, selfHeal: true }
|
||||
syncOptions: [ CreateNamespace=true ]
|
||||
50
envs/dev/infra/external-services.yaml
Normal file
50
envs/dev/infra/external-services.yaml
Normal file
@@ -0,0 +1,50 @@
|
||||
# Service + Endpoints không selector -> trỏ tới hạ tầng NGOÀI K8s (theo pattern argo-k8s).
|
||||
# MinIO lake: GIỮ NGUYÊN, K8s compute trỏ vào đây như S3 endpoint.
|
||||
# ĐIỀN IP THẬT của máy chạy MinIO (VM lake) trước khi apply.
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: minio-lake
|
||||
namespace: dbiz-lake-dev
|
||||
spec:
|
||||
ports:
|
||||
- name: s3
|
||||
port: 9000
|
||||
targetPort: 9000
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Endpoints
|
||||
metadata:
|
||||
name: minio-lake
|
||||
namespace: dbiz-lake-dev
|
||||
subsets:
|
||||
- addresses:
|
||||
- ip: 192.168.110.37 # <-- ĐIỀN IP máy MinIO (VM lake)
|
||||
ports:
|
||||
- name: s3
|
||||
port: 9000
|
||||
---
|
||||
# Postgres nguồn CRM (172.20.109.5) — để Debezium/Strimzi trỏ tới khi CDC
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: crm-source-pg
|
||||
namespace: dbiz-lake-dev
|
||||
spec:
|
||||
ports:
|
||||
- name: pg
|
||||
port: 5432
|
||||
targetPort: 5432
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Endpoints
|
||||
metadata:
|
||||
name: crm-source-pg
|
||||
namespace: dbiz-lake-dev
|
||||
subsets:
|
||||
- addresses:
|
||||
- ip: 172.20.109.5
|
||||
ports:
|
||||
- name: pg
|
||||
port: 5432
|
||||
45
envs/dev/kafka/kafka.yaml
Normal file
45
envs/dev/kafka/kafka.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
# Strimzi Kafka (KRaft mode, không Zookeeper). PV qua Longhorn.
|
||||
# Dev: 1 broker; prod: 3 broker (đổi replicas + storage).
|
||||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: KafkaNodePool
|
||||
metadata:
|
||||
name: dual-role
|
||||
namespace: dbiz-lake-dev
|
||||
labels:
|
||||
strimzi.io/cluster: lake-kafka
|
||||
spec:
|
||||
replicas: 1
|
||||
roles: [ controller, broker ]
|
||||
storage:
|
||||
type: persistent-claim
|
||||
size: 20Gi
|
||||
class: longhorn
|
||||
deleteClaim: false
|
||||
---
|
||||
apiVersion: kafka.strimzi.io/v1beta2
|
||||
kind: Kafka
|
||||
metadata:
|
||||
name: lake-kafka
|
||||
namespace: dbiz-lake-dev
|
||||
annotations:
|
||||
strimzi.io/node-pools: enabled
|
||||
strimzi.io/kraft: enabled
|
||||
spec:
|
||||
kafka:
|
||||
version: 3.9.0
|
||||
listeners:
|
||||
- name: plain
|
||||
port: 9092
|
||||
type: internal
|
||||
tls: false
|
||||
config:
|
||||
# message to (giải bài RecordTooLarge đã gặp): 10MB
|
||||
message.max.bytes: 10485760
|
||||
offsets.topic.replication.factor: 1
|
||||
transaction.state.log.replication.factor: 1
|
||||
transaction.state.log.min.isr: 1
|
||||
default.replication.factor: 1
|
||||
min.insync.replicas: 1
|
||||
entityOperator:
|
||||
topicOperator: {}
|
||||
userOperator: {}
|
||||
0
envs/dev/sealed-secrets/.gitkeep
Normal file
0
envs/dev/sealed-secrets/.gitkeep
Normal file
23
envs/dev/values/cdc-job.yaml
Normal file
23
envs/dev/values/cdc-job.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
# DBIZ lake — "khách số 0". Nhân bản: copy file này, đổi customer + nguồn + bucket.
|
||||
customer: dbiz
|
||||
image:
|
||||
repository: git.dbiz.com/dbiz/spark-cdc # <-- Gitea registry built-in (git.dbiz.com/dbiz/spark-cdc)
|
||||
tag: "latest"
|
||||
imagePullSecret: gitea-registry
|
||||
|
||||
kafka:
|
||||
bootstrap: "lake-kafka-kafka-bootstrap:9092"
|
||||
topicPattern: "crm\\.public\\..*"
|
||||
targetTable: "iceberg.raw_crm.cdc_events"
|
||||
triggerInterval: "30 seconds"
|
||||
|
||||
catalog:
|
||||
uri: "http://polaris:8181/api/catalog"
|
||||
warehouse: "dbiz_warehouse"
|
||||
s3:
|
||||
endpoint: "http://minio-lake:9000"
|
||||
region: "us-east-1"
|
||||
|
||||
checkpoint:
|
||||
storageClass: longhorn
|
||||
size: 5Gi
|
||||
Reference in New Issue
Block a user