forkdns provides a specialised DNS server designed for relaying A and PTR queries.
* This file is a bit funny. The goal here is to use setns() to manipulate * files inside the container, so we don't have to reason about the paths to * make sure they don't escape (we can simply rely on the kernel for * correctness). Unfortunately, you can't setns() to a mount namespace with a * multi-threaded program, which every golang binary is. However, by declaring * our init as an initializer, we can capture process control before it is * transferred to the golang runtime, so we can then setns() as we'd like * before golang has a chance to set up any threads. So, we implement two new * lxd fork* commands which are captured here, and take a file on the host fs * and copy it into the container ns. * * An alternative to this would be to move this code into a separate binary, * which of course has problems of its own when it comes to packaging (how do * we find the binary, what do we do if someone does file push and it is * missing, etc.). After some discussion, even though the embedded method is * somewhat convoluted, it was preferred.
LXD external REST API ¶
This is the REST API used by all LXD clients. Internal endpoints aren't included in this documentation.
The LXD API is available over both a local unix+http and remote https API. Authentication for local users relies on group membership and access to the unix socket. For remote users, the default authentication method is TLS client certificates with a macaroon based (candid) authentication method also supported.
Version: 1.0 License: Apache-2.0 https://www.apache.org/licenses/LICENSE-2.0 Contact: LXD upstream <firstname.lastname@example.org> https://github.com/lxc/lxd
Source Files ¶
Package raft contains the subset of hashicorp/raft needed to perform data migrations to dqlite 1.0.
|Package raft contains the subset of hashicorp/raft needed to perform data migrations to dqlite 1.0.|
Package file contains helpers to write auto-generated Go source files.
|Package file contains helpers to write auto-generated Go source files.|
Package query implements helpers around database/sql to execute various kinds of very common SQL queries.
|Package query implements helpers around database/sql to execute various kinds of very common SQL queries.|
Package schema offers utilities to create and maintain a database schema.
|Package schema offers utilities to create and maintain a database schema.|
Package nictype is a small package to allow resolving NIC "network" key to "nictype" key.
|Package nictype is a small package to allow resolving NIC "network" key to "nictype" key.|