MCPcopy Index your code
hub / github.com/alandoherty/node-lxd

github.com/alandoherty/node-lxd @0.2.9

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.2.9 ↗ · + Follow
4 symbols 6 edges 11 files 1 documented · 25%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

npm version

A client for communicating with a local or remote instance of linux containers. The interface is object-oriented, simple and uniform. Unrestrictive with an open MIT license.

Installing

$ npm install --save node-lxd

Getting Started

The following example connects to the local LXC instance and launches a new container.

var lxd = require("node-lxd");

var client = lxd();

client.create("myContainer", "ubuntu", function(err, container) {
    container.start(function(err) {
        if (!err)
            console.log("Started " + container.name());
    });
});

Example

The following example uses an express application to allow users to create containers and execute commands.

// requires
var express = require("express");
var lxd = require("node-lxd");
var client = lxd();
var app = express();

var containers = {};

app.post("/create", function(req, res) {
    client.launch(req.query.name, function(err, container) {
        if (err) res.json({success: false, message: err.getMessage()});
        else {
            containers[req.query.name] = container;
            res.json({success: true, message: "Container launched"});
        }
    });
});

app.post("/run", function(req, res) {
    if (!containers.hasOwnProperty(req.query.name)) {
        res.json({success: false, message: "Container does not exist"});
        return;
    }

    containers[req.query.name].run(req.query.cmd.split(" "), function(err, stdOut, stdErr) {
        if (err) res.json({success: false, message: err.getMessage()});
        else if (stdErr.length > 0) res.json({success: false, message: stdErr});
        else {
            res.json({success: true, message: stdOut});
        }
    });
});

app.listen(3000, function(err) {
    if (!err)
        console.log("listening on port 3000");
});

Documentation

The client class is documented here.

The container class is documented here.

The process class is documented here.

Core symbols most depended-on inside this repo

retryIPv4
called by 1
src/classes/Container.js
retryIPv6
called by 1
src/classes/Container.js
lxd
called by 0
src/index.js

Shape

Function 4

Languages

TypeScript100%

Modules by API surface

src/classes/Container.js3 symbols
src/index.js1 symbols

For agents

$ claude mcp add node-lxd \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact