Giter Club home page Giter Club logo

tentacool's Introduction

tentacool

Build Status Go Walker Go report

Description

tentacool is a Go server controlled via RESTful API through a Unix Domain Socket.

Goal

Main goal is to manage all under the hood services for a simple "box". All done with a auditable, fast and bulletproof software.

So many software do frontend, backend and system... And finally run in root by easiness.

To build

Be sure to set the correct GOPATH and GOROOT environment variables. You can make use of godeb which set you up with the version of Go you want. (Tentacool is using >= 1.2)

Build Tentacool using gb.

An automatic of the executable from master branch can also be found on drone.io.

How-to GB

# Get GB
go get github.com/constabulary/gb/...
# Fetch dependencies
gb vendor restore
# Build tentacool
gb build
./bin/tentacool -help

Configuration

Recommended /etc/network/interfaces config for your default interface (for instance eth0):

auto eth0
iface eth0 inet manual
  pre-up ifconfig $IFACE up
  post-down ifconfig $IFACE down

API

addresses

address object

  • link: interface to manage
  • ip: ip to add (CIDR format)
  • id

GET /addresses

List all current addresses

Response

GET /addresses/:id

Response

POST /addresses

Add a new address to manage.

parameters
Response
  • address
  • headers
    • X-Error: if address is stored in BD but fail to by apply.
Example
  • without id
==>
{
  "link":"eth0",
  "ip":"192.168.32.11/32",
}
<==
{
  "id":"1",
  "link":"eth0",
  "ip":"192.168.32.11/32",
}
  • with id
==>
{
  "id":"foo",
  "link":"eth0",
  "ip":"192.168.32.12/32",
}
<==
{
  "id":"foo",
  "link":"eth0",
  "ip":"192.168.32.12/32",
}

PUT /addresses/:id

Modify an existing address

parameters
Response
  • address
  • headers
    • X-Error: if address is stored in BD but fail to by apply.

dhcp

GET /dhcp

Checks if DHCP is running on the default interface.

Response

{'active': true|false}

POST /dhcp

Activate/deactive DHCP for default interface.

parameters
  • active true or false

tentacool's People

Contributors

guilhem avatar thavel avatar ketouem avatar

Watchers

James Cloos avatar  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.