image: repository: paasup/flink-cdc-pipeline tag: 3.5.0-flink1.20-r1 pullPolicy: Always serviceAccount: create: true name: "" # defaults to fullname (release name) when empty rbac: create: true # 제출 대상 Session Cluster REST 엔드포인트 # flink-cdc-session chart가 생성한 서비스명: {FlinkDeployment.metadata.name}-rest sessionCluster: restAddress: flink-cdc-session-rest restPort: 8081 # Flink CDC 글로벌 설정 (flink-cdc.yaml) flinkCdc: parallelism: 1 schemaChangeBehavior: EVOLVE # PostgreSQL 소스 postgres: hostname: postgres-postgresql.flink-test.svc.cluster.local port: 5432 username: flink_cdc password: password slotName: flink_cdc_slot decodingPlugin: pgoutput tables: testdb.public.orders,testdb.public.users # 파이프라인 설정 pipeline: name: cdc-pipeline parallelism: 2 checkpointInterval: 60s # Iceberg REST 카탈로그 싱크 sink: catalog: uri: https://lakekeeper.example.org/catalog warehouse: minio s3Endpoint: https://minio.example.org s3PathStyleAccess: "true" oauth2Uri: https://keycloak.example.org/realms/paasup/protocol/openid-connect/token credential: lakekeeper-admin:wMyE9WNn50DH8yycLXwLTmMmu66JU7GV scope: lakekeeper # 소스→싱크 테이블 라우팅 # source-table: PostgreSQL CDC emit 형식 (schema.table) # sink-table: Iceberg namespace.table 형식 route: - sourceTable: public.orders sinkTable: testdb_public.orders - sourceTable: public.users sinkTable: testdb_public.users