Giter Site home page Giter Site logo

cloudkeeper-one's Introduction

Logo Cloudkeeper-ONE

Cloudkeeper-ONE

Travis Depfu Gem Code Climate DockerHub DOI

OpenNebula backend for Cloudkeeper

What does Cloudkeeper-ONE do?

Cloudkeeper-ONE is able to manage OpenNebula CMF - upload, update and remove images and templates representing EGI AppDB appliances. Cloudkeeper-ONE runs as a server listening for gRPC communication usually from core cloudkeeper component.

Requirements

  • Ruby >= 2.2.0
  • Rubygems
  • OpenNebula >= 5.2 (doesn't have to be present on the same machine)

Installation

From RubyGems.org

To install the most recent stable version

gem install cloudkeeper-one

From source (dev)

Installation from source should never be your first choice! Especially, if you are not familiar with RVM, Bundler, Rake and other dev tools for Ruby!

However, if you wish to contribute to our project, this is the right way to start.

To build and install the bleeding edge version from master

git clone git://github.com/the-cloudkeeper-project/cloudkeeper-one.git
cd cloudkeeper-one
gem install bundler
bundle install
bundle exec rake spec

Configuration

Create a configuration file for Cloudkeeper-ONE

Configuration file can be read by Cloudkeeper-ONE from these three locations:

  • ~/.cloudkeeper-one/cloudkeeper-one.yml
  • /etc/cloudkeeper-one/cloudkeeper-one.yml
  • PATH_TO_GEM_DIR/config/cloudkeeper-one.yml

The default configuration file can be found at the last location PATH_TO_GEM_DIR/config/cloudkeeper-one.yml.

Usage

Cloudkeeper-ONE is run with executable cloudkeeper-one. For further assistance run cloudkeeper-one help sync:

Usage:
  cloudkeeper-one sync --appliances-permissions=APPLIANCES-PERMISSIONS --appliances-tmp-dir=APPLIANCES-TMP-DIR --identifier=IDENTIFIER --listen-address=LISTEN-ADDRESS --opennebula-api-call-timeout=OPENNEBULA-API-CALL-TIMEOUT --opennebula-datastore=OPENNEBULA-DATASTORE

Options:
  --listen-address=LISTEN-ADDRESS                                            # IP address gRPC server will listen on
                                                                             # Default: 127.0.0.1:50051
  [--authentication], [--no-authentication]                                  # Client <-> server authentication
  [--certificate=CERTIFICATE]                                                # Backend's host certificate
                                                                             # Default: /etc/grid-security/hostcert.pem
  [--key=KEY]                                                                # Backend's host key
                                                                             # Default: /etc/grid-security/hostkey.pem
  --identifier=IDENTIFIER                                                    # Instance identifier
                                                                             # Default: cloudkeeper-one
  [--core-certificate=CORE-CERTIFICATE]                                      # Core's certificate
                                                                             # Default: /etc/grid-security/corecert.pem
  --appliances-tmp-dir=APPLIANCES-TMP-DIR                                    # Directory where to temporarily store appliances
                                                                             # Default: /var/spool/cloudkeeper/appliances
  [--appliances-template-dir=APPLIANCES-TEMPLATE-DIR]                        # If set, templates within this directory are used to construct images and templates in OpenNebula
  --appliances-permissions=APPLIANCES-PERMISSIONS                            # UNIX-like permissions appliances will have within OpenNebula
                                                                             # Default: 640
  [--opennebula-secret=OPENNEBULA-SECRET]                                    # OpenNebula authentication secret
                                                                             # Default: oneadmin:opennebula
  [--opennebula-endpoint=OPENNEBULA-ENDPOINT]                                # OpenNebula XML-RPC endpoint
                                                                             # Default: http://localhost:2633/RPC2
  --opennebula-datastore=OPENNEBULA-DATASTORE                                # OpenNebula datastore images will be uploaded to
                                                                             # Default: default
  --opennebula-api-call-timeout=OPENNEBULA-API-CALL-TIMEOUT                  # How long will cloudkeeper-one wait for image/template operations to finish in OpenNebula
                                                                             # Default: 3h
  [--opennebula-allow-remote-source], [--no-opennebula-allow-remote-source]  # Allows OpenNebula to directly download remote image
                                                                             # Default: true
  --logging-level=LOGGING-LEVEL
                                                                             # Default: ERROR
                                                                             # Possible values: DEBUG, INFO, WARN, ERROR, FATAL, UNKNOWN
  [--logging-file=LOGGING-FILE]                                              # File to write logs to
                                                                             # Default: /var/log/cloudkeeper/cloudkeeper-one.log
  [--debug], [--no-debug]                                                    # Runs cloudkeeper in debug mode

Contributing

  1. Fork it ( https://github.com/the-cloudkeeper-project/cloudkeeper-one/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Acknowledgements

This work is co-funded by the EOSC-hub project (Horizon 2020) under Grant number 777536.

cloudkeeper-one's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.