diff --git a/docs/index.md b/docs/index.md index a20c207..e1a8ca3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,8 +1,112 @@ -{!README.md!} - # Welcome to Odoo SaaS on K8s documentation! +## Architecture -!!! note +![Architecture](img/img2.png) - This project is under active development. + +There are two main sections of the system + +1. Kubernetes Cluster +2. Manager Instance + + +## 1. Kubernetes Cluster + +In Kubernetes Cluster we will have all essential parts of K8s cluster that are required to run a cluster in production + +- Load Balancer +- cluster +- Nodes +- PVs + +For detailed configuration of k8s cluster on digitalocean [click here](k8s_cluster.md), for aws (will be added later) + +## 2. Manager Instance + +It is a separate, VPS server + +On manager instance we will install Odoo and these modules, currently odoo version 14.0 is supported, i have created a task to migrate these modules for latest (v17.0) of odoo + +Your Cluster should be accessible from this instance. + +Once you are able to access your cluster within your saas-manager-instance using kubectl + + +### Step 1 (Cluster Configuration): + +Click Configuration -> Cluster Configurations and create a new cluster + +We can manage multiple clusters from 1 manager instance + +in name field add anything you want to name your cluster + +Yaml Configuration file, copy and paste the kubeconfig.yaml + +domain name is the domain which is attached and pointed to your k8s cluster / LoadBalancer DNS, it should be pre configured, write it as .yourdomain.com + +then click on “Check Connection” , it should list all the namespaces of your cluster , it is just a method to check if we are good to go + +![Cluster1](img/img1.png) + +### Step 2 (Docker Images Configuration): + +You can also use your private docker images hosted on [Docker Hub](https://hub.docker.com/) or public [odoo’s official docker images](https://hub.docker.com/_/odoo) to deploy your Odoo instance + +in “Image Name” field you have to write the image name e.g bitnami/odoo , username/odoo, etc. + +other fields are self explanatory + +if your docker images are on private registry then place the “.docker/config.json” file here + +more info [here](https://docs.docker.com/reference/cli/docker/config/) + +![Cluster1](img/img3.png) + + +### Step 3 (Database server): + +You have to deploy a Separate VPS for and install and configure postgres on it , or can use managed DB service from DigitalOcean or AWS + +read the guide [here](db_server.md) + +then check connectivity if you are able to connect from “Manager Instance” to the db server, + +this db server will host all the client databases + +![Cluster1](img/img4.png) + + +### Step 4 (Create App/Instance): + +1. Unique id is the id of instance, dont change it in any case + +2. Name, write any name + +3. choose sub domain as per your requirement + +4. if you want to deploy this client on a specific Node of K8s cluster then check “Any Specific Node” otherwise leave it as it is + +5. choose Database server + +6. Database name will be the name of db, but sub domain name and database name should be same + +7. if you want to use extra addons from github, check the box and enter url, like this “https://github.com/OCA/account-financial-tools.git“ + +8. if the repo is private then you have to place the access token also, more info here + +9. Choose the docker image + +10. if you want to install the demo data also then check the box + +11. leave “Modules to Install” empty + +12. Leave the “App Credentials” empty, these will be automatically populated after the instance goes live + +13. Client user is the user, to whom you want to notify about this instance and creds, you should have configured smtp in your manager instance + + +![Cluster1](img/img5.png) + + +Save and click on **Deploy App** \ No newline at end of file diff --git a/docs/manager.md b/docs/manager.md index a20c207..7ed9fa1 100644 --- a/docs/manager.md +++ b/docs/manager.md @@ -1,8 +1,6 @@ -{!README.md!} - -# Welcome to Odoo SaaS on K8s documentation! +# Setup Manager Instance to Manage Client Instances !!! note - This project is under active development. + To be added here.