MCPcopy Index your code
hub / github.com/canonical/lxd-ui

github.com/canonical/lxd-ui @0.22

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.22 ↗ · + Follow
3,626 symbols 12,487 edges 1,051 files 12 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

LXD-UI

LXD-UI is a browser frontend for LXD. It enables easy and accessible container and virtual machine management. Targets small and large scale private clouds.

Install

  1. Get the LXD snap

    sudo snap install lxd

Or refresh to ensure at least version 5.21 LTS is installed. Be aware, that downgrading to a previous channel will not be possible.

   sudo snap refresh --channel=latest/stable lxd
  1. Make sure that your LXD server is exposed to the network. For example listen on port 8443 of all available interfaces:

    lxc config set core.https_address :8443

  2. Done. Access the UI in your browser by entering the server address (for example on localhost, https://127.0.0.1:8443). You can find more information on the UI in the LXD documentation.

Contributing

You might want to:

Architecture

LXD-UI is a single page application written in TypeScript and React. See Architecture for details on bundling with LXD and the dev setup.

Changelog

The changelog is regularly updated to reflect what's changed in each new release.

Roadmap

Future plans and high-priority features and enhancements can be found in the roadmap.

Examples

Create an instance Instance list
create-instance instance-list
Instance terminal Graphic console
instance-terminal instance-graphical-console
Storage pools Storage volume
storage-pool-list storage-volume-snap
Network Network ACL
network-detail network-acl-create
Create a group Assign permissions
group-create-overview group-create-permission
Permission groups Operations
group-list operations-list
Profiles Warnings
profile-list warnings-list
Cluster groups Server settings
cluster-list server-settings

Extension points exported contracts — how you extend this code

LxdLoadBalancer (Interface)
(no doc)
src/types/loadBalancers.d.ts
Props (Interface)
(no doc)
src/components/CodeSnippetWithCopyButton.tsx
Props (Interface)
(no doc)
src/pages/permissions/PermissionIdentitiesActions.tsx
AppProvidersProps (Interface)
(no doc)
src/context/appProviders.tsx
InstanceBulkAction (Interface)
(no doc)
src/api/instances.tsx
CpuUsage (Interface)
(no doc)
src/util/metricSelectors.tsx
NetworkOptions (Interface)
(no doc)
tests/helpers/network.ts
TestOptions (Interface)
(no doc)
tests/fixtures/lxd-test.ts

Core symbols most depended-on inside this repo

pluralize
called by 143
src/util/helpers.tsx
getConfigurationRow
called by 138
src/components/ConfigurationRow.tsx
slugify
called by 111
src/util/slugify.tsx
dismissNotification
called by 104
tests/helpers/notification.ts
setLoading
called by 102
src/context/memberLoading.tsx
ensureEditMode
called by 100
src/util/editMode.tsx
useSupportedFeatures
called by 85
src/context/useSupportedFeatures.tsx
gotoURL
called by 84
tests/helpers/navigate.ts

Shape

Function 2,783
Interface 818
Method 16
Class 6
Enum 3

Languages

TypeScript100%

Modules by API surface

src/lib/spice/src/spicemsg.js58 symbols
src/util/helpers.tsx50 symbols
src/lib/spice/src/inputs.js32 symbols
src/types/resources.d.ts30 symbols
src/api/instances.tsx28 symbols
src/util/networks.tsx22 symbols
src/util/instanceAndProfilePayloads.tsx22 symbols
src/lib/spice/src/webm.js22 symbols
src/util/devices.tsx21 symbols
src/lib/spice/src/display.js21 symbols
tests/helpers/network.ts19 symbols
src/util/storagePool.tsx19 symbols

For agents

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

⬇ download graph artifact