nanocloud

module
v2.0.0-beta1+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2016 License: AGPL-3.0

README

Nanocloud

Build Status Code Climate

Next version of Nanocloud is still in heavy develoment

Run

Nanocloud relies on Docker containers to run its stack.

docker-compose build
docker-compose up

Some environment variable are expected to be set in config.env:

  • IAAS (mandatory) currently only "manual" and "aws" are implemented
  • HOST (mandatory, defaults to localhost) nanocloud's host
  • SMTP_SERVER_HOST host to send email
  • SMTP_SERVER_PORT (defaults to 25) port for the SMTP server
  • SMTP_LOGIN login for the SMTP server
  • SMTP_PASSWORD password for the SMTP server
  • SMTP_SEND_FROM (defaults to mail@nanocloud.com) nanocloud's sender

Manual driver specific:

  • MACHINES (array) Array of machine object to statically insert in the database

AWS driver specific

  • AWS_REGION region where machines will appear
  • AWS_ACCESS_KEY_ID KeyId
  • AWS_SECRET_ACCESS_KEY Private key
  • AWS_KEY_NAME Private key name
  • AWS_PRIVATE_KEY (defaults to /tmp/id_rsa) path to where the key will be stored
  • AWS_IMAGE (defaults to ami-09e61366, Nanocloud default image)
  • AWS_FLAVOR (defaults to t2.medium) size of the virtual machine
  • AWS_MACHINE_USERNAME (defaults to Administrator) administrator account on the machine

Openstack driver specific

  • OPENSTACK_USERNAME Openstack username
  • OPENSTACK_PASSWORD Openstack password
  • OPENSTACK_AUTH_URL Openstack auth URL without version
  • OPENSTACK_REGION (Defaults to 'RegionOne') Openstack region name
  • OPENSTACK_IMAGE image to boot Windows execution servers from
  • OPENSTACK_FLAVOR (defaults to m1.medium) type id of the virtual machine
  • OPENSTACK_SECURITY_GROUPS (Defaults to default) security groups to apply to the instance, should be an array
  • OPENSTACK_MACHINE_USERNAME (Defaults to Administrator) Windows account username
  • OPENSTACK_MACHINE_PASSWORD (Defaults password will generated) Windows account password

Storage specific:

  • STORAGE_ADDRESS (mandatory, defaults to 'localhost') storage service's IP
  • STORAGE_PORT (mandatory, defaults to 9090) storage service's port
  • UPLOAD_LIMIT (defaults 0 (desactivated)) upload limit, in MB, for each user

Once loaded, Nanocloud will be accessible on localhost.

Run in developer mode

Nanocloud also relies on Docker to run its development stack:

docker-compose build
docker-compose -f docker-compose-dev.yml build
docker-compose -f docker-compose-dev.yml up

Backend and frontend containers are automatically updated when source code changes in dev mode. All services are accessible on localhost.

Tests

To run all tests:

make tests

This will run all tests defined in ./tests/test-all.sh.

Alternativelly, tests can be run individually:

  • make test-api to test the API
  • make test-jshint to analyse code for errors and warnings

Some environment variables can be set to customize tests:

  • TEST_MAIL (boolean, defaults to false) load stub email transporter for testing purpose

API tests expects a postgres database up and running on localhost

Licence

This file is part of Nanocloud.

Nanocloud is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Nanocloud is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL