require "json" require "db/mongo/models/key" require "fileutils" module Devops module Version2_0 module Routes module KeyRoutes def self.registered(app) # Get list of available ssh keys # # * *Request* # - method : GET # - headers : # - Accept: application/json # # * *Returns* : array of strings # [ # { # "scope": "system", -> 'system' - key was added by server, 'user' - key was added by user # "id": "devops" # } # ] app.get_with_headers "/keys", :headers => [:accept], &Devops::Version2_0::Handler::Key.get_keys # Create ssh key on devops server # # * *Request* # - method : POST # - headers : # - Accept: application/json # - Content-Type: application/json # - body : # { # "file_name": "key file name", # "key_name": "key name", # "content": "key content" # } # # * *Returns* : # 201 - Created app.post_with_headers "/key", :headers => [:accept, :content_type], &Devops::Version2_0::Handler::Key.create_key # Delete ssh key from devops server # # * *Request* # - method : DELETE # - headers : # - Accept: application/json # # * *Returns* : # 200 - Deleted app.delete_with_headers "/key/:key", :headers => [:accept], &Devops::Version2_0::Handler::Key.delete_key puts "Key routes initialized" end end end end end