2026-02-06 10:20:31 +01:00
2026-02-06 10:20:31 +01:00
2026-02-05 09:39:11 +01:00
2026-02-05 12:20:41 +01:00
2026-01-06 08:23:16 +01:00
2026-01-07 16:56:27 +01:00
2026-01-07 16:56:27 +01:00
2026-02-05 08:43:21 +01:00

This package defines an Helm chart for kubernetes based opencloud services deployment.

It can be used to fully deploy opencloud in a development/lighweight kubernetes deployment, for quick testing or to ease opencloud dependencies (dex, mongo, mongo-express, ...) deployment.

Kind (https://kind.sigs.k8s.io/) is used here as a lightweight kubernetes deployment. Obviously, any kubenetes compliant environment is a legitimate target.

Requirements

  • go

  • docker

  • docker buildx

  • make

  • Rajouter dans le bashrc > export KUBECONFIG=$HOME/.kube/config

Locally built microservices deployment procedure

Install OC-K8S

git clone https://cloud.o-forge.io/plm/oc-k8s.git
sudo cp oc-k8s.sh /usr/bin/oc-k8s
sudo chmod +x /usr/bin/oc-k8s

Generate values (optionnal)

Go on ./cmd or cp ./cmd/oc-k8s /usr/local/bin

Use command : oc-k8s create values -r [release] -n [namespace] -c [env_file (optionnal)] or ./oc-k8s create values -r [release] -n [namespace] -c [env_file (optionnal)]

Map in a env file, any Variable you wish to override and give the path.

Resume for a first start

Do Forget on first run on Terminal

sudo sysctl fs.inotify.max_user_watches=524288 sudo sysctl fs.inotify.max_user_instances=512

RUN

Look after oc-k8s help for details on oc-k8s command.

Use command : oc-k8s start -n [namespace] -r [release] -f [folder] -b [branch] -t [target] -p [port] -P [portTLS] -build [true|false] or ./oc-k8s start -n [namespace] -r [release] -f [folder] -b [branch] -t [target] -p [port] -P [portTLS] -build [true|false]

COMMAND LOOKUP

Main commands: oc-k8s <action>
  install  - Install opencloud dependancies [arch] [version]
  start    - Start opencloud k8s
  stop     - Stop opencloud k8s
Usage:
   oc-k8s install -a [arch] -v [version]
    arch - Arch of OS (required)
    kind_version - version of kind (required)
   oc-k8s start -n [namespace] -r [release] -f [folder] -b [branch] -t [target] -p [port] -P [portTLS] -build [true|false]
        folder     - Helm config folder (required, default: .)
    release    - environnement selected (default: dev)
        namespace  - namespace selected (default: dev)
    branch     - Git branch to build (default: main)
    target     - make target (default: all)
        build      - build mode (default: true)
   oc-k8s stop -n [namespace] -r [release] -f [folder] 
        folder     - Helm config folder (required, default: .)
    release    - environnement selected (default: dev)
        namespace  - namespace selected (default: dev)

Cluster commands: oc-k8s <action> cluster [options]
  create   - Create a new kind cluster 
  delete   - Delete the kind cluster
  help     - Show this help message

Usage: 
  oc-k8s create cluster -f [env_folder] -r [release]
        env_folder - Helm config folder (default: .)
    release    - Release values name (default: dev)
  oc-k8s delete cluster -f [env_folder] -r [release] 
        env_folder - Helm config folder (default: .)
    release    - Release values name (default: dev)
  oc-k8s help cluster 

Service commands: oc-k8s <action> services 
  create    - Build all opencloud services
  help     - Show this help message

Usage:
   oc-k8s create services -f [env_folder] -r [release] -b [branch] -t [target] -build [true|false]
        env_folder - Helm config folder (required, default: .)
        release    - Release values name (required, default: dev)
    branch     - Git branch to build (default: main)
    target     - make target (default: all)
        build      - build mode (default: true)
   oc-k8s help services 

Helm commands: oc-k8s <action> helm
  install  - Install Helm
  create   - Install a helm release for the given environment (default: dev)
  delete   - Uninstall a helm release for the given environment (default: dev)
  help     - Show this help message

Usage:
  oc-k8s install helm 
  oc-k8s create helm -n [namespace] -r [release] -f [folder] 
        folder    - Helm config folder (required, default: .)
    release   - environnement selected (default: dev)
        namespace - namespace selected (default: dev)
  oc-k8s upgrade helm -n [namespace] -r [release] -f [folder] 
        folder    - Helm config folder (required, default: .)
    release   - environnement selected (default: dev)
        namespace - namespace selected (default: dev)
  oc-k8s delete helm -n [namespace] -r [release] -f [folder] 
        folder    - Helm config folder (required, default: .)
    release   - environnement selected (default: dev)
        namespace - namespace selected (default: dev)
  oc-k8sh help helm

Values commands: oc-k8s <action> values
  create   - Create a new values release yaml
  help     - Show this help message

Usage:
  oc-k8s create values -r [release] -f [env_folder] -c [env_file]
    release    - Release values name (required)
        env_folder - Helm config folder (optionnal, default: .)
        env_file   - env to map (optionnal)
  oc-k8s help values 

K3S commands: oc-k8s <action> k3s
  install  - Install k3s
  create   - Create a new cluster 
  help     - Show this help message

Usage:
  oc-k8s install k3s
  oc-k8s create k3s
  oc-k8s help values 

Kind commands: oc-k8s <action> kind
  install  - Install kind
  help     - Show this help message

Usage:
  oc-k8s install kind -a [arch] -v [version]
    arch         - Arch of OS (required, default: amd64)
    kind_version - version of kind (optionnal)
  oc-k8s help values 

DB commands: oc-k8s <action> db [options]
  create   - Add datas in db
  replace  - Replace datas in db
  delete   - Delete datas in db
  help     - Show this help message

Usage:
  oc-k8s create db --d [db_name] -r [release] -n [namespace] -f [folder] 
    folder     - Datas folder files path (required)
    release    - Release values name (default: dev)
        namespace  - Namespace values name (default: dev)
    db_name    - db name (default: opencloud)
        folder - Helm config folder (required, default: .)
  oc-k8s upgrade db -d [db_name]  -r [release]  -n [namespace] -f [folder]  
    folder  - Datas folder files path (required)
    release    - Release values name (default: dev)
        namespace  - Namespace values name (default: dev)
    db_name    - db name (default: opencloud)
  oc-k8s delete db -d [db_name] -r [release] -n [namespace] -f [folder] 
    release    - Release values name (default: dev)
        namespace  - Namespace values name (default: dev)
    db_name    - db name (default: opencloud)
        folder - Helm config folder (required, default: .)
  oc-k8s help db

Hostname settings

Edit your /etc/hosts file, and add following line:

127.0.0.1 beta.opencloud.com

Done

Everything should be operational now, go to http://beta.opencloud.com and enjoy the ride

First steps

Go to http://beta.opencloud.com/users

Log in using default user/password combo ldapadmin/ldapadmin

Create a new user, or change the default one

Go to http://beta.opencloud.com

Log in using your fresh credentials

Do stuff

You can go to http://beta.opencloud.com/mongoexpress

... for mongo express web client access (default login/password is test/testme)

You can go to http://localhost/dashboard/

... for access to Traefik reverse proxy front-end

Description
Helm based opencloud service deployment
Readme 52 MiB
Languages
Smarty 90.6%
Go 6.4%
Shell 2.8%
Nix 0.1%