diff --git a/scripts/lxd-container/README.adoc b/scripts/lxd-container/README.adoc new file mode 100644 index 000000000..3306982b2 --- /dev/null +++ b/scripts/lxd-container/README.adoc @@ -0,0 +1,10 @@ += Introduction of deployment in LXD +Min Chen +v0.1, 2020-09-18 +:toc: right +:sectnums: +:imagesdir: images + +== Install LXD and disrtibuilder + +== Build LXD container images \ No newline at end of file diff --git a/scripts/lxd-container/build_lxd_container.sh b/scripts/lxd-container/build_lxd_container.sh new file mode 100755 index 000000000..b75f95ff0 --- /dev/null +++ b/scripts/lxd-container/build_lxd_container.sh @@ -0,0 +1,291 @@ +#!/bin/bash + +# MIT License +# Copyright(c) 2020 Futurewei Cloud +# +# Permission is hereby granted, +# free of charge, to any person obtaining a copy of this software and associated documentation files(the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and / or sell copies of the Software, and to permit persons +# to whom the Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +LXD_SCRIPTS_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +ALCOR_ROOT_DIR=$(dirname $(dirname $LXD_SCRIPTS_PATH)) +IGNITE_VERSION="2.10.0" +declare -a services_list=(vpm snm rm pim mm pm nm sgm ag dpm eim qm nam ncm gm) +declare -a ip_list=(10.92.85.101 10.92.85.102 10.92.85.103 10.92.85.104 10.92.85.105 10.92.85.106 10.92.85.107 10.92.85.108 10.92.85.109 10.92.85.110) + +function install_distrobuilder { + echo "Install distrobuilder dependencis" + apt update && \ + apt install -y \ + debootstrap \ + rsync \ + gpg \ + squashfs-tools \ + git + wget https://dl.google.com/go/go1.18.1.linux-amd64.tar.gz && \ + rm -rf /usr/local/go && \ + tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz + rm go1.18.1.linux-amd64.tar.gz + PATH=$PATH:/usr/local/go/bin + git clone https://github.com/lxc/distrobuilder && \ + cd ./distrobuilder && \ + make + cd .. + rm -rf distrobuilder +} + +function init_lxd { + echo "Install LXD" + apt install -y lxd && \ + lxd init +} + +function build_alcor_image () { +tee -a $1/ignite.service > /dev/null < /dev/null < /dev/null + +cd $1 && \ +cp -rp $LXD_SCRIPTS_PATH/apache-ignite-${IGNITE_VERSION}-bin ignite && \ +$HOME/go/bin/distrobuilder build-lxd lxd.yaml && \ +lxc image import lxd.tar.xz rootfs.squashfs --alias ${2} && \ +rm -rf lxd.tar.xz \ + rootfs.squashfs \ + *.service \ + ignite && \ +echo +} + +function config_alcor_service_url () { + sed -i -E "s/('microservices.vpc.service.url'.+)name(.+'9001/')/\1'=http://10.92.85.101:'\2/" ${1}/src/main/resources/application.properties + sed -i -E "s/('microservices.subnet.service.url'.+)name(.+'9002/')/\1'=http://10.92.85.102'\2/" ${1}/src/main/resources/application.properties + sed -i -E "s/('microservices.route.service.url'.+)name(.+'9003/')/\1'=http://10.92.85.103'\2/" ${1}/src/main/resources/application.properties + sed -i -E "s/('microservices.port.service.url'.+)name(.+'9006/')/\1'=http://10.92.85.104'\2/" ${1}/src/main/resources/application.properties + sed -i -E "s/('microservices.sg.service.url'.+)name(.+'9008/')/\1'=http://0.92.85.105'\2/" ${1}/src/main/resources/application.properties + sed -i -E "s/('microservices.elasticip.service.url'.+)name(.+'9011/')/\1'=http://10.92.85.106'\2/" ${1}/src/main/resources/application.properties + sed -i -E "s/('microservices.quota.service.url'.+)name(.+'9012/')/\1'=http://10.92.85.107'\2/" ${1}/src/main/resources/application.properties + sed -i -E "s/('microservices.dpm.service.url'.+)name(.+'9010/')/\1'=http://10.92.85.108'\2/" ${1}/src/main/resources/application.properties +} + +function config_alcor_container_url () { + count=0 + echo "Starting Alcor LXD containers\n" + for i in "${!services_list[@]}"; do + lxc stop "${services_list[$i]}" + lxc network attach $1 "${services_list[$i]}" eth0 eth0 + lxc config device set "${services_list[$i]}" eth0 ipv4.address "${ip_list[$i]}" + lxc start "${services_list[$i]}" + if [[ $? -eq 0 ]]; then count=$((count + 1)); fi + done + echo -e "\n$count services started...\n" +} + +function build_alcor_lxd_images_with_db { + echo "Build Alcor LXD container" + + apt install -y zip + + cd ${ALCOR_ROOT_DIR} + mvn -Dmaven.test.skip=true -DskipTests clean package install + + # download Apache Ignite + cd ${LXD_SCRIPTS_PATH} + wget https://archive.apache.org/dist/ignite/${IGNITE_VERSION}/apache-ignite-${IGNITE_VERSION}-bin.zip + unzip apache-ignite-${IGNITE_VERSION}-bin.zip + rm apache-ignite-${IGNITE_VERSION}-bin.zip + + #build images + + echo "#1 Creating vpc_manager lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/vpc_manager vpm vpcmanager-0.1.0-SNAPSHOT.jar + echo + + echo "#2 Creating subnet_manager lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/subnet_manager snm subnetmanager-0.1.0-SNAPSHOT.jar + echo + + echo "#3 Creating route_manager lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/route_manager rm routemanager-0.1.0-SNAPSHOT.jar + echo + + echo "#4 Creating private_ip_manager lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/subnet_manager pim subnetmanager-0.1.0-SNAPSHOT.jar + echo + + echo "#5 Creating mac_manager lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/mac_manager mm macmanager-0.1.0-SNAPSHOT.jar + echo + + echo "#6 Creating port_manger lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/port_manager pm portmanager-0.1.0-SNAPSHOT.jar + echo + + echo "#7 Creating node_manager lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/node_manager nm nodemanager-0.1.0-SNAPSHOT.jar + echo + + echo "#8 Creating security_group_manager lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/security_group_manager sgm securitygroupmanager-0.1.0-SNAPSHOT.jar + echo + + echo "#9 Creating api_gateway lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/api_gateway ag apigateway-0.1.0-SNAPSHOT.jar + echo + + echo "#10 Creating data_plane_manager lxd image\n" + build_alcor_image $ALCOR_ROOT_DIR/services/data_plane_manager dpm dataplanemanager-0.1.0-SNAPSHOT.jar + + echo "#11 Creating elastic_ip_manager lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/elastic_ip_manager eim elastic_ip_manager-0.1.0-SNAPSHOT.jar + echo + + echo "#12 Creating quoto_manager lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/quota_manager qm quotamanager-0.1.0-SNAPSHOT.jar + echo + + echo "#13 Creating network_acl_manager lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/network_acl_manager nam networkaclmanager-0.1.0-SNAPSHOT.jar + echo + + echo "#14 Creating network_acl_manager lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/network_config_manager ncm networkconfigmanager-0.1.0-SNAPSHOT.jar + echo + + echo "#15 Creating gateway_manager lxd image" + build_alcor_image $ALCOR_ROOT_DIR/services/gateway_manager gm gatewaymanager-0.1.0-SNAPSHOT.jar + echo + + rm -rf $LXD_SCRIPTS_PATH/apache-ignite-2.10.0-bin +} + +function start_lxd_containers { + count=0 + echo "Starting Alcor LXD containers\n" + for service in ${services_list[@]}; do + lxc launch $service $service + sleep 5 + lxc exec $service -- bash -c "chmod +x /root/ignite/bin/ignite.sh" + lxc exec $service -- bash -c "systemctl enable ignite" + lxc exec $service -- bash -c "systemctl enable $service" + lxc exec $service -- bash -c "systemctl start ignite" + lxc exec $service -- bash -c "systemctl start $service" + if [[ $? -eq 0 ]]; then count=$((count + 1)); fi + done + echo -e "\n$count services started...\n" +} + +function stop_lxd_containers { + count=0 + echo "Stoping and Deleting Alcor LXD containers\n" + for service in ${services_list[@]}; do + lxc stop $servicebash + if [[ $? -eq 0 ]]; then count=$((count + 1)); fi + done + echo -e "\n$count services stoped and deleted...\n" +} + +function delete_lxd_containers { + count=0 + echo "Stoping and Deleting Alcor LXD containers\n" + for service in ${services_list[@]}; do + lxc delete $service + if [[ $? -eq 0 ]]; then count=$((count + 1)); fi + done + echo -e "\n$count services stoped and deleted...\n" +} + +function delete_lxd_images { + count=0 + echo "Deleting Alcor LXD images\n" + for service in ${services_list[@]}; do + lxc stop $service $service + lxc delete $service + if [[ $? -eq 0 ]]; then count=$((count + 1)); fi + done + echo -e "\n$count services images stoped...\n" +} + + + +while getopts "iIbsrdD" opt; do +case $opt in + i) + install_distrobuilder + ;; + I) + init_lxd + ;; + b) + build_alcor_lxd_images_with_db + ;; + s) + start_lxd_containers + ;; + r) + stop_lxd_containers + ;; + d) + delete_lxd_containers + ;; + D) + delete_lxd_images + ;; + \?) + echo "Invalid arguements" + ;; +esac +done + +if [ $OPTIND -eq 1 ]; then + echo "Build and start containers" + stop_lxd_containers + delete_lxd_images + build_alcor_lxd_images_with_db + start_lxd_containers +fi +shift $((OPTIND-1)) \ No newline at end of file diff --git a/services/api_gateway/lxd.yaml b/services/api_gateway/lxd.yaml new file mode 100644 index 000000000..731c62c00 --- /dev/null +++ b/services/api_gateway/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/apigateway-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/apigateway-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/ag.service + generator: copy + source: ./ag.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/data_plane_manager/lxd.yaml b/services/data_plane_manager/lxd.yaml new file mode 100644 index 000000000..2ca3472a7 --- /dev/null +++ b/services/data_plane_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/dataplanemanager-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/dataplanemanager-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/dpm.service + generator: copy + source: ./dpm.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/elastic_ip_manager/lxd.yaml b/services/elastic_ip_manager/lxd.yaml new file mode 100644 index 000000000..0a30feeb7 --- /dev/null +++ b/services/elastic_ip_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/elasticipmanager-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/elasticipmanager-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/eim.service + generator: copy + source: ./eim.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/gateway_manager/lxd.yaml b/services/gateway_manager/lxd.yaml new file mode 100644 index 000000000..dcb758dcd --- /dev/null +++ b/services/gateway_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/gatewaymanager-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/gatewaymanager-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/gm.service + generator: copy + source: ./gm.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/mac_manager/lxd.yaml b/services/mac_manager/lxd.yaml new file mode 100644 index 000000000..0e9f58a77 --- /dev/null +++ b/services/mac_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/macmanager-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/macmanager-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/mm.service + generator: copy + source: ./mm.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/network_acl_manager/lxd.yaml b/services/network_acl_manager/lxd.yaml new file mode 100644 index 000000000..a5c6ba545 --- /dev/null +++ b/services/network_acl_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/network-acl-manager-0.0.1-SNAPSHOT.jar + generator: copy + source: ./target/network-acl-manager-0.0.1-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/nam.service + generator: copy + source: ./nam.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/network_config_manager/lxd.yaml b/services/network_config_manager/lxd.yaml new file mode 100644 index 000000000..046615307 --- /dev/null +++ b/services/network_config_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/networkconfigmanager-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/networkconfigmanager-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/ncm.service + generator: copy + source: ./ncm.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/node_manager/lxd.yaml b/services/node_manager/lxd.yaml new file mode 100644 index 000000000..d53f23d0a --- /dev/null +++ b/services/node_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/nodemanager-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/nodemanager-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/nm.service + generator: copy + source: ./nm.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/port_manager/lxd.yaml b/services/port_manager/lxd.yaml new file mode 100644 index 000000000..ef267ebaa --- /dev/null +++ b/services/port_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/portmanager-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/portmanager-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/pm.service + generator: copy + source: ./pm.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/private_ip_manager/lxd.yaml b/services/private_ip_manager/lxd.yaml new file mode 100644 index 000000000..468ec9923 --- /dev/null +++ b/services/private_ip_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/privateipmanager-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/privateipmanager-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/pim.service + generator: copy + source: ./pim.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/quota_manager/lxd.yaml b/services/quota_manager/lxd.yaml new file mode 100644 index 000000000..adf0a1729 --- /dev/null +++ b/services/quota_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/quotamanager-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/quotamanager-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/qm.service + generator: copy + source: ./qm.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/route_manager/lxd.yaml b/services/route_manager/lxd.yaml new file mode 100644 index 000000000..210f561ec --- /dev/null +++ b/services/route_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/routemanager-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/routemanager-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/rm.service + generator: copy + source: ./rm.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/security_group_manager/lxd.yaml b/services/security_group_manager/lxd.yaml new file mode 100644 index 000000000..6b3bb04c1 --- /dev/null +++ b/services/security_group_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/securitygroupmanager-0.0.1-SNAPSHOT.jar + generator: copy + source: ./target/securitygroupmanager-0.0.1-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/sgm.service + generator: copy + source: ./sgm.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/subnet_manager/lxd.yaml b/services/subnet_manager/lxd.yaml new file mode 100644 index 000000000..ae5b1247c --- /dev/null +++ b/services/subnet_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/subnetmanager-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/subnetmanager-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/snm.service + generator: copy + source: ./snm.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file diff --git a/services/vpc_manager/lxd.yaml b/services/vpc_manager/lxd.yaml new file mode 100644 index 000000000..cae3a377c --- /dev/null +++ b/services/vpc_manager/lxd.yaml @@ -0,0 +1,214 @@ +image: + name: ubuntu-disco-x86_64 + distribution: ubuntu + release: bionic + description: |- + Ubuntu {{ image.release }} + architecture: x86_64 + +source: + downloader: debootstrap + same_as: gutsy + url: http://archive.ubuntu.com/ubuntu + keyserver: keyserver.ubuntu.com + keys: + - 0x790BC7277767219C42C86F933B4FE6ACC0B21F32 + - 0xf6ecb3762474eda9d21b7022871920d1991bc93c + +targets: + lxc: + create-message: |- + You just created an {{ image.description }} container. + + To enable SSH, run: apt install openssh-server + No default root or user password are set by LXC. + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/ubuntu.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_personality }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /etc/resolvconf/resolv.conf.d/original + generator: remove + +- path: /etc/resolvconf/resolv.conf.d/tail + generator: remove + +- path: /etc/machine-id + generator: dump + +- path: /etc/user/profile + generator: copy + source: /etc/profile + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + eth0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - container + variants: + - default + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + network: + version: 2 + ethernets: + enp5s0: + dhcp4: true + dhcp-identifier: mac + releases: + - bionic + - eoan + - focal + - groovy + - hirsute + - impish + - jammy + types: + - vm + variants: + - default + +- name: meta-data + generator: cloud-init + variants: + - cloud + +- name: network-config + generator: cloud-init + variants: + - cloud + +- name: user-data + generator: cloud-init + variants: + - cloud + +- name: vendor-data + generator: cloud-init + variants: + - cloud + +- name: ext4 + generator: fstab + types: + - vm + +- name: lxd-agent + generator: lxd-agent + types: + - vm + +- path: /etc/default/grub.d/50-lxd.cfg + generator: dump + content: |- + GRUB_RECORDFAIL_TIMEOUT=0 + GRUB_TIMEOUT=0 + GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} console=tty1 console=ttyS0" + GRUB_TERMINAL=console + types: + - vm + +- path: /etc/sudoers.d/90-lxd + generator: dump + mode: 0440 + content: |- + # User rules for ubuntu + ubuntu ALL=(ALL) NOPASSWD:ALL + variants: + - default + +- path: /root/vpcmanager-0.1.0-SNAPSHOT.jar + generator: copy + source: ./target/vpcmanager-0.1.0-SNAPSHOT.jar + +- path: /root/ignite + generator: copy + source: ./ignite + +- path: /etc/systemd/system/vpm.service + generator: copy + source: ./vpm.service + +- path: /etc/systemd/system/ignite.service + generator: copy + source: ./ignite.service + +packages: + manager: apt + update: true + cleanup: true + sets: + - packages: + - openssh-client + - vim + - openjdk-11-jre + action: install + + repositories: + - name: sources.list + url: |- + deb http://archive.ubuntu.com/ubuntu {{ image.release }} main restricted universe multiverse + deb http://archive.ubuntu.com/ubuntu {{ image.release }}-updates main restricted universe multiverse + deb http://security.ubuntu.com/ubuntu {{ image.release }}-security main restricted universe multiverse + architectures: + - amd64 + +# TODO: actions part is provided by official but not working +# actions: +# - trigger: post-files +# action: |- +# #!/bin/bash +# chmod +x /root/ignite/bin/ignite.sh +# systemctl daemon-reload +# systemctl enable ignite +# systemctl enable dpm + + +mappings: + architecture_map: debian \ No newline at end of file