1616# | grep -v '^ namespace: "default"$' > marquez.yaml # strip test hooks + hardcoded ns
1717# # ...then re-add this header.
1818#
19- # VALUES used (the chart applies one shared service.{type,port} to BOTH Services - there is no
20- # per-service override, so the API and web UI necessarily get the same type/port):
19+ # VALUES used:
2120# fullnameOverride: marquez
22- # service: {type: NodePort, port: 5000} # API Service becomes marquez:5000 (what Trino/Airflow
23- # # target and what the web backend calls); marquez-web
24- # # NodePort exposes the UI. Postgres stays ClusterIP.
21+ # service: {type: ClusterIP, port: 5000} # API Service marquez:5000 (Trino/Airflow target it and
22+ # # the web pod calls it via MARQUEZ_PORT, all internal)
2523# web.enabled: true
2624# postgresql: {enabled: true, auth: marquez/marquez/marquez,
2725# image.repository: bitnamilegacy/postgresql, global...allowInsecureImages: true}
2826#
29- # Resulting Services: marquez:5000 (API), marquez-web:5000 (UI, NodePort), marquez-postgresql:5432.
27+ # POST-RENDER EDITS (the chart forces ONE shared service.{type,port} onto both the API and web
28+ # Services; there is no per-service override, so these two Service specs are hand-adjusted after
29+ # rendering - see the "POST-RENDER EDIT" markers below):
30+ # * marquez (API): kept ClusterIP :5000 - consumed only cluster-internally.
31+ # * marquez-web (UI) : set to NodePort :3000 - the only component end users reach; port now
32+ # matches its container (chart would otherwise publish the UI on :5000).
33+ #
34+ # Resulting Services: marquez:5000 (API, ClusterIP), marquez-web:3000 (UI, NodePort),
35+ # marquez-postgresql:5432 (ClusterIP).
3036---
3137# Source: marquez/charts/postgresql/templates/secrets.yaml
3238apiVersion : v1
@@ -180,7 +186,9 @@ metadata:
180186 app.kubernetes.io/component : marquez
181187 annotations :
182188spec :
183- type : NodePort
189+ # POST-RENDER EDIT: chart default is a single service.type for both Services. The API is only
190+ # consumed cluster-internally (Trino, Airflow, and the marquez-web pod), so keep it ClusterIP.
191+ type : ClusterIP
184192 ports :
185193 - port : 5000
186194 targetPort : http
@@ -206,9 +214,11 @@ metadata:
206214 app.kubernetes.io/component : web
207215 annotations :
208216spec :
217+ # POST-RENDER EDIT: the web UI is the only component end users reach, so expose it (NodePort) on
218+ # its own container port 3000 - not the chart's shared service.port of 5000, which was confusing.
209219 type : NodePort
210220 ports :
211- - port : 5000
221+ - port : 3000
212222 targetPort : http
213223 protocol : TCP
214224 name : http
0 commit comments