GithubHelp home page GithubHelp logo

ramss's Introduction

ramss

Rest API manipulates systemd service

setup

$ mkdir -p $GOPATH/src/github.com/teddyyy
$ cd $GOPATH/src/github.com/teddyyy
$ git clone https://github.com/teddyyy/ramss.git
$ cd ramss
$ dep ensure
$ go build

usage

$ ./ramss -h
Usage of ./ramss:
  -f string
        config file (default "./config.yaml")
  -p string
        listen port (default "8080")

run

sudo ./ramss -f sample.yaml -p 10080

API

  • GET /api/v1/systemd/

    • The status of all systemd services is obtained by GET.
    • Ex) Response body
    {
      "Systemd": [
        {
          "Id": "nginx",
          "Description": "A high performance web server and a reverse proxy server",
          "LoadState": "loaded",
          "ActiveState": "active",
          "UnitFileState": "enabled",
          "MainPID": 12577
        },
        {
          "Id": "rsyslog",
          "Description": "System Logging Service",
          "LoadState": "loaded",
          "ActiveState": "active",
          "UnitFileState": "enabled",
          "MainPID": 11656
        }
      ]
    }
    
  • GET /api/v1/systemd/<service>

    • The status of systemd service is obtained by GET.
    • The <service> is defined in config file and match with unit_name.
    • Ex) Response body
    {
      "Id": "nginx",
      "Description": "A high performance web server and a reverse proxy server",
      "LoadState": "loaded",
      "ActiveState": "active",
      "UnitFileState": "enabled",
      "MainPID": 12577
    }
    
  • POST /api/v1/systemd/<service>

    • The status of systemd service is manipulated by POST.
    • The <service> is defined in config file and match with unit_name.
    • Ex) Request body
    {
      "action":"start",
      "mode":"replace"
    }
    
    • Ex) Response body
    {
      "Code": 200,
      "Message": "success"
    }
    
    • The posible "action" are.
      • start
      • stop
      • restart
      • reload
    • The posible "mode" are.
      • replace
      • replace-irreversibly
      • isolate
      • flush

ramss's People

Contributors

teddyyy avatar

Watchers

 avatar

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.