Skip to content
Used to manage multiple instance of lxd
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Mar 2, 2019
examples Fix errors with the install script provided by shellcheck.net Apr 13, 2019
node
sql Added check to see if server has gone offline Apr 12, 2019
src Added rename snapshot (close #68) Apr 15, 2019
.env.dist
.gitignore Added inital support testing a fresh install Mar 10, 2019
LICENSE
README.md
composer.json Bumped php-lxd version to include the new project apis Jan 16, 2019
composer.lock Added support for setting limits by instance type on container creation Mar 16, 2019
docker-compose.yml Change image name in docker webserver service Dec 29, 2018
package-lock.json Added rename snapshot (close #68) Apr 15, 2019
package.json Added check to see if server has gone offline Apr 12, 2019

README.md

LXD Mosaic

This is an application you can use to do basic management for multiple instances of LXD

Why ?

Most of the other LXD managers I saw are only used to manage one LXD instance which is no good as I have many!

They also don't really touch on profiles or cloud config which I make heavy use of.

Install Prep

LXD Hosts

You need to enable access from the network on your LXD hosts first, you can do this by logging onto your hosts and executing the following (make sure to change the password from "some-secret_string")

lxc config set core.https_address [::]
lxc config set core.trust_password some-secret-string

When first accessing the web application it will ask you about your "trust password" which is the password you set in the last command

Installation

The preferred installation method is using a ubuntu container.

Install script

Warning this installs apache, docker, mysql-server, php, git and other dependencies its best to run in a container or an empty VM to avoid cluttering your system

In examples you will find an bash script called install_with_clone.sh this will handle the installation of dependencies and setup this program.

It handles the cloning of the repository so you can just do;

# Download the script
curl https://raw.githubusercontent.com/turtle0x1/LxdMosaic/master/examples/install_with_clone.sh >> installLxdMosaic.sh
# Then give the script execution permissions
chmod +x installLxdMosaic.sh
# Then run bellow to setup the program
sudo ./installLxdMosaic.sh

Once installation is complete you need to go to into your browser and goto;

https://host_ip_address:3000 and allow the self signed certificate (for node)

Then go to the following web address to run the application

https://host_ip_address

Notes

This project was started sometime around 2017 so the code is very meh, it won't win any prizes.

It will improve over time but it will do for a 0.1 (symfony request obj + symfony responses will be a good start).

If you take great offence please feel free to open a pull request that improves it other wise keep the issues related to bugs + feature requests.

I have opened a bunch of issues for things that I want to implement and need doing any help would be greatly appreciated.

Cloud Config

Cloud config is a incredibly powerful tool to provision containers on first run.

This program contains the basic functionality to create and manage cloud config files and deploy them to containers (through profiles) onto one or many hosts.

Most of the information about cloud config can be read here here

Built With

Use lots of composer libraries and an extended coreui for the frontend

You can’t perform that action at this time.