Skip to content

Repository files navigation

LXC Query

JavaScript Style Guide 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.

About

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

Topics

Resources

Contributing

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages