Awesome
tentacool
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
<a name="address"></a>address object
link
: interface to manageip
: ip to add (CIDR format)id
GET /addresses
List all current addresses
Response
- Array
GET /addresses/:id
Response
POST /addresses
Add a new address to manage.
parameters
- address
id
optional
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
- address
id
ignored
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
orfalse