Since version 0.6 LXC-Web-Panel support a set of RestAPI described in this documentation.
All APIs requires authentication. You need to pass a private_token parameter by url or header. If passed as header, the header name must be "private-token".
For example:
curl http://host:5000/api/v1/containers?private_token=d41d8cd98f00b204e9800998ecf8427e or curl --header "private-token: d41d8cd98f00b204e9800998ecf8427e" http://host:5000/api/v1/containers
GET /api/v1/containers/
Returns all lxc containers on the current machine and brief status information.
This api will return a json array like:
[{"state": "running", "container": "base"}, {"state": "stopped", "container": "test"}]
GET /api/v1/containers/<name>
Returns full information about the name container.
This api will return a json object like:
{ "blkio_use": "7.66 MiB", "cpu_use": "0.67 seconds", "ip": "192.168.9.100", "kmem_use": "0 bytes", "link": "lxcbr0", "memory_use": "2.02 MiB", "name": "base", "pid": "4548", "rx_bytes": "81.08 KiB", "state": "RUNNING", "total_bytes": "81.08 KiB", "tx_bytes": "0 bytes" }
POST /api/v1/containers/<name>
Update a container status.
This api accept the following parameters in body request:
- action: the new container status, possible status are start, stop and freeze
This api returns 400 if missed or mispelled json format, 409 if container name doesn't exist
PUT /api/v1/containers/
Create or clone a lxc container.
This api accept the following parameters in body request:
- name: the name container (mandatory)
- template: the lxc template (mandatory if clone is not present)
- clone: the name of lxc container to clone (mandatory if template is not present)
- store: the appropriate backing store system (optional)
- xargs: optional xargs to be passed to lxc-create
DELETE /api/v1/containers/<name>
Delete the name container.
POST /api/v1/tokens
Add a new access token for the api This api accept the following parameters in body request:
- token: the new token to add (mandatory)
- description: an optional token description
DELETE /api/v1/tokens/<private-token>
Revoke the given private-token