Posted on Leave a comment

Version 1.1.8

Version 1.1.8 of the LXD Dashboard have just been released. New changes include the following:

  • changed display name to LXDWARE
  • improvements to the notification of running operations
  • added an about page displaying the version, license, and source link
  • added icons to Host and Project navigation links in the top bar, improving design for smaller screen displays
  • changed port input field to number in the “Add LXD Remote Host” Modal of index.html
  • changed remote host table in index.html to full width, moving instructions to top
  • set a 3 second connection timeout for curl requests, preventing pages from locking up when host is down
  • added location option for creating hosts allowing instances to be created on a specific cluster member
Posted on Leave a comment

Forwarding host ports to LXD instances

Also known as exposing a port, LXD can be configured to forward outside network traffic to containers that reside within a private bridged network. This post will demonstrate how to create a profile that forwards traffic on a networking port from the host server to a port on an LXD container. At the time of this writing, the proxy device is not supported for LXD virtual-machines.

In this how-to guide I will be forwarding port 80 (http) from the host server to port 8080 on an LXD container. To start we will need to create a profile that can be attached to the container we are forwarding the network traffic to.

We will call the new profile port-80, naming it something that can easily identify it’s purpose. To create the new profile run the following command:

$ lxc profile create proxy-80

We now have an empty profile without any configurations. To get a list of the profiles you have on your LXD server and see the newly created proxy-80 profile, run the following command

$ lxc profile list
+-----------+---------+
|    NAME   | USED BY |
+-----------+---------+
| default   | 2       |
+-----------+---------+
| proxy-80  | 0       |
+-----------+---------+

The new profile now can be modified to include a proxy device that opens a listener on port 80 from the host server to connect to port 8080 on the instance. We can choose to edit the profile directly using an editor (lxc profile edit proxy-80) or add a new proxy device using LXC based command-line options.

Choosing the later option, we can create a new device within the profile that will define our settings. Let’s name the device hostport80. We will have it listen to 0.0.0.0:80 on the host and connect to 127.0.0.1:8080 of the container by running the following command:

$ lxc profile device add proxy-80 hostport80 proxy connect="tcp:127.0.0.1:8080" listen="tcp:0.0.0.0:80"

To view the contents of the profile use the following command:

$ lxc profile show proxy-80
config: {}
description: ""
devices:
  hostport80:
    connect: tcp:127.0.0.1:8080
    listen: tcp:0.0.0.0:80
    type: proxy
name: proxy-80
used_by: []

If you are launching a new instance you can use the –-profile (or -p) option to add profiles to the instance as it is created. But if the instance already exists you will have to append the new profile to the container. Let’s assume we have an instance named container1. To append the proxy-80 profile to this instance use the following command:

$ lxc profile add container1 proxy-80

To show the applied configurations to your instance use the following command:

$ lxc config show container1 -e

The profile configuration can be removed from the instance. To remove the profile use the following command:

$ lxc profile remove container1 proxy-80

When you remove the profile from the instance, the profile still exists and can be used for other instances. If you want to permanently remove the profile it can be deleted with the following command:

$ lxc profile delete proxy-80
Posted on Leave a comment

Version 1.1.6

Version 1.1.6 brings the following changes:

– added tabs to the instance page, allowing for better organization

– improved instance log and backup functions and moved them to a navigation tab

– modified auto refresh time on pages to 5 seconds

– backfilled the changelog file

– updating copyright year to 2021

Posted on Leave a comment

Version 1.1.5

Version 1.1.5 has just now been released. Changes include:

  • added CHANGELOG.md file
  • modified notifications to include any error message when downloading a new image
  • added accessibility attributes to semantic icons, providing a popup text when hovering over icon
  • changed notification spinner to bootstrap border spinner from grow spinner, making it less obtrusive
  • relocated notification area to the left side of top nav bar to help with various notification lengths
  • added support for creating storage pools on hosts that belong to a cluster
  • added Status to the table on the storage pools page
Posted on Leave a comment

Version 1.1.4

Version 1.1.4 is a minor update to the user interface on the web pages. There is now a drop down arrow to let users know they can change the host or project directly from the page they are using, without having to click the projects or host links on the left side navigation.

Posted on Leave a comment

Version 1.1.3

A new version the LXD dashboard has been released, version 1.1.3. This new version brings some improvements to user interaction, improved load time, and new features for clustered hosts.

Using the recursion option in the rest API, tables should load faster as fewer API calls are now made to populate data information. Pages can now load quicker and more often giving a real-time effect to page information.

The hosts page has been redesigned bring more information the page. Users can view a quick status of running instances and cluster members, among other features. Information regarding details of the LXD service are now also displayed, including the version of LXD, storage driver, and operating system of the LXD server.

New features such as copying instances and migrating instances have been added for instances on hosts that use LXD clustering. Instances can now move from one host to another, or may be copied on a host to create a duplicate instance.

Icons are now used for actions within the table data. This is a result of having quickly refreshing table data, making it easier for users to select the action.

Posted on Leave a comment

New Logo

With the release of version 1.1.1 comes a new logo for LXDWARE. There are both light and dark versions of the logo available. Check the out and let us know what you think.

Posted on Leave a comment

Version 1.0.0 Release

Version 1.0.0 of the LXDWARE dashboard has just been released under the GPL-3.0 License. This is the first public release of the software making it readily available to everyone.

Initially the software is packaged as a docker container allowing Linux, Mac OSX and Windows users the ability to run the software using docker. The docker image can be found at https://hub.docker.com/r/lxdware/dashboard.

The source code for the project has also been made public on GitHub. You can find it at https://github.com/lxdware/dashboard.

In addition to the docker container, an LXD container for the dashboard is planned to be released soon.