Server App is main application of Maestro Server
10K+
Maestro Server is an open source software platform for management and discovery servers, apps and system for Hybrid IT. Can manage small and large environments, be able to visualize the latest multi-cloud environment state.
To test out the demo, Demo Online
Server App is main application, yours responsibility is:
We using DDD to organize the code, has infra, repositories, entities (values objects), interfaces, application, and domain. Constructed with KrakenJs, we create a lot of middleware and organize by domain.
Core API, organized by modules:
docker run -p 8888:8888 -e "MAESTRO_MONGO_URI=mongodb" -e "MAESTRO_MONGO_DATABASE=maestro-client" -e "MAESTRO_DISCOVERY_URI=http://discovery:5000" -e "MAESTRO_ANALYTICS_URI=http://analytics:5020" -e "MAESTRO_REPORT_URI=http://reports:5005" -e "MAESTRO_AUDIT_URI=http://audit:10900" maestroserver/server-maestro
Or by docker-compose
version: '2'
services:
server:
image: maestroserver/server-maestro
ports:
- "8888:8888"
environment:
- "MAESTRO_MONGO_URI=mongodb"
- "MAESTRO_MONGO_DATABASE=maestro-client"
- "MAESTRO_DISCOVERY_URI=http://discovery:5000"
- "MAESTRO_REPORT_URI=http://reports:5005"
- "MAESTRO_ANALYTICS_URI=http://analytics:5020"
- "MAESTRO_AUDIT_URI=http://audit:10900"
Setup mongodb and fake smtp
cd devtools/
docker-compose up -d
Configure database and port application in .env file
MAESTRO_PORT=8888
MAESTRO_MONGO_URI='localhost'
MAESTRO_MONGO_DATABASE='maestro-client'
MAESTRO_DISCOVERY_URI=http://localhost:5000 // used in connection
MAESTRO_REPORT_URI=http://localhost:5005 // used in reports
MAESTRO_ANALYTICS_URI=http://analytics:5020 // used in analytics
MAESTRO_AUDIT_URI=http://audit:10900 // used in audit
Development
Install nodejs, version above 7.6, mongodb need to be running.
npm install
npm run migrate //populate mongodb
npm run server
Run all tests or any test type
mocha test/**/*js --reporter spec
gulp test_e2e
gulp test_unit
gulp eslint
| Env Variables | Example | Description |
|---|---|---|
| MAESTRO_PORT | 8888 | |
| NODE_ENV | development | production |
| MAESTRO_MONGO_URI | localhost | DB string connection |
| MAESTRO_MONGO_DATABASE | maestro-client | Database name |
| MAESTRO_SECRETJWT | XXXX | Secret key - session |
| MAESTRO_SECRETJWT_FORGOT | XXXX | Secret key - forgot request |
| MAESTRO_SECRET_CRYPTO_FORGOT | XXXX | Secret key - forgot content |
| MAESTRO_SECRETJWT_PUBLIC | XXXX | Secret key - public shared |
| MAESTRO_SECRETJWT_PRIVATE | XXX | Secret Key - JWT private connections |
| MAESTRO_NOAUTH | XXX | Secret Pass to validate private connections |
| MAESTRO_DISCOVERY_URI | http://localhost:5000 | Url Discovery-app (flask) |
| MAESTRO_REPORT_URI | http://localhost:5005 | Url Reports-app (flask) |
| MAESTRO_ANALYTICS_URI | http://localhost:5020 | Url Analytics-app (flask) |
| MAESTRO_AUDIT_URI | http://localhost:10900 | Url Audit-app (krakenjs) |
| MAESTRO_TIMEOUT | 1000 | Timeout micro service request |
| SMTP_PORT | 1025 | |
| SMTP_HOST | localhost | |
| SMTP_SENDER | felipeklerkk@XXXX | |
| SMTP_IGNORE | true | false |
| SMTP_USETSL | true | false |
| SMTP_USERNAME | ||
| SMTP_PASSWORD | ||
| AWS_ACCESS_KEY_ID | XXXX | |
| AWS_SECRET_ACCESS_KEY | XXXX | |
| AWS_DEFAULT_REGION | us-east-1 | |
| AWS_S3_BUCKET_NAME | maestroserver | |
| MAESTRO_UPLOAD_TYPE | S3/Local | Upload mode |
| LOCAL_DIR | /public/static/ | Where files will be uploaded |
| PWD | $rootDirectory | PWD process |
Are you interested in developing Maestro Server, creating new features or extending them?
We created a set of documentation, explaining how to set up your development environment, coding styles, standards, learn about the architecture and more. Welcome to the team and contribute with us.
Content type
Image
Digest
Size
169.1 MB
Last updated
almost 5 years ago
docker pull maestroserver/server-maestro