Skip to content

Mint-System/Kubernetes-Build

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Kubernetes Build

Vercel

.github/workflows/test.yml

matrix-badge

The Mint System collection of Helm charts.

  • πŸš€ Install: Install Helm repository and get started with Odoo.
  • πŸ› οΈ Develop: Deploy Odoo and Postgres to a local Kubernetes cluster.
  • πŸ—οΈ Build: Fork and build your own Helm charts.
  • πŸš€ Deploy: Configure and deploy Helm charts to remote clusters.

Usage

You can use this project as any other Helm chart repository.

Add this Helm repository.

helm repo add kubernetes-build https://kubernetes.build

Install a chart.

helm install "$NAME" "kubernetes-build/$NAME"

Charts

List of charts:

Develop

Setup a local Kubernetes cluster and deploy the Helm charts.

Requirements

Setup the required tools:

Clone the repository:

git clone [email protected]:Mint-System/Kubernetes-Build.git
cd Kubernetes-Build

Start Kubernetes cluster

Start cluster with kind.

task start-kind

Or start cluster with minikube.

task start-minikube

Deploy Odoo chart

Add Helm chart repos.

task add-repos

Ssetup the local hostnames.

task setup-hosts

Install the CloudNativePG chart:

task install-chart cnpg

Install the Odoo chart:

task install-chart odoo

The Odoo database will be initialized automatically.

Once the pod is ready, run this command to port forward the service:

task forward odoo

Setup ingress nginx

Install ingress-nginx in the current cluster.

task install-chart ingress-nginx

Forward the ingress-nginx port.

task forward ingress-nginx

Setup haproxy ingress

Install haproxy-ingress in the current cluster.

task install-chart haproxy-ingress

Forward the haproxy-ingress port.

task forward haproxy-ingress

Deploy

You can use this project to deploy the charts to these Kubernetes clusters:

APPUiO

Setup and deploy the Helm charts with APPUiO.

Login with OpenShift

Open the OpenShift console in your zone.

Click on the username on the top right and select Copy login command.

In the new tab click Display token and copy the Login with this token command.

Run the command in your shell.

Setup project

If not alrady done, create a project with the oc cli.

oc new-project odoo

Create Odoo release

Add Helm repos to the local index.

task add-repos

Switch context to axo.

task switch-context axo

Install the Helm release.

task install-chart odoo

Infomaniak

Deploy the Helm charts to Infomaniak Managed Kubernetes service.

Setup project

Create new Kubernetes cluster in the Infomaniak manager. Then add an instance group.

Download the Kubeconfig file and move it.

mv ~/Downloads/pck-XXXXXXX-kubeconfig ~/.kube/config.chk
export KUBECONFIG=~/.kube/config.chk
kubectl get namespaces

Switch context to chk.

task switch-context chk

Setup ingress nginx

Add all repos and install the ingress nginx.

task add-repos
task install-chart ingress-nginx

Setup cert manager

Create an api token with domain scope: https://manager.infomaniak.com/v3/infomaniak-api

ACME_EMAIL="[email protected]"
INFOMANIAK_API_TOKEN="YOUR_API_TOKEN"

Install cert manager with Infomaniak webhook.

task install-chart cert-manager

Install cluster issuer.

task install-chart clusterIssuer

Create Odoo release

Install the Odoo chart.

task install-chart odoo

K3s

Setup project

Setup K3s cluster with Ansible: https://ansible.build/roles/k3s/

Setup Kubeconfig with alias rpi.

Switch context to rpi.

task switch-context rpi

Setup ingress nginx

Add all repos and install the ingress nginx.

task add-repos
task install-chart ingress-nginx

Setup cert manager

Setup .env config.

ACME_EMAIL="[email protected]"

Install cert manager with Infomaniak webhook.

task install-chart cert-manager

Install cluster issuer.

task install-chart clusterIssuer

Create Hugo release

Install the Hugo chart.

task install-chart hugo

Troubleshooting

Reset the postgres password

The postgres data is persisted on the host. Removing the pvc will not deleted the postgres data. To update the password, enter the container and run:

psql -c "ALTER USER $PGUSER WITH PASSWORD '$PGPASSWORD';"

About

The Mint System collection of Helm Charts.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •