lxd-compose

command module
v0.28.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2023 License: GPL-3.0 Imports: 1 Imported by: 0

README

LXD Compose

Build Status CII Best Practices Go Report Card CodeQL codecov Github All Releases

lxd-compose supply a way to deploy a complex environment to an LXD Cluster or LXD standalone installation.

It permits to organize and trace all configuration steps of infrastructure and create test suites.

All configuration files could be created at runtime through two different template engines: Mottainai or Jinja2 (require j2cli tool).

It's under heavy development phase and specification could be changed in the near future.

Installation

lxd-compose is available as Macaroni OS package and installable in every Linux distro through luet tool with these steps:

$> curl https://raw.githubusercontent.com/geaaru/luet/geaaru/contrib/config/get_luet_root.sh | sudo sh
$> sudo luet install app-emulation/lxd-compose
Upgrade lxd-compose

$> sudo luet repo update
$> sudo luet upgrade

Documentation

The complete lxd-compose documentation is available here.

Examples

We maintain a project that supply ready to build environments at LXD Compose Galaxy.

Getting Started

Deploy an environment

$> lxd-compose apply myproject

# Disable hooks with flag foo
$> lxd-compose apply --disable-flag foo

# Execute only hooks with flag foo
$> lxd-compose apply --enable-flag foo

Destroy an environment

$> lxd-compose destroy myproject

Stop an environment

For environment with containers not ephemeral.

$> lxd-compose stop myproject
Validate environemnts

$> lxd-compose validate

Create single node

$> lxd-compose node create node1 --hooks

# Execute only hooks with flag foo
$> lxd-compose node create node1 --hooks --enable-flag foo

# Disable hooks with flag foo
$> lxd-compose node create node1 --hooks --disable-flag foo

Diagnose loaded variables

$> lxd-compose diagnose vars project1

Show list of the project

$> lxd-compose project list

Community

The lxd-compose devs team is available through the Mottainai Slack channel.

Documentation

Overview

Copyright (C) 2020 Daniele Rondina <geaaru@sabayonlinux.org> Credits goes also to Gogs authors, some code portions and re-implemented design are also coming from the Gogs project, which is using the go-macaron framework and was really source of ispiration. Kudos to them!

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Directories

Path Synopsis
cmd
acl
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL