Skip to content
Merged
Show file tree
Hide file tree
Changes from 134 commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
cb1371e
feat: makefile + partial helm chart for chat-service
NotYuSheng Jul 2, 2025
371d562
feat: add Helm chart and Makefile support for chat-service
NotYuSheng Jul 9, 2025
0f3846b
fix(security): move api key to Kubernetes Secrets
NotYuSheng Jul 9, 2025
157e0ef
docs: change default port to 8000 as most services local port are on …
NotYuSheng Jul 9, 2025
a421562
docs: Remove error supression on "all" commands
NotYuSheng Jul 9, 2025
76bbc6f
Merge pull request #129 from NotYuSheng/dev
NotYuSheng Aug 5, 2025
59269a8
feat: introduce production-ready Helm chart for chat-service with dep…
Aug 5, 2025
0fe818d
fix: address code review feedback and improve chart reliability
Aug 5, 2025
f7bc8d8
security: implement Kubernetes Secrets for sensitive environment vari…
Aug 5, 2025
08849af
fix: correct port examples in Makefile help text
Aug 5, 2025
b67d611
fix: correct port-forward error handling in Makefile
Aug 5, 2025
c97c108
fix: make health probes use named ports and improve Makefile idempotency
Aug 6, 2025
5700cae
improve: enhance Helm test to query /health endpoint instead of basic…
Aug 6, 2025
63f8ac7
feat: implement comprehensive Helm deployment system with automated i…
Aug 11, 2025
3848d76
feat: Add Helm charts for chromadb, embedder-service, and minio services
Aug 11, 2025
77d4fdd
feat: Implement enterprise-grade Helm standardization with shared values
NotYuSheng Aug 11, 2025
3dbcd22
Merge branch 'fix/embedder-model-preload' into feat/helm-setup
Aug 12, 2025
55389d2
feat: enhance Helm deployment with local CRC registry integration
Aug 13, 2025
5c9b978
fix: resolve Helm template parsing errors in NOTES.txt files
Aug 13, 2025
edd9257
fix: exclude assets directory from Helm chart operations
Aug 13, 2025
5ee6aa7
feat: add lint-all target for comprehensive Helm chart validation
Aug 13, 2025
4f835df
fix: address comprehensive PR feedback for Helm chart standardization
Aug 13, 2025
079cc75
fix: address critical security and configuration issues from PR review
Aug 13, 2025
1279a79
feat: standardize image configurations for CRC prestaging environment
Aug 14, 2025
7ae7a81
fix: optimize image configurations for CRC/GHCR hybrid deployment
Aug 14, 2025
78db552
fix: helm lint workflow failing on non-chart directories
Aug 14, 2025
de68400
chore: add CLAUDE.md to .gitignore and remove from tracking
Aug 14, 2025
a36f8f6
feat: update service configurations and add monitoring dashboard
Aug 14, 2025
9d6de9e
fix: address Gemini code review feedback for Helm deployment reliability
Aug 14, 2025
51f86b9
Merge branch 'dev' into feat/helm-setup
NotYuSheng Aug 14, 2025
910c75c
Merge dev into feat/helm-setup
NotYuSheng Sep 4, 2025
d5eca40
feat: Add Helm charts for image-captioner and metadata services
NotYuSheng Sep 5, 2025
80d4deb
refactor: Move CRC config to config-crc directory
NotYuSheng Sep 5, 2025
067b60b
feat: Add minio-mc bucket initialization Job to MinIO Helm chart
NotYuSheng Sep 5, 2025
6dab629
chore: fix README
NotYuSheng Sep 5, 2025
2bc357e
feat: Complete OmniPDF deployment fixes and standardization
NotYuSheng Sep 6, 2025
f95832c
feat: Add complete frontend Helm chart for Streamlit UI
NotYuSheng Sep 6, 2025
fafa732
security: Configure all services to run as non-root users
NotYuSheng Sep 6, 2025
6e70b07
feat: Add missing staging and production value files for frontend Hel…
NotYuSheng Sep 6, 2025
9609a99
fix: Resolve YAML syntax errors in Helm deployments
NotYuSheng Sep 6, 2025
77a06d4
fix: Correct metadata-service prestaging configuration
NotYuSheng Sep 6, 2025
da66831
fix: Correct metadata-service production configuration
NotYuSheng Sep 6, 2025
029248c
fix: Address Gemini feedback for Helm deployment reliability and secu…
NotYuSheng Sep 6, 2025
de23530
fix: Enable ChromaDB health probes in prestaging to mirror production
NotYuSheng Sep 6, 2025
d69d785
fix: Address critical Helm values precedence and improve PVC consistency
NotYuSheng Sep 6, 2025
92147b2
fix: Optimize Docker layers and correct Helm values precedence
NotYuSheng Sep 6, 2025
cb11faa
fix: CRITICAL - Correct Redis image configuration across all environm…
NotYuSheng Sep 6, 2025
998c01f
fix: CRITICAL - Complete Helm chart audit and fix widespread configur…
NotYuSheng Sep 6, 2025
33731e2
fix: Use consistent Redis version across deployment methods
NotYuSheng Sep 6, 2025
ad6824b
feat: Route frontend through nginx and fix service naming issues
NotYuSheng Sep 6, 2025
d7666e5
fix: Correct Helm values file precedence order in Makefile
NotYuSheng Sep 6, 2025
68733b4
fix: Align deploy-all-charts function with correct Helm values preced…
NotYuSheng Sep 6, 2025
cd1524d
feat: Add unified Helm deployment script for single/all services
NotYuSheng Sep 6, 2025
0577910
chore: Remove obsolete registry URL fix scripts
NotYuSheng Sep 6, 2025
d57c7ab
security: Remove Helm secret templates and enhance create-secrets.sh
NotYuSheng Sep 6, 2025
dc3f8e7
fix: Correct PodDisruptionBudget and NOTES.txt issues
NotYuSheng Sep 6, 2025
e81752a
feat: Implement zero-trust NetworkPolicy configurations for microserv…
NotYuSheng Sep 6, 2025
53b22d0
refactor: Remove legacy DEPRECATED NetworkPolicy patterns
NotYuSheng Sep 6, 2025
16cb4ac
fix: Standardize embedder-service to port 8000 and update documentation
NotYuSheng Sep 6, 2025
a21e16a
feat: Implement comprehensive service account security with RBAC
NotYuSheng Sep 6, 2025
0afa7db
fix: Add missing serviceMonitor, podDisruptionBudget, and networkPoli…
NotYuSheng Sep 6, 2025
0a63875
build: remove default password suggestion
NotYuSheng Sep 8, 2025
fe78b73
fix: Remove invalid Helm template syntax from affinity configuration
NotYuSheng Sep 8, 2025
9ea2167
fix: Add Redis authentication support with conditional secret mounting
NotYuSheng Sep 8, 2025
20302c5
refactor: Move update-chart-versions.sh to scripts/ and fix service d…
NotYuSheng Sep 8, 2025
7cb4d9f
cleanup: Remove duplicate documentation files
NotYuSheng Sep 8, 2025
d88b9e6
docs: correct description
NotYuSheng Sep 8, 2025
6dc308b
docs: Update README.md
NotYuSheng Sep 8, 2025
d22adf7
feat: Implement comprehensive HPA strategy and fix RBAC documentation
NotYuSheng Sep 8, 2025
6ac6949
cleanup: Remove temporary documentation files
NotYuSheng Sep 8, 2025
10437a3
chore: update default model
NotYuSheng Sep 8, 2025
d487186
chore: update default values
NotYuSheng Sep 8, 2025
ed63185
cleanup: Remove unused helm/core-images.txt file
NotYuSheng Sep 8, 2025
dca2192
security: Implement comprehensive zero-trust NetworkPolicy across all…
NotYuSheng Sep 8, 2025
891f4f2
fix: Correct nginx NetworkPolicy to match actual routing behavior
NotYuSheng Sep 8, 2025
277f3b2
feat: Implement comprehensive Istio service mesh for prestaging envir…
NotYuSheng Sep 8, 2025
36b9bc9
cleanup: Remove outdated processing-services-role.yaml file
NotYuSheng Sep 8, 2025
1b4c011
fix: Update image-captioner-service prestaging image tag to latest ve…
NotYuSheng Sep 8, 2025
1a988e8
fix: Add missing NetworkPolicy egress rules for metadata-service
NotYuSheng Sep 8, 2025
720b2a6
fix: Add missing NetworkPolicy egress rules for pdf-extraction-service
NotYuSheng Sep 8, 2025
88c5ed4
security: Convert Redis NetworkPolicy from same-namespace to zero-trust
NotYuSheng Sep 8, 2025
b1c2036
security: Convert all remaining NetworkPolicies from fromSameNamespac…
NotYuSheng Sep 8, 2025
1908e3f
security: Complete zero-trust NetworkPolicy template migration
NotYuSheng Sep 8, 2025
ffc7f85
docs: install-all
NotYuSheng Sep 8, 2025
0585d11
security: Fix MinIO password validation in create-secrets.sh
NotYuSheng Sep 8, 2025
9b69883
helm: Remove unused enhanced NetworkPolicy template from rbac chart
NotYuSheng Sep 10, 2025
03ccdb7
docs: Fix values file override order in Makefile help text
NotYuSheng Sep 10, 2025
095934c
fix: Correct YAML syntax error in chat-service values-prestaging.yaml
NotYuSheng Sep 10, 2025
0144f84
fix: Address Gemini code review feedback
NotYuSheng Sep 11, 2025
6dec77a
docs: invalid deployment instructions
NotYuSheng Sep 11, 2025
8926fe0
refactor: Remove unused shared values system to simplify Helm charts
NotYuSheng Sep 11, 2025
b4db189
build: update image version
NotYuSheng Sep 11, 2025
3013883
fix: Remove inappropriate LLM service network policies from infrastru…
NotYuSheng Sep 11, 2025
cbadcdb
fix: Remove inappropriate LLM access from pdf-renderer-service + add …
NotYuSheng Sep 11, 2025
1faa2f3
security: Comprehensive network policy audit and fixes based on C4 di…
NotYuSheng Sep 11, 2025
ef32118
fix: Conform all network policies to documented Service Communication…
NotYuSheng Sep 11, 2025
c603176
build: update image version
NotYuSheng Sep 11, 2025
6d5e210
fix: Restructure RBAC templates to align with C4 architecture layers
NotYuSheng Sep 11, 2025
1d58d21
fix: Correct PVC name reference in Redis deployment template
NotYuSheng Sep 12, 2025
c931988
refactor: Split consolidated RBAC roles into individual service roles
NotYuSheng Sep 12, 2025
05d8bb3
docs: Update README to reflect individual RBAC service roles
NotYuSheng Sep 12, 2025
80fca87
docs: Fix CRC disk size inconsistency in README
NotYuSheng Sep 12, 2025
b36272d
fix: Remove metadata-service from ChromaDB NetworkPolicy allowedCallers
NotYuSheng Sep 12, 2025
81faac8
fix: Implement zero-trust RBAC service discovery permissions
NotYuSheng Sep 12, 2025
7d430e0
docs: Fix RBAC documentation to reflect individual service roles
NotYuSheng Sep 12, 2025
6302fd6
fix: Complete docling-translation-service NetworkPolicy configuration
NotYuSheng Sep 12, 2025
131ca26
docs: Fix NETWORK-POLICY-REFERENCE.md for docling-translation-service
NotYuSheng Sep 12, 2025
47287d1
fix: Correct docling-translation-service vLLM access configuration
NotYuSheng Sep 12, 2025
43d2989
fix: Add metadata-service → ChromaDB access per README requirements
NotYuSheng Sep 12, 2025
424198a
fix: Standardize NetworkPolicy templates across ALL services
NotYuSheng Sep 12, 2025
cd9b1e3
build: update image tag
NotYuSheng Sep 12, 2025
0a0df4d
fix: Complete ingress/egress standardization across ALL services
NotYuSheng Sep 15, 2025
522794a
fix: Disable HTTPS egress for offline deployment - models pre-install…
NotYuSheng Sep 15, 2025
46f32ee
fix: Add external vLLM HTTP egress rule to chat-service NetworkPolicy
NotYuSheng Sep 15, 2025
2d95ee2
fix: Clean up outdated ingress configurations and standardize prestaging
NotYuSheng Sep 16, 2025
b21ba8e
refactor: Redesign RBAC with explicit service-to-service permissions
NotYuSheng Sep 16, 2025
daf6dee
feat: Implement comprehensive Prometheus monitoring across all services
NotYuSheng Sep 16, 2025
36d6da8
refactor: Replace sidecar exporters with native metrics endpoints
NotYuSheng Sep 16, 2025
2a78a6a
fix: Correct service data store interactions in C4 diagram and RBAC
NotYuSheng Sep 16, 2025
bcdde32
refactor: Remove unused base values.yaml files and use explicit envir…
NotYuSheng Sep 16, 2025
e0a2de0
fix: Update all values.yaml references to use environment-specific files
NotYuSheng Sep 16, 2025
6c45566
feat: Implement comprehensive zero-trust NetworkPolicy configuration
NotYuSheng Sep 16, 2025
b594bbe
refactor: Standardize NetworkPolicy templates to zero-trust pattern
NotYuSheng Sep 16, 2025
11fab3e
docs: Add friendly work-in-progress note to README
NotYuSheng Sep 16, 2025
0d3c246
refactor: Remove outdated Kubernetes Ingress and update Service Commu…
NotYuSheng Sep 16, 2025
eb60418
docs: Completely rewrite RBAC README to match current implementation
NotYuSheng Sep 16, 2025
328f001
docs: Add C4 architecture diagram to README
NotYuSheng Sep 16, 2025
6d35bc5
fix: Correct MinIO PVC name mismatch in deployment template
NotYuSheng Sep 16, 2025
bbd7521
fix: Update nginx helm configmap to match actual configuration and cl…
NotYuSheng Sep 16, 2025
e898a32
fix: Remove invalid localhost:8080 hostname from Istio Gateway config…
NotYuSheng Sep 16, 2025
9eb7fdc
chore: remove incorrect message
NotYuSheng Sep 16, 2025
5020ff2
chore: API routing fix
NotYuSheng Sep 16, 2025
9e8e204
fix: Remove duplicate /api/ route from nginx configuration
NotYuSheng Sep 16, 2025
ba217a9
Merge branch 'origin/dev' into feat/helm-setup
NotYuSheng Sep 16, 2025
e6f56d9
feat: Add comprehensive values.yaml files for all Helm charts
NotYuSheng Sep 16, 2025
e22a2a0
fix: corrupted with null characters
NotYuSheng Sep 16, 2025
86ba932
fix: corrupted null character
NotYuSheng Sep 16, 2025
adc1ab9
Merge branch 'dev' into feat/helm-setup
NotYuSheng Sep 21, 2025
0bc8e56
fix: Update C4 diagram and RBAC permissions for accurate service inte…
NotYuSheng Sep 24, 2025
7647c78
fix: Align RBAC permissions with service communication matrix
NotYuSheng Sep 29, 2025
f6627ca
fix: Add shared-values directory skip to deploy-all-charts function
NotYuSheng Sep 29, 2025
9515d5d
fix: Update RBAC README to reflect current complete configuration
NotYuSheng Sep 29, 2025
ae85882
fix: Remove hardcoded namespace from Istio Gateway configuration
NotYuSheng Sep 29, 2025
3ebb1c3
fix: Add missing values.yaml for istio-gateway and remove outdated sh…
NotYuSheng Sep 29, 2025
251c575
fix: Update README.md example to use consistent service naming conven…
NotYuSheng Sep 29, 2025
4c49af9
fix: Correct RBAC persistentvolumeclaims naming and standardize Istio…
NotYuSheng Sep 29, 2025
fd9bb0f
fix: Remove all shared-values references and fix helm lint command
NotYuSheng Sep 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/services-to-build.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# Comments (lines starting with #) and empty lines are ignored

# Core Application Services
frontend
chat_service
embedder_service
pdf_processor_service
Expand Down
15 changes: 13 additions & 2 deletions .github/workflows/helm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,17 @@ jobs:
- name: Lint all Helm charts in ./helm/
run: |
for chart in helm/*/; do
echo "Linting chart: $chart"
helm lint "$chart" || exit 1
# Skip directories that aren't Helm charts
if [[ "$chart" == "helm/assets/" || "$chart" == "helm/shared-values/" ]]; then
echo "Skipping non-chart directory: $chart"
continue
fi

# Only lint if Chart.yaml exists
if [[ -f "$chart/Chart.yaml" ]]; then
echo "Linting chart: $chart"
helm lint "$chart" || exit 1
else
echo "Skipping directory without Chart.yaml: $chart"
fi
done
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,6 @@ coverage/
# Code assist tools
.claude/
CLAUDE.md

# Istio installation directory (downloaded binaries)
istio-*/
171 changes: 171 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
# Makefile for Helm chart management in OmniPDF

# Default namespace and configurable chart
NAMESPACE ?= omnipdf
CHART_NAME ?= example-service
CHART_DIR ?= helm/$(CHART_NAME)
ENV ?= staging

# Service-specific values files (environment-specific only)
SERVICE_ENV_VALUES_FILE ?= $(CHART_DIR)/values-$(ENV).yaml
SERVICE_BASE_VALUES_FILE ?= $(CHART_DIR)/values.yaml

# Build values file list (prioritize environment-specific, fallback to base for rbac)
ifneq ($(wildcard $(SERVICE_ENV_VALUES_FILE)),)
VALUES_FILES = -f $(SERVICE_ENV_VALUES_FILE)
else ifneq ($(wildcard $(SERVICE_BASE_VALUES_FILE)),)
VALUES_FILES = -f $(SERVICE_BASE_VALUES_FILE)
else
$(error No values file found for $(CHART_NAME). Expected: $(SERVICE_ENV_VALUES_FILE) or $(SERVICE_BASE_VALUES_FILE))
endif

# Default port for port-forwarding (override as needed)
LOCAL_PORT ?= 8000
REMOTE_PORT ?= 8000

.PHONY: help install install-all upgrade upgrade-all uninstall uninstall-all lint status port-forward

help:
@echo "Makefile commands for Helm chart management:"
@echo ""
@echo "Single-service commands:"
@echo " make install Install chart (CHART_NAME, ENV)"
@echo " e.g. make install CHART_NAME=chat-service ENV=staging"
@echo " make upgrade Upgrade chart (CHART_NAME, ENV)"
@echo " e.g. make upgrade CHART_NAME=embedder-service ENV=prod"
@echo " make uninstall Uninstall chart (CHART_NAME)"
@echo " e.g. make uninstall CHART_NAME=pdf-processor"
@echo " make lint Run helm lint on chart (CHART_NAME)"
@echo " e.g. make lint CHART_NAME=embedder-service"
@echo " make lint-all Lint all charts under ./helm/"
@echo " make status Show status of Helm release (CHART_NAME)"
@echo " e.g. make status CHART_NAME=chat-service"
@echo " make port-forward Port-forward a pod to local machine"
@echo " e.g. make port-forward CHART_NAME=chat-service LOCAL_PORT=8000 REMOTE_PORT=8000"
@echo ""
@echo "Multi-service commands:"
@echo " make install-all Install all charts (ENV)"
@echo " e.g. make install-all ENV=prod"
@echo " make upgrade-all Upgrade all charts (ENV)"
@echo " e.g. make upgrade-all ENV=staging"
@echo " make uninstall-all Uninstall all charts under ./helm/"
@echo ""
@echo "Values System:"
@echo " Uses explicit environment-specific files only:"
@echo " 1. helm/{SERVICE}/values-{ENV}.yaml - Environment-specific configuration"
@echo " 2. helm/{SERVICE}/values.yaml - Fallback for rbac only"
@echo ""
@echo "Environment Variables:"
@echo " ENV Environment (staging, prestaging, prod) - defaults to 'staging'"
@echo ""
@echo "Development Environment:"
@echo " Use docker-compose for local development:"
@echo " docker-compose up -d # Start all services locally"
@echo " docker-compose logs -f chat_service # View service logs"
@echo ""
@echo "⚠️ IMPORTANT:"
@echo " Avoid underscores (_) in CHART_NAME or release names."
@echo " Use hyphens (-) instead to follow Kubernetes naming conventions (RFC 1123)."
@echo " Example: use chat-service ✅, not chat_service ❌"

## Install a single Helm chart
install:
@echo "Installing $(CHART_NAME) for environment: $(ENV)"
@echo "Values files (in order): $(VALUES_FILES)"
helm upgrade --install $(CHART_NAME) $(CHART_DIR) \
--namespace $(NAMESPACE) \
--create-namespace \
$(VALUES_FILES)

## Upgrade a single Helm chart
upgrade:
@echo "Upgrading $(CHART_NAME) for environment: $(ENV)"
@echo "Values files (in order): $(VALUES_FILES)"
helm upgrade $(CHART_NAME) $(CHART_DIR) \
--namespace $(NAMESPACE) \
$(VALUES_FILES)

## Uninstall a single Helm chart
uninstall:
helm uninstall $(CHART_NAME) \
--namespace $(NAMESPACE)

## Lint all Helm charts under ./helm/
lint-all:
@echo "Linting all Helm charts under ./helm/..."
@for dir in helm/*/; do \
CHART=$$(basename $$dir); \
if [ "$$CHART" != "shared-values" ] && [ "$$CHART" != "assets" ]; then \
echo "Linting chart: $$CHART"; \
helm lint $$dir || exit 1; \
else \
echo "Skipping non-chart directory: $$dir"; \
fi; \
done

## Run lint check on a chart
lint:
helm lint $(CHART_DIR)

## Show release status and pod info
status:
@echo "=== Helm Release Status ==="
helm status $(CHART_NAME) -n $(NAMESPACE)
@echo ""
@echo "=== Pod Status ==="
kubectl get pods -n $(NAMESPACE) -l "app.kubernetes.io/name=$(CHART_NAME),app.kubernetes.io/instance=$(CHART_NAME)"

# Helper function to deploy all charts (used by both install-all and upgrade-all)
define deploy-all-charts
@echo "$(1) all Helm charts under ./helm/ for environment: $(ENV)"
@for dir in helm/*/; do \
CHART=$$(basename $$dir); \
if [ "$$CHART" != "assets" ]; then \
Comment thread
NotYuSheng marked this conversation as resolved.
Comment thread
NotYuSheng marked this conversation as resolved.
Comment thread
NotYuSheng marked this conversation as resolved.
echo "$(1) chart: $$CHART"; \
if [ -f "helm/$$CHART/values-$(ENV).yaml" ]; then \
CHART_VALUES="-f helm/$$CHART/values-$(ENV).yaml"; \
elif [ -f "helm/$$CHART/values.yaml" ]; then \
CHART_VALUES="-f helm/$$CHART/values.yaml"; \
else \
echo "Error: No values file found for $$CHART"; \
exit 1; \
fi; \
helm upgrade --install $$CHART helm/$$CHART \
--namespace $(NAMESPACE) \
--create-namespace \
$$CHART_VALUES; \
fi; \
done
endef
Comment thread
NotYuSheng marked this conversation as resolved.
Comment on lines +119 to +139

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The deploy-all-charts function duplicates the logic for constructing the list of values files, which is already defined in the VALUES_FILES variable for single-service deployments. This violates the DRY (Don't Repeat Yourself) principle and can lead to inconsistencies if the loading logic needs to be changed in the future, as it would require updates in two places.

To improve maintainability, consider refactoring this to reuse the existing logic. One approach is to have the install-all and upgrade-all targets loop through the chart directories and call the single install/upgrade target for each one, passing the CHART_NAME.

Comment on lines +119 to +139

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The deploy-all-charts function duplicates the logic for constructing the list of values files, which is also used by the single-service install and upgrade targets. This makes the Makefile harder to maintain, as any changes to the values file logic would need to be updated in two places. Consider refactoring to a common function or having the deploy-all-charts loop call the install target for each chart to avoid this duplication.


## Install all Helm charts in ./helm/
install-all:
$(call deploy-all-charts,Installing)

## Upgrade all Helm charts in ./helm/
upgrade-all:
$(call deploy-all-charts,Upgrading)

## Uninstall all Helm charts in ./helm/
uninstall-all:
@echo "Uninstalling all Helm charts under ./helm/..."
@for dir in helm/*/; do \
CHART=$$(basename $$dir); \
if [ "$$CHART" != "shared-values" ] && [ "$$CHART" != "assets" ]; then \
echo "Uninstalling chart: $$CHART"; \
helm uninstall $$CHART \
--namespace $(NAMESPACE); \
fi; \
done

## Port-forward a running pod (default 8000:8000)
port-forward:
ifeq ($(CHART_NAME),example-service)
@echo "ERROR: CHART_NAME must be specified. Example usage:"
@echo " make port-forward CHART_NAME=chat-service LOCAL_PORT=3000 REMOTE_PORT=8000"
@exit 1
else
kubectl --namespace $(NAMESPACE) port-forward \
deployment/$(CHART_NAME) \
$(LOCAL_PORT):$(REMOTE_PORT)
endif
Loading
Loading