Fully working oc-k8s

This commit is contained in:
mr
2026-02-05 08:43:21 +01:00
parent 5acf96919c
commit 7fb81e9829
16 changed files with 253 additions and 163 deletions

187
README.md
View File

@@ -27,77 +27,158 @@ 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 [release] [env_file (optionnal)]
```
`oc-k8s create values -r [release] -n [namespace] -c [env_file (optionnal)]`
or
```
./oc-k8s.sh create values [release] [env_file (optionnal)]
```
`./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
```
oc-k8s 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.sh start
```
To stop :
```
oc-k8s stop
```
or
```
./oc-k8s.sh start
```
## Fire up a kind cluster
`./oc-k8s start -n [namespace] -r [release] -f [folder] -b [branch] -t [target] -p [port] -P [portTLS] -build [true|false]`
WARNING APACHE & NGINX ARE NOT RUNNING:
- `sudo /etc/init.d/apache2 stop`
- `sudo nginx -s stop`
Execute following script to create a single node development k8s cluster
### COMMAND LOOKUP
```
oc-k8s create cluster
```
or
```
./oc-k8s.sh create cluster
```
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)
It will create a *opencloud* docker container running kubernetes services.
Cluster commands: oc-k8s <action> cluster [options]
create - Create a new kind cluster
delete - Delete the kind cluster
help - Show this help message
## Build everything
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
You need to build and publish all the opencloud microservices images in the kind cluster before deploying the Helm package.
Service commands: oc-k8s <action> services
create - Build all opencloud services
help - Show this help message
Proceed as following:
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
```
oc-k8s build services [branch(default:mail)] [target(default:all)]
```
or
```
./oc-k8s.sh build services [branch(default:mail)] [target(default:all)]
```
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
## Deploy the opencloud chart
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
```
oc-k8s create helm [env(default:dev)]
```
or
```
./oc-k8s.sh create helm [env(default:dev)]
```
Values commands: oc-k8s <action> values
create - Create a new values release yaml
help - Show this help message
Feel free to modify/create a new opencloud/dev-values.yaml. Provided setup should work out of the box, but is not suitable for production usage.
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