Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

lxc-query

1.0.13 • Public • Published

LXC Query

JavaScript Style Guide NPM Build Status Known Vulnerabilities

A Node.js LXD client which uses your local instance of LXD and lxc query to manage your local or remote LXD servers.

You must be using >= LXD 2.17

Install

Require this package with npm using the following command:

$ npm i lxc-query

Usage

Essentially you can do any LXD operation with the single lxc.query method, or you can use the helper methods which cover all the LXD endpoints.

Parameters & Call

Parameter Type Description Default
remote string LXD remote and endpoint local
rest method string e.g GET, POST, DELETE, PUT, PATCH GET
payload object | json string Rest json payload
mutator function Pre-resolve mutation function
const lxc = require('lxc-query')
 
lxc.query('remote:/1.0', 'GET', {}).then(response => {
    console.log(response)
})

Express example

Using express you can map the rest calls to the lib as shown below:

const lxc = require('lxc-query')
const express = require('express')
const app = express()
 
app.all('/*', (req, res) => {
    lxc.query(req.url.substr(1), req.method, req.body).then(response => res.json(response))
})
 
app.listen(3000)

So using the above if you visited http://127.0.0.1:3000/local:/1.0/containers it would proxy it though to local LXD server, list containers.. You could do this for any rest method or LXD endpoint, with the addition that local: can be any of your defined remotes!

Check out the LXD RESTapi, for more information.

Contributing

Please see CONTRIBUTING for details.

Developer Support / Sponsor

If you want to show your appreciation, please feel free to make a donation https://www.paypal.me/lcherone, thanks.

Credits

License

The MIT License (MIT). Please see License File for more information.

Links

Check out LXD-UI - A simple easy to use GUI for your local LXD server.

Install

npm i lxc-query

DownloadsWeekly Downloads

42

Version

1.0.13

License

MIT

Unpacked Size

120 kB

Total Files

41

Last publish

Collaborators

  • avatar