openode-io / openode-api

opeNode.io Core API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

openode-api

Tests Actions Status Deploy Actions Status

opeNode.io is a PaaS allowing to manage clusters of container instances. opeNode API is the core piece, providing: 1) REST API to manager clusters, 2) background jobs for spawning instances, 3) web sockets to get real-time updates on clusters events. Provides an abstraction over Kubernetes.

Things you may want to cover:

  • Ruby version

  • System dependencies

  • Configuration

  • Database creation

  • Database initialization

  • How to run the test suite

  • Services (job queues, cache servers, search engines, etc.)

  • Deployment instructions

  • ...

Requirements:

  • Redis for jobs syncing + Action Cable

Installation

  • Install rvm, https://rvm.io/
  • rvm install ##.##.## where ##.##.## is the ruby version, see Gemfile
  • apt-get install libmysqlclient-dev
  • bundle install
  • If you have build machine (docker.images_location in .*.openode.yml), remove first ~/.docker/config.json

Configuration

  • cp .test.env .production.env # adapt the environment settings
  • cp .test.openode.yml .production.openode.yml

Creating and running a new instance (for development)

  • cp .test.env .development.env # ensure to NOT have file named .env
  • rails db:create
  • rails db:migrate
  • rails db:seed
  • rails s # starts the main API
  • RAILS_ENV=development rails jobs:work # to run background tasks

Testing

  • rubocop
  • rails test

About

opeNode.io Core API


Languages

Language:Ruby 98.6%Language:HTML 0.7%Language:Shell 0.4%Language:Dockerfile 0.2%Language:JavaScript 0.1%