Skip to content

guilhem/tentacool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f72c8c2 · Mar 10, 2017

History

80 Commits
Mar 10, 2017
Mar 10, 2017
Mar 10, 2017
Mar 10, 2017
Mar 10, 2017
Mar 10, 2017
Mar 10, 2017
Mar 10, 2017
Dec 8, 2015
Mar 10, 2017
Mar 10, 2017
Mar 10, 2017
Mar 10, 2017
Mar 10, 2017
Mar 10, 2017
Mar 10, 2017

Repository files navigation

tentacool

Build Status 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.

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