This commit is contained in:
admju 2024-09-12 11:27:47 +00:00
parent 199209d9f1
commit 3481bccc22
2 changed files with 87 additions and 10 deletions

View File

@ -4,20 +4,17 @@ The purpose of oc-deploy, is to deploy all the OC components over a Kubernetes c
An OpenCloud deployment is composed of the following layers:
OpenCloud components | <-- TODO
--------------------------
KubernetesCluster | <-- TODO
--------------------------
IaaS (VMs, LAN) | <-- pre-requisite
--------------------------
HW (network and servers) | <-- pre-requisite
--------------------------
| Layer | Tool |
| ------------------------ | --------------------- |
| OpenCloud components | oc-deploy binary |
| KubernetesCluster | TODO or pre-requisite |
| IaaS (VMs, LAN) | pre-requisite |
| HW (network and servers) | <-- pre-requisite |
It thus contains a first optional installation layer which deploys the Kubernetes nodes (control plane(s) and workers) above an existing infrastructure (Iaas).
Then the second installation layer uses Helm charts to deploy and configure all the OC components.
This documentation will be updated with the needed command and/or requirements to properly execute the installation.
# Deploy cluster

80
src/README.md Normal file
View File

@ -0,0 +1,80 @@
# Purpose
**oc-deploy** is a tool to deploy (with **helm**) all component of **OpenCloud**.
# Usage
| Command | Description |
| ----------------------------------------------------------------------------- | --------------------------- |
| ```oc-deploy``` | Display help |
| ```oc-deploy version``` | Display the version of tool |
| ```oc-deploy install [-c\|--context <context>] [-v\|--version <OcVersion>]``` | Deploy an OpenCloud |
| ```oc-deploy uninstall [-c\|--context <context>]``` | Undeploy an OpenCloud |
| Arguments | Description | Default |
| ---------------- | --------------------------- | ------------ |
| ```context``` | Context Kubernetes | _opencloud_ |
| ```OcVersion``` | Specific version or latest | _latest_ |
# Principe
# Pre-requis
**oc-deploy** need to access to an Kubernetes Cluster, c'est-à-dire : kubeconfig.
**oc-deploy** need to access to Internet :
* to download the _oc.json_ file (contient _oc.yml_) :
* Url : https://cloud.o-forge.io/core/oc-deploy/releases
* to download _kubectl_ and _helm_ tools if
* Url : Urls are specified into _oc.yml_
# Development
To init:
```
make get-deps
```
## To build
```
make build
```
## To run
```
make run_install [BIN_OPTS="<args>"]
make run_uninstall [BIN_OPTS="<args>"]
make run_generate [BIN_OPTS="<args>"]
```
or
```
make exec_install [BIN_OPTS="<args>"]
make exec_uninstall [BIN_OPTS="<args>"]
make exec_generate [BIN_OPTS="<args>"]
```
# To Test
All packages:
```
make test
```
or to test an specific package:
```
make test_<package>
```
Test generate _.coverage.html_ file to view the coverage of test.
## To Publish
Cf : ../publish