Difference between revisions of "Edge++: Deployment"
From Datonis
(Tag: Visual edit) |
(Tag: Visual edit) |
||
Line 1: | Line 1: | ||
− | == Edge++ Deployment on Rails setup | + | == Edge++ Deployment on Rails setup == |
The configuration Github repository can be found here [https://github.com/Altizon/edge_plus_plus <nowiki>[1]</nowiki>] This repository is a bunch of shell scripts that will help you orchestrate dockerized environment. This environment is served using docker-compose. | The configuration Github repository can be found here [https://github.com/Altizon/edge_plus_plus <nowiki>[1]</nowiki>] This repository is a bunch of shell scripts that will help you orchestrate dockerized environment. This environment is served using docker-compose. | ||
+ | ==== Configuration: ==== | ||
+ | Couple of fields to be set up in .env file. | ||
+ | * LICENSE_KEY: License key of account on boarded on Datonis | ||
+ | * NUMBER_OF_INPUT_QUEUES: Degree of parallelism at which we want to process our event stream. | ||
Basic building blocks of the architecture in terms of dockers are as follows: | Basic building blocks of the architecture in terms of dockers are as follows: | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 41: | Line 45: | ||
|} | |} | ||
− | === Data Persistance | + | === Data Persistance === |
* The data being saved in MongoDB is a volume mounted on docker. Hence, it is safe to assume that your data will persist in MongoDB across boots of Edge++. | * The data being saved in MongoDB is a volume mounted on docker. Hence, it is safe to assume that your data will persist in MongoDB across boots of Edge++. | ||
* For Redis we use Redis Persistance to ensure Redis maintains its state across boots. We use .aof files for saving our state. | * For Redis we use Redis Persistance to ensure Redis maintains its state across boots. We use .aof files for saving our state. |
Revision as of 11:13, 12 June 2020
Contents
Edge++ Deployment on Rails setup
The configuration Github repository can be found here [1] This repository is a bunch of shell scripts that will help you orchestrate dockerized environment. This environment is served using docker-compose.
Configuration:
Couple of fields to be set up in .env file.
- LICENSE_KEY: License key of account on boarded on Datonis
- NUMBER_OF_INPUT_QUEUES: Degree of parallelism at which we want to process our event stream.
Basic building blocks of the architecture in terms of dockers are as follows:
Name | Docker Image | Purpose |
---|---|---|
redis | redis:6.0.3-buster | Redis server |
mongo | mongo:4.2.7-bionic | MongoDB for master data caching |
factory-server | altizon/factory | Factory Server to provide operator screens using FaasInfra |
sidekiq | altizon/factory | Sidekiq running asynchronous tasks |
factory-rake | altizon/factory | There will be N no of instances of this kind listening to their respective input queues. |
factory-function-cache | altizon/factory | Function Task schedular to start master data caching like account and user preferences to local MongoDB from production |
update_number_of_queues | altizon/factory | Updating __number_of_input_queues__ in Redis on boot |
wget_call | altizon/factory | Calling first API request to server initiating asset compilation |
Data Persistance
- The data being saved in MongoDB is a volume mounted on docker. Hence, it is safe to assume that your data will persist in MongoDB across boots of Edge++.
- For Redis we use Redis Persistance to ensure Redis maintains its state across boots. We use .aof files for saving our state.
FAQs for runnning Edge++ on Ubuntu VM using Oracle VirtualBox
- For starting virtualBox with SecureBoot hardware (Only if you have SecureBoot enabled in your machine)
- Password Based Encryption:
- VirtualBox Port forwarding from VM to the Host machine:
- Setting up redis container inside vm and accessing it via host.
- Configure and Run a Docker Container for Redis and Use it for Python
- Network type of vm - NAT
- Redis config - bind 0.0.0.0:port instead of 127.0.0.1
- Start the container and run Redis
- Port forwarding of vm- host: <redis-port> - guest: <redis-port>
- This will make redis available on localhost:port
- Ref - Cannot get or set to Redis on Vagrant guest from host due to "Error: Connection reset by peer"