fabrica

command module
v0.0.0-...-642d354 Latest Latest
Warning

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

Go to latest
Published: May 15, 2021 License: AGPL-3.0 Imports: 12 Imported by: 0

README

Fabrica - snap build factory

Fabrica is a web service to be run on an lxd appliance. It spawns a web application that allows you to point to cloneable git trees, initializes lxd and builds snap packages of the provided source trees.

Once the snap is installed, it needs its interfaces to be connected:

snap install lxd
sudo lxd init # hit enter for all questions

sudo snap install fabrica

sudo snap connect fabrica:lxd lxd:lxd
sudo snap connect fabrica:mount-observe :mount-observe
sudo snap connect fabrica:system-observe :system-observe
sudo snap connect fabrica:ssh-keys :ssh-keys

Options

Fabrica has a configuration option that may be useful for a development environment:

  • debug=true: (default false) if a build fails, the LXD container is retained for debugging

Options can be set using a snap set command e.g.

sudo snap set fabrica debug=true

If the debug option is used, the container will need to be deleted manually to recover disk space.

Development Environment

The build needs Go 13.* and npm installed.

Building the web pages

The web pages use create-react-app which needs an up-to-date version of Node.

cd webapp
npm install
./build.sh
Building the application

The application is packaged as a snap and can be built using the snapcraft command. The snapcraft.yaml is the source for building the application and the name of the snap needs to be modified in that file.

For testing purposes, it can also be run via:

go run fabrica.go

API

The application provides an open API that allows it to be integrated with other services and scripts.

Credits

Icons provided by Font Awesome

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
key
lxd

Jump to

Keyboard shortcuts

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