|
11 months ago | |
---|---|---|
build | 11 months ago | |
eltm-client | 11 months ago | |
eltm-server | 11 months ago | |
.gitignore | 11 months ago | |
LICENSE | 11 months ago | |
README.md | 11 months ago | |
build.sh | 11 months ago |
Eltm stand for External LXC Template Manager. It was originally designed for my personal usage as a remplacement to the Proxmox template manager (pveam) that don't allow externals sources for template and don't have template upgrading system. Everything is solved with ELTM under the GPLv3.
Functionalities :
Work in Progress :
Eltm is decomposed in 2 programs, eltm-client
for the client and eltm-server
for the mirror/source maintener to build the eltm.list
file (that's list all packages and checksum).
The upgrade system is based on checksum difference between client & server.
Eltm is originaly created for Proxmox Virtual Environment 5+. That's a Debian based system. You can directly install the client and the server using the enPLS.org APT repository.
To add it :
echo "deb https://repos.enpls.org stable main" >> /etc/apt/sources.list.d/repos.enpls.org.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 257076CC0F90E6F5
apt update
Eltm Client is the part of ELTM that is on your Proxmox or LXC server.
Install the package eltm-client
and run it. It will create the config directory in ${HOME}/.config
/{XDG_CONFIG_HOME}
.
After that add templates sources in ${HOME}/.config/maelg/eltm/mirrors.list
and configure the client using config.ini
in the same folder.
--update
update mirrors.--install <template_name>
install the template <template_name>
.--upgrade
upgrade templatesThis part is for repository mainteners.
Before all you need your own webserver like NGINX, Apache2 or Lighttpd that point to webdir
in your config file (enable directory listing is recomanded).
Install the package eltm-client
. Create a file in ${HOME}/.config/maelg/eltm/server.ini
and add :
[paths]
web = "<path to your web directory>"
--add <template_file_name>
add the template <template_file_name>
in the templates list.--upgrade <template_file_name>
update the template <template_file_name>
in the templates list.Warning : make sur you're in the same folder of the template file, absolute paths don't work for the moment.
gopkg.in/ini.v1
github.com/shibukawa/configdir
github.com/kyokomi/emoji
github.com/dustin/go-humanize
Run ./build.sh
to build binaries for client & server.
Binaries will be outputed in ./build/
This code is under the GNU GENERAL PUBLIC LICENSE version 3 (see LICENSE file)