Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
41 changes: 36 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,6 @@ docker run --rm -v $(pwd)/charts:/charts -v $(pwd)/.kube-linter.yaml:/etc/config
lint /charts --config /etc/config.yaml
```

### View Chart repository references

- [aws/eks-charts](https://github.com/aws/eks-charts)
- [rancher/helm3-charts](https://github.com/rancher/helm3-charts)

## Documentation website

### Static Site Generator
Expand All @@ -74,8 +69,18 @@ The website is built with [VitePress](https://vitepress.dev/) and:

The project was generated using `npx vitepress init`.

Website files are in `docs` folder.

For configuration, look at [docs/.vitepress/config.mts](docs/.vitepress/config.mts).

### Local review

Install dependencies:

```bash
npm install
```

Run the website with:

```bash
Expand All @@ -102,3 +107,29 @@ npm run docs:dev
> [!CAUTION]
> Negative potential consequences of an action.
```

- Containers

```md
::: info
This is an info box.
:::

::: tip
This is a tip.
:::

::: warning
This is a warning.
:::

::: danger
This is a dangerous warning.
:::

::: details
This is a details block.
:::
```

- [Markdown Extensions](https://vitepress.dev/guide/markdown)
2 changes: 1 addition & 1 deletion charts/capi-templates/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: capi-templates
description: Helm chart for Cluster API (CAPI) Templates
type: application
version: 0.1.1
version: 0.1.2
appVersion: "1.0.0"
home: https://github.com/devpro/helm-charts/tree/main/charts/capi-templates
maintainers:
Expand Down
2 changes: 1 addition & 1 deletion charts/capi-templates/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Kubernetes CAPI Templates Helm Chart

This chart will simplify the use of [Cluster API (CAPI))](https://cluster-api.sigs.k8s.io/) to manage your Kubernetes clusters.
This chart will simplify the use of [Cluster API (CAPI)](https://cluster-api.sigs.k8s.io/) to manage your Kubernetes clusters.

## Getting started

Expand Down
68 changes: 68 additions & 0 deletions charts/devpro-salesportal/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Contributing guide

## Update chart dependencies

1. Add Bitnami chart repository:

```bash
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
```

2. Search for the latest version:

```bash
helm search repo -l bitnami/mongodb --versions
```

3. Edit manually `Chart.yaml` with the new version

4. Update `Chart.lock`:

```bash
helm dependency update
```

## Run locally

### ngrok

Deploy on a cluster with ngrok for the ingress and certificate (ngrok operator must be installed with Helm):

```bash
helm upgrade --install sales-portal . -f values.yaml --namespace sales-portal --create-namespace \
--set mongodb.enabled=true \
--set mongodb.auth.rootPassword=admin \
--set data.db.connectionString=mongodb://root:admin@sales-portal-mongodb:27017/sales-portal?authSource=admin \
--set data.db.databaseName=sales-portal \
--set ingress.enabled=true \
--set ingress.className=ngrok \
--set front.host=sales-portal.devpro.ngrok.dev \
--set front.tls=null \
--set adapter.host=crm-adapter.devpro.ngrok.dev \
--set adapter.tls=null \
--set data.host=crm-data.devpro.ngrok.dev \
--set data.tls=null \
--set dotnet.environment=Development \
--set dotnet.enableSwagger=true \
--set dotnet.enableOpenTelemetry=true
```

Check everything is ok:

```bash
kubectl get all -n sales-portal
```

Optionally forwards MongoDB port for local access and open MongoDB compass (`mongodb://localhost:27017/`, `root/admin`):

```bash
kubectl port-forward service/sales-portal-mongodb 27017:27017 -n sales-portal
```

Clean-up:

```bash
helm delete sales-portal -n sales-portal
kubectl delete ns sales-portal
```
6 changes: 3 additions & 3 deletions charts/devpro-salesportal/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: mongodb
repository: https://charts.bitnami.com/bitnami
version: 14.10.1
digest: sha256:39b91464456843d9d4c04b4d6c6d844edc37a9037875dd2338ebc0b5035b6cfc
generated: "2024-02-20T22:33:40.999563045+01:00"
version: 16.5.45
digest: sha256:0c44aac2a97d60cdf7606684a4d4662e06e7fd28f9840c9712d58c426a0ad3a0
generated: "2025-10-04T11:26:20.051647013+02:00"
6 changes: 3 additions & 3 deletions charts/devpro-salesportal/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ apiVersion: v2
name: devpro-salesportal
description: Helm chart for Devpro Sales Portal
type: application
version: 0.2.6
appVersion: "1.1.0"
version: 0.2.7
appVersion: "1.1.18203306613"
dependencies:
- name: mongodb
version: 14.10.1 # MongoDB 7.0.5
version: 16.5.45 # MongoDB 8.0.13
repository: https://charts.bitnami.com/bitnami
alias: mongodb
condition: mongodb.enabled
Expand Down
83 changes: 13 additions & 70 deletions charts/devpro-salesportal/README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,29 @@
# Helm chart for Devpro Sales Portal

This Helm chart will install [Devpro Sales Portal](https://github.com/devpro/sales-portal) on a Kubernetes cluster.
This is the official Helm chart to install [Devpro Sales Portal](https://github.com/devpro/sales-portal) on a Kubernetes cluster.

## Getting started

Start with the [documentation](https://kwt.devpro.fr/custom-charts/sales-portal.html).

## Usage

[Helm](https://helm.sh) must be installed to use the charts. Once correctly setup, add the repository:
Add [Helm](https://helm.sh) repository:

```bash
helm repo add devpro https://devpro.github.io/helm-charts
helm repo update
```

If you had already added this repo earlier, run `helm repo update` to retrieve the latest versions of the packages. To install the chart:
Create the `values.yaml` file to override [default values](values.yaml).

Install the application:

```bash
helm upgrade --install sales-portal devpro/sales-portal --create-namespace --namespace sales-portal
helm upgrade --install sales-portal devpro/sales-portal -f values.yaml --create-namespace --namespace sales-portal
```

To uninstall the chart and clean-up the cluster:
Uninstall the chart and clean-up the cluster:

```bash
helm delete sales-portal
Expand All @@ -25,68 +32,4 @@ kubectl delete ns sales-portal

## Development

### Update chart dependencies

Make sure to run `../../scripts/add_helm_repos.sh` and look at available version with with `helm search repo -l mongodb --versions`.

Every time you update `Chart.yaml`, run `helm dependency update` to update `Chart.lock`.

### Linting

Run `helm lint` to check the chart.

### Reviewing generated chart

Run `helm template sales-portal . -f values.yaml > temp.yaml` to look at what is generated.

## Examples

### Installation with MongoDB

```bash
# installs or updates the Helm release
helm upgrade --install sales-portal-beta . -f values.yaml --create-namespace \
--set mongodb.enabled=true,mongodb.auth.rootPassword=admin \
--set data.db.connectionString=mongodb://root:admin@sales-portal-beta-mongodb:27017/sales-portal-beta?authSource=admin \
--set data.db.databaseName=sales-portal-beta \
--namespace sales-portal-beta

# (optional) forwards MongoDB port for local access
kubectl port-forward service/sales-portal-beta-mongodb 27017:27017 -n sales-portal-beta

# forwards port for local access
kubectl port-forward service/salesportal-wasmapp-svc 3001:80 -n sales-portal-beta

# accesses with http://localhost:3001/
curl http://localhost:3001/

# cleans up
helm delete sales-portal-beta -n sales-portal-beta
kubectl delete ns sales-portal-beta
```

### Installation with MongoDB, cert-manager, Let's Encrypt & NGINX Ingress Controller

```bash
# retrieves public IP
NGINX_PUBLIC_IP=`kubectl get service -n ingress-nginx ingress-nginx-controller --output jsonpath='{.status.loadBalancer.ingress[0].ip}'`

# applies the manifest (add "--debug > output.yaml" in case of issue)
helm upgrade --install sales-portal-beta . -f values.yaml --namespace sales-portal-beta --create-namespace \
--set mongodb.enabled=true \
--set mongodb.auth.rootPassword=admin \
--set data.db.connectionString=mongodb://root:admin@sales-portal-beta-mongodb:27017/sales-portal-beta?authSource=admin \
--set data.db.databaseName=sales-portal-beta \
--set ingress.enabled=true \
--set ingress.className=nginx \
--set ingress.annotations.'cert-manager\.io/cluster-issuer'=letsencrypt-prod \
--set front.host=sales-portal.${NGINX_PUBLIC_IP}.sslip.io \
--set front.tls.secretName=sales-portal-tls \
--set adapter.host=crm-adapter.${NGINX_PUBLIC_IP}.sslip.io \
--set adapter.tls.secretName=crm-adapter-tls \
--set data.host=crm-data.${NGINX_PUBLIC_IP}.sslip.io \
--set data.tls.secretName=crm-data-tls \
--set dotnet.environment=Development \
--set dotnet.enableSwagger=true \
--set dotnet.enableOpenTelemetry=true
```
Look at the [Contributing guide](CONTRIBUTING.md).
6 changes: 3 additions & 3 deletions charts/devpro-salesportal/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ $name }}-ingress
name: {{ $name }}
{{- with $.Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
Expand All @@ -23,7 +23,7 @@ spec:
pathType: Prefix
backend:
service:
name: {{ $name }}-svc
name: {{ $name }}
port:
number: 80
{{- range .ingressExtraHosts }}
Expand All @@ -35,7 +35,7 @@ spec:
pathType: {{ .pathType }}
backend:
service:
name: {{ $name }}-svc
name: {{ $name }}
port:
number: 80
{{- end }}
Expand Down
2 changes: 1 addition & 1 deletion charts/devpro-salesportal/templates/service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ metadata:
labels:
app: {{ .name }}
app.kubernetes.io/name: {{ .name }}
name: {{ .name }}-svc
name: {{ .name }}
spec:
type: ClusterIP
ports:
Expand Down
19 changes: 15 additions & 4 deletions charts/devpro-salesportal/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ front:
host: sales-portal.random
name: salesportal-wasmapp
image: docker.io/devprofr/salesportal-wasmapp
tag: 1.1.7976633545
tag: 1.1.18203306613
port: 80
replicaCount: 1
healthEndpoint: /health
Expand All @@ -27,7 +27,7 @@ adapter:
host: crm-adapter.random
name: salesportal-crmadapterwebapi
image: docker.io/devprofr/salesportal-crmadapterwebapi
tag: 1.1.7976633545
tag: 1.1.18203306613
replicaCount: 1
port: 8080
healthEndpoint: /health
Expand All @@ -43,7 +43,7 @@ data:
host: crm-data.random
name: salesportal-crmdatawebapi
image: docker.io/devprofr/salesportal-crmdatawebapi
tag: 1.1.7976633545
tag: 1.1.18203306613
replicaCount: 1
port: 8080
healthEndpoint: /health
Expand Down Expand Up @@ -74,6 +74,17 @@ ingress:

mongodb:
enabled: false
# https://github.com/bitnami/charts/blob/main/bitnami/mongodb/values.yaml
# https://github.com/bitnami/charts/blob/main/bitnami/mongodb/values.yaml
global:
# imageRegistry: ""
# imagePullSecrets: []
# defaultStorageClass: ""
# storageClass: ""
security:
allowInsecureImages: true
image:
registry: docker.io
repository: bitnamisecure/mongodb
tag: latest
auth: {}
# rootPassword: ""
6 changes: 4 additions & 2 deletions charts/mongodb-community/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

## How to update the dependencies

This chart uses [MongoDB Controllers for Kubernetes Operator](https://www.mongodb.com/docs/kubernetes/current/) ([code](https://github.com/mongodb/mongodb-kubernetes/tree/master/helm_chart)).

```bash
# makes sure the repository has been added and refreshed
helm repo add mongodb https://mongodb.github.io/helm-charts
Expand All @@ -20,7 +22,7 @@ helm dependency update

```bash
# installs the operator
helm install community-operator-crds mongodb/community-operator-crds --namespace mongodb --version "0.9.0" --create-namespace --namespace mongodb
helm install community-operator-crds mongodb/community-operator-crds --namespace mongodb --version "0.13.0" --create-namespace --namespace mongodb

# creates the user(s) secret containing the password value
kubectl create secret generic mongodb-clusteradmin --from-literal=username=clusteradmin --from-literal=password='S!B\*d$zDsb=' --namespace mongodb
Expand All @@ -30,7 +32,7 @@ cat <<EOF | tee values_mine.yaml
databases:
- name: mongodb-demo
members: 3
version: "7.0.5" # https://hub.docker.com/_/mongo/tags
version: "8.0" # https://hub.docker.com/_/mongo/tags
users:
- name: clusteradmin
db: admin
Expand Down
6 changes: 3 additions & 3 deletions charts/mongodb-community/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: community-operator
repository: https://mongodb.github.io/helm-charts
version: 0.9.0
digest: sha256:893ef800fce854d1a61f1b8e6775716c59a99e1f4ea49e37d5c6e4509a8452b4
generated: "2024-02-28T10:53:53.952680782+01:00"
version: 0.13.0
digest: sha256:a297f0c3273ef98ebaa6cd6bf4fb3bea99c11a2170fb512f08362d1c06685dc9
generated: "2025-10-04T10:52:32.572083137+02:00"
Loading