-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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:
- Authentication and authorization
- Validate and create entities (crud ops)
- Proxy to others micro services
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:
- Core
- Profile and authetication
- Teams
- Projects
- Architectures
- Applications
- Cloud Inventory
- System
- Clients
- Servers
- Reports
- Events
- Playbooks
- Jobs
- Inventory
- NodeJs 8.11.2
- MongoDB 3.4
- AWS S3 (If using S3 upload)
- Maestro Discovery
- Maestro Reports
docker run -p 8888:8888 -e "MAESTRO_MONGO_URI=mongodb/maestro-client" -e "MAESTRO_DISCOVERY_URI=http://discovery:5000" -e "MAESTRO_REPORT_URI=http://reports:5005" maestroserver/server-maestro
Or by docker-compose
version: '2'
services:
server:
image: maestroserver/server-maestro
ports:
- "8888:8888"
environment:
- "MAESTRO_MONGO_URI=mongodb/maestro-client"
- "MAESTRO_DISCOVERY_URI=http://discovery:5000"
- "MAESTRO_REPORT_URI=http://reports:5005"
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-client'
MAESTRO_DISCOVERY_URI=http://localhost:5000 // used in connection
MAESTRO_REPORT_URI=http://localhost:5005 // used in reports
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/maestro-client | DB string connection |
MAESTRO_SECRETJWT | XXXX | Secret key - session |
MAESTRO_SECRETJWT_FORGOT | XXXX | Secret key - forgot request |
MAESTRO_SECRET_CRYPTO_FORGOT | XXXX | Secret key - forgot content |
MAESTRO_DISCOVERY_URI | http://localhost:5000 | Url discovery-app (flask) |
MAESTRO_REPORT_URI | http://localhost:5005 | Url reports-app (flask) |
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.