The rexec-stack chart deploys the full Rexec server-side stack — broker,
deploy API, and NDP Endpoint API — as a single Helm release with three managed subcharts.
The umbrella chart manages three subcharts. Each can be independently enabled or disabled.
Subchart name
Alias
Enable key
Version
rexec-broker
—
rexec-broker.enabled
0.1.0
rexec-server-deployment-api
rexec-server-deployment-api
rexec-server-deployment-api.enabled
0.1.0
ndp-ep-api
ndp-ep-api
ndp-ep-api.enabled
0.1.0
Values: global.*
Global values are passed down to all subcharts.
Key
Default
Description
global.authApiUrl
https://idp-test…
Identity provider URL used by all three components to validate Bearer tokens.
global.enableGroupBasedAccess
false
Enable group-based ACL on write operations (Deploy API + NDP EP API).
global.groupNames
/ndp_ep/ep-***
Comma-separated allowed group names. Only used when ACL is enabled.
Values: rexec-broker.*
Key
Default
Description
rexec-broker.enabled
true
Deploy the broker subchart.
rexec-broker.replicaCount
1
Number of broker pod replicas.
rexec-broker.service.external.clientNodePort
30001
NodePort for client ZMQ connections.
rexec-broker.service.external.controlNodePort
30002
NodePort for control/management.
Values: rexec-server-deployment-api.*
Key
Default
Description
…enabled
true
Deploy the server deployment API subchart.
…ingress.enabled
true
Create an Ingress resource.
…ingress.className
""
Ingress class (e.g., nginx).
…ingress.hosts[].host
""
Hostname for the Ingress rule.
…ingress.hosts[].paths[].path
/rexec
URL path prefix.
…env.rexecServerNamespacePrefix
rexec-server-
Namespace prefix for spawned server pods.
…env.rootPath
/rexec
FastAPI root path (must match ingress path).
Values: ndp-ep-api.*
Key
Default
Description
ndp-ep-api.enabled
true
Deploy the NDP Endpoint API subchart.
ndp-ep-api.resources.limits.memory
512Mi
Memory limit for the EP API pod.
ndp-ep-api.resources.limits.cpu
500m
CPU limit.
ndp-ep-api.resources.requests.memory
256Mi
Memory request.
ndp-ep-api.resources.requests.cpu
250m
CPU request.
ndp-ep-api.ingress.enabled
true
Create an Ingress resource.
ndp-ep-api.ingress.className
""
Ingress class.
ndp-ep-api.ingress.host
""
Hostname.
ndp-ep-api.ingress.path
/api
URL path prefix.
ndp-ep-api.rootPath.enabled
true
Enable FastAPI root_path (must match ingress path).
ndp-ep-api.rootPath.value
/api
FastAPI root_path value.
Values: ndp-ep-api.env.*
These map directly to environment variables for the NDP Endpoint API container.
Key
Required
Description
ORGANIZATION
Required
Your organization name displayed in the endpoint metadata.
EP_NAME
Required
Your endpoint's human-readable name.
METRICS_INTERVAL_SECONDS
Optional
Interval for metrics reporting (default: 3300).
METRICS_ENDPOINT
Optional
Federation metrics collection URL.
Key
Default
Description
LOCAL_CATALOG_BACKEND
ckan
ckan or mongodb — backend for local dataset catalog.
CKAN_LOCAL_ENABLED
False
Enable write operations (POST/PUT/DELETE) to local catalog.
CKAN_URL
""
Your CKAN instance URL (only for CKAN backend).
CKAN_API_KEY
""
CKAN API key for authentication.
MONGODB_CONNECTION_STRING
mongodb://admin:…
MongoDB connection string (only for MongoDB backend).
MONGODB_DATABASE
ndp_local_catalog
MongoDB database name.
PRE_CKAN_ENABLED
False
Enable Pre-CKAN instance access.
PRE_CKAN_URL
""
Pre-CKAN URL.
Key
Default
Description
REXEC_CONNECTION
True
Enable Rexec integration. Set to True to enable remote execution.
REXEC_DEPLOYMENT_API_URL
""
Public URL of the Rexec Deploy API (the /rexec ingress endpoint).
Key
Default
Description
KAFKA_CONNECTION
False
Enable Kafka streaming support.
KAFKA_HOST
""
Kafka broker hostname.
KAFKA_PORT
""
Kafka broker port.
S3_ENABLED
False
Enable S3-compatible storage.
S3_ENDPOINT
minio:9000
S3 endpoint (host:port).
S3_ACCESS_KEY
minioadmin
S3 access key.
S3_SECRET_KEY
minioadmin123
S3 secret key.
S3_SECURE
False
Use TLS for S3 connection.
PELICAN_ENABLED
False
Enable Pelican federation access (OSDF, etc.).
PELICAN_FEDERATION_URL
""
Pelican federation URL.
USE_JUPYTERLAB
False
Enable JupyterLab integration.
JUPYTER_URL
""
JupyterLab instance URL.
TEST_TOKEN
""
Test token for development (leave blank in production).
Upgrade
# Pull latest chart version
helm repo update
# Upgrade in-place (preserves existing release name and namespace)
helm upgrade rexec rexec/rexec-stack \
-f my-values.yaml \
-n rexec
⚠️
Check the changelog before upgrading.
Minor version bumps may change default values. Always diff your values file against the
latest my-values.yaml template after updating the repo.
Uninstall
helm uninstall rexec -n rexec
# Optionally remove the namespacekubectl delete namespace rexec
Debugging
# Render chart manifests without installing (dry run)
helm template rexec rexec/rexec-stack -f my-values.yaml --debug
# Validate values against the chart schema
helm lint rexec/rexec-stack -f my-values.yaml
# Check release status
helm status rexec -n rexec
# Get computed values for a live release
helm get values rexec -n rexec
# Full manifest of what was deployed
helm get manifest rexec -n rexec