diff --git a/.gitignore b/.gitignore index bc5489d70edc0e63da9ad6d9d322200c013a3947..b3267192c4614a8a574f523fd45e2734ff62365d 100644 --- a/.gitignore +++ b/.gitignore @@ -18,8 +18,8 @@ log/ # packer packer_cache/ output/ -packer/custom/* -!packer/custom/example.yml +packer/* +!packer/example.json # ide .vscode/ diff --git a/Makefile b/Makefile index 8975bf745554e596a10fa1c4c23ffba8011e021c..d61687bb53c1761e313c82846e940848b70ca59e 100644 --- a/Makefile +++ b/Makefile @@ -78,12 +78,12 @@ image-validate: ifndef build $(error build is undefined) endif - cat $(build) | ./packer/scripts/yml2json | packer validate - + packer validate $(build) .PHONY: image ## image: Run Packer image build : build=<path-to-packer-file> image: image-validate - cat $(build) | ./packer/scripts/yml2json | packer build -force - + packer build -force $(build) .PHONY: docker-build ## docker-build: Run docker image build for CI and devcontainer diff --git a/inventories/example/hosts b/inventories/example/hosts index 760a16dae7118c2ba24995945318566f87c2861c..1acf9be5a377e816c4dd7f026db8229372da937b 100644 --- a/inventories/example/hosts +++ b/inventories/example/hosts @@ -29,9 +29,10 @@ mymediaserver [worker] mymediaworker -[vault] - [import] +mymediaserver + +[vault] [netcapture] diff --git a/packer/aio.yml b/packer/aio.yml deleted file mode 100644 index cdd6bacde5cb2bb87743d2be062bc0bdb047b0b4..0000000000000000000000000000000000000000 --- a/packer/aio.yml +++ /dev/null @@ -1,80 +0,0 @@ ---- - -# build trigger: 201907171352 - -variables: - ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}" - esx_host: "{{ env `PACKER_ESX_HOST` }}" - esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}" - esx_username: "{{ env `PACKER_ESX_USERNAME` }}" - esx_password: "{{ env `PACKER_ESX_PASSWORD` }}" - network_ip: "{{ env `NETWORK_IP` }}" - network_mask: "{{ env `NETWORK_MASK` }}" - network_gateway: "{{ env `NETWORK_GATEWAY` }}" - network_dns: "{{ env `NETWORK_DNS` }}" - skyreach_system_key: "{{ env `SKYREACH_SYSTEM_KEY` }}" - -builders: - - type: vmware-iso - vm_name: ubicast-aio - display_name: ubicast-aio - output_directory: output - guest_os_type: debian10-64 - iso_urls: - - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315 - iso_checksum_type: sha512 - remote_type: esx5 - remote_host: "{{ user `esx_host` }}" - remote_datastore: "{{ user `esx_datastore` }}" - remote_username: "{{ user `esx_username` }}" - remote_password: "{{ user `esx_password` }}" - format: ova - tools_upload_flavor: linux - vnc_disable_password: true - cpus: 2 - memory: 2048 - vmx_data: - ethernet0.networkName: VM Network - boot_command: - - "<esc><wait>" - - "/install.amd/vmlinuz " - - "initrd=/install.amd/initrd.gz " - - "hostname={{ .Name }} " - - "domain= " - - "auto=true " - - "url=https://www.ubicast.eu/media/downloads/sys/preseed.cfg " - - "vga=788 noprompt quiet --<enter>" - ssh_username: root - ssh_password: ubicast - ssh_timeout: 15m - headless: false - shutdown_command: shutdown -P now - -provisioners: - - type: shell - pause_before: 10s - environment_vars: - - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }} - scripts: - - packer/scripts/root.sh - - packer/scripts/upgrade.sh - - type: ansible - ansible_env_vars: - - NETWORK_IP={{ user `network_ip` }} - - NETWORK_MASK={{ user `network_mask` }} - - NETWORK_GATEWAY={{ user `network_gateway` }} - - NETWORK_DNS={{ user `network_dns` }} - - SKYREACH_SYSTEM_KEY={{ user `skyreach_system_key` }} - playbook_file: site.yml - groups: - - monitor - - postgres - - manager - - wowza - - celerity - - server - - worker - -... diff --git a/packer/base.yml b/packer/base.yml deleted file mode 100644 index 0f1f55a83961175bee4a8c0e7d619b66390695af..0000000000000000000000000000000000000000 --- a/packer/base.yml +++ /dev/null @@ -1,69 +0,0 @@ ---- - -# build trigger: 201907171352 - -variables: - ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}" - esx_host: "{{ env `PACKER_ESX_HOST` }}" - esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}" - esx_username: "{{ env `PACKER_ESX_USERNAME` }}" - esx_password: "{{ env `PACKER_ESX_PASSWORD` }}" - -builders: - - type: vmware-iso - vm_name: ubicast-base - display_name: ubicast-base - output_directory: output - guest_os_type: debian10-64 - iso_urls: - - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315 - iso_checksum_type: sha512 - remote_type: esx5 - remote_host: "{{ user `esx_host` }}" - remote_datastore: "{{ user `esx_datastore` }}" - remote_username: "{{ user `esx_username` }}" - remote_password: "{{ user `esx_password` }}" - format: ova - tools_upload_flavor: linux - vnc_disable_password: true - cpus: 2 - memory: 2048 - vmx_data: - ethernet0.networkName: VM Network - boot_command: - - "<esc><wait>" - - "/install.amd/vmlinuz " - - "initrd=/install.amd/initrd.gz " - - "hostname={{ .Name }} " - - "domain= " - - "auto=true " - - "url=https://www.ubicast.eu/media/downloads/sys/preseed.cfg " - - "vga=788 noprompt quiet --<enter>" - ssh_username: root - ssh_password: ubicast - ssh_timeout: 15m - headless: false - shutdown_command: shutdown -P now - -provisioners: - - type: file - source: packer/files/root.cfg - destination: /tmp/99_root.cfg - - type: shell - expect_disconnect: true - pause_before: 10s - environment_vars: - - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }} - scripts: - - packer/scripts/root.sh - - packer/scripts/upgrade.sh - - packer/scripts/upgrade-buster.sh - - packer/scripts/reboot.sh - - type: shell - pause_before: 30s - scripts: - - packer/scripts/cleanup-buster.sh - -... diff --git a/packer/celerity.yml b/packer/celerity.yml deleted file mode 100644 index 58fc059a12dc1602b7c133c8f05f093b24a200aa..0000000000000000000000000000000000000000 --- a/packer/celerity.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- - -# build trigger: 201907171352 - -variables: - ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}" - esx_host: "{{ env `PACKER_ESX_HOST` }}" - esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}" - esx_username: "{{ env `PACKER_ESX_USERNAME` }}" - esx_password: "{{ env `PACKER_ESX_PASSWORD` }}" - network_ip: "{{ env `NETWORK_IP` }}" - network_mask: "{{ env `NETWORK_MASK` }}" - network_gateway: "{{ env `NETWORK_GATEWAY` }}" - network_dns: "{{ env `NETWORK_DNS` }}" - skyreach_system_key: "{{ env `SKYREACH_SYSTEM_KEY` }}" - -builders: - - type: vmware-iso - vm_name: ubicast-celerity - display_name: ubicast-celerity - output_directory: output - guest_os_type: debian10-64 - iso_urls: - - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315 - iso_checksum_type: sha512 - remote_type: esx5 - remote_host: "{{ user `esx_host` }}" - remote_datastore: "{{ user `esx_datastore` }}" - remote_username: "{{ user `esx_username` }}" - remote_password: "{{ user `esx_password` }}" - format: ova - tools_upload_flavor: linux - vnc_disable_password: true - cpus: 2 - memory: 2048 - vmx_data: - ethernet0.networkName: VM Network - boot_command: - - "<esc><wait>" - - "/install.amd/vmlinuz " - - "initrd=/install.amd/initrd.gz " - - "hostname={{ .Name }} " - - "domain= " - - "auto=true " - - "url=https://www.ubicast.eu/media/downloads/sys/preseed.cfg " - - "vga=788 noprompt quiet --<enter>" - ssh_username: root - ssh_password: ubicast - ssh_timeout: 15m - headless: false - shutdown_command: shutdown -P now - -provisioners: - - type: shell - pause_before: 10s - environment_vars: - - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }} - scripts: - - packer/scripts/root.sh - - packer/scripts/upgrade.sh - - type: ansible - ansible_env_vars: - - NETWORK_IP={{ user `network_ip` }} - - NETWORK_MASK={{ user `network_mask` }} - - NETWORK_GATEWAY={{ user `network_gateway` }} - - NETWORK_DNS={{ user `network_dns` }} - - SKYREACH_SYSTEM_KEY={{ user `skyreach_system_key` }} - playbook_file: playbooks/celerity.yml - groups: - - celerity - -... diff --git a/packer/custom/example.yml b/packer/custom/example.yml deleted file mode 100644 index 7b04dc7474d8a668f226b24fc5fff66af68cc8c4..0000000000000000000000000000000000000000 --- a/packer/custom/example.yml +++ /dev/null @@ -1,84 +0,0 @@ ---- - -variables: - name: "{{ env `PACKER_NAME` }}" - ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}" - esx_host: "{{ env `PACKER_ESX_HOST` }}" - esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}" - esx_username: "{{ env `PACKER_ESX_USERNAME` }}" - esx_password: "{{ env `PACKER_ESX_PASSWORD` }}" - network_ip: "{{ env `NETWORK_IP` }}" - network_mask: "{{ env `NETWORK_MASK` }}" - network_gateway: "{{ env `NETWORK_GATEWAY` }}" - network_dns: "{{ env `NETWORK_DNS` }}" - skyreach_system_key: "{{ env `SKYREACH_SYSTEM_KEY` }}" - -builders: - - type: vmware-iso - vm_name: ubicast-{{ user `name` }} - display_name: ubicast-{{ user `name` }} - output_directory: output - guest_os_type: debian10-64 - iso_urls: - - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315 - iso_checksum_type: sha512 - remote_type: esx5 - remote_host: "{{ user `esx_host` }}" - remote_datastore: "{{ user `esx_datastore` }}" - remote_username: "{{ user `esx_username` }}" - remote_password: "{{ user `esx_password` }}" - format: ova - tools_upload_flavor: linux - vnc_disable_password: true - cpus: 2 - memory: 2048 - disk_type_id: zeroedthick - skip_compaction: true - vmx_data: - ethernet0.networkName: VM Network - boot_command: - - "<esc><wait>" - - "/install.amd/vmlinuz " - - "initrd=/install.amd/initrd.gz " - - "hostname={{ .Name }} " - - "domain= " - - "auto=true " - - "url=https://nextcloud.ubicast.net/s/LEcyMWG9BnKsrHX/download?path=%2F&files=preseed.cfg " - - "vga=788 noprompt quiet --<enter>" - ssh_username: root - ssh_password: ubicast - ssh_timeout: 15m - headless: false - shutdown_command: shutdown -P now - # Uncomment if you have to do custom/manual export: - # keep_registered: true - # skip_export: true - -provisioners: - - type: shell - pause_before: 10s - environment_vars: - - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }} - scripts: - - packer/scripts/root.sh - - packer/scripts/upgrade.sh - - type: ansible - ansible_env_vars: - - NETWORK_IP={{ user `network_ip` }} - - NETWORK_MASK={{ user `network_mask` }} - - NETWORK_GATEWAY={{ user `network_gateway` }} - - NETWORK_DNS={{ user `network_dns` }} - - SKYREACH_SYSTEM_KEY={{ user `skyreach_system_key` }} - playbook_file: site.yml - groups: - - monitor - - postgres - - manager - - wowza - - celerity - - server - - worker - -... diff --git a/packer/example.json b/packer/example.json new file mode 100644 index 0000000000000000000000000000000000000000..d4ea114a4b90e4526055a66e4dd042dcdf12072e --- /dev/null +++ b/packer/example.json @@ -0,0 +1,93 @@ +{ + "variables": { + "name": "mymediaserver", + "esx_host": "192.168.41.167", + "esx_datastore": "datastore2", + "esx_username": "root", + "esx_password": "topsecretpassword", + "network_ip": "10.0.0.51", + "network_mask": "24", + "network_gateway": "10.0.0.1", + "network_dns": "10.0.0.2,10.0.0.3", + "skyreach_system_key": "mytopscecretsystemkey", + "skyreach_activation_key": "mytopscecretactivationkey" + }, + "builders": [ + { + "type": "vmware-iso", + "vm_name": "ubicast-{{ user `name` }}", + "display_name": "ubicast-{{ user `name` }}", + "output_directory": "output", + "guest_os_type": "debian10-64", + "iso_urls": [ + "http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.3.0-amd64-netinst.iso", + "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.3.0-amd64-netinst.iso" + ], + "iso_checksum": "08962831a26cad19ac5e1418a5f907a907d375c6d51be608281f5b733c248d7bd4008439af224f3d52df2e500f38e939e1bd46dd9371b2bdc7101b0efcb65634", + "iso_checksum_type": "sha512", + "remote_type": "esx5", + "remote_host": "{{ user `esx_host` }}", + "remote_datastore": "{{ user `esx_datastore` }}", + "remote_username": "{{ user `esx_username` }}", + "remote_password": "{{ user `esx_password` }}", + "format": "ova", + "tools_upload_flavor": "linux", + "vnc_disable_password": true, + "cpus": 2, + "memory": 2048, + "disk_type_id": "zeroedthick", + "skip_compaction": true, + "vmx_data": { + "ethernet0.networkName": "VM Network" + }, + "boot_command": [ + "<esc><wait>", + "/install.amd/vmlinuz ", + "initrd=/install.amd/initrd.gz ", + "hostname={{ .Name }} ", + "domain= ", + "auto=true ", + "url=https://nextcloud.ubicast.net/s/LEcyMWG9BnKsrHX/download?path=%2F&files=preseed.cfg ", + "vga=788 noprompt quiet --<enter>" + ], + "ssh_username": "root", + "ssh_password": "ubicast", + "ssh_timeout": "15m", + "headless": false, + "shutdown_command": "shutdown -P now" + } + ], + "provisioners": [ + { + "type": "shell", + "pause_before": "10s", + "scripts": [ + "packer/scripts/root.sh", + "packer/scripts/upgrade.sh" + ] + }, + { + "type": "ansible", + "ansible_env_vars": [ + "ANSIBLE_CONFIG=ansible.cfg", + "ANSIBLE_STDOUT_CALLBACK=debug" + ], + "extra_arguments": [ + "--extra-vars", "network_apply=true network_ip={{ user `network_ip` }} network_mask={{ user `network_mask` }} network_gateway={{ user `network_gateway` }} network_dns={{ user `network_dns` }}", + "--extra-vars", "skyreach_system_key={{ user `skyreach_system_key` }}", + "--extra-vars", "skyreach_activation_key={{ user `skyreach_activation_key` }}" + ], + "playbook_file": "site.yml", + "groups": [ + "monitor", + "postgres", + "manager", + "wowza", + "celerity", + "server", + "worker", + "import" + ] + } + ] +} diff --git a/packer/manager.yml b/packer/manager.yml deleted file mode 100644 index 7e7ea5a682a5dc20419688a0fa29597bcc8582aa..0000000000000000000000000000000000000000 --- a/packer/manager.yml +++ /dev/null @@ -1,75 +0,0 @@ ---- - -# build trigger: 201907171352 - -variables: - ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}" - esx_host: "{{ env `PACKER_ESX_HOST` }}" - esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}" - esx_username: "{{ env `PACKER_ESX_USERNAME` }}" - esx_password: "{{ env `PACKER_ESX_PASSWORD` }}" - network_ip: "{{ env `NETWORK_IP` }}" - network_mask: "{{ env `NETWORK_MASK` }}" - network_gateway: "{{ env `NETWORK_GATEWAY` }}" - network_dns: "{{ env `NETWORK_DNS` }}" - skyreach_system_key: "{{ env `SKYREACH_SYSTEM_KEY` }}" - -builders: - - type: vmware-iso - vm_name: ubicast-manager - display_name: ubicast-manager - output_directory: output - guest_os_type: debian10-64 - iso_urls: - - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315 - iso_checksum_type: sha512 - remote_type: esx5 - remote_host: "{{ user `esx_host` }}" - remote_datastore: "{{ user `esx_datastore` }}" - remote_username: "{{ user `esx_username` }}" - remote_password: "{{ user `esx_password` }}" - format: ova - tools_upload_flavor: linux - vnc_disable_password: true - cpus: 2 - memory: 2048 - vmx_data: - ethernet0.networkName: VM Network - boot_command: - - "<esc><wait>" - - "/install.amd/vmlinuz " - - "initrd=/install.amd/initrd.gz " - - "hostname={{ .Name }} " - - "domain= " - - "auto=true " - - "url=https://www.ubicast.eu/media/downloads/sys/preseed.cfg " - - "vga=788 noprompt quiet --<enter>" - ssh_username: root - ssh_password: ubicast - ssh_timeout: 15m - headless: false - shutdown_command: shutdown -P now - -provisioners: - - type: shell - pause_before: 10s - environment_vars: - - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }} - scripts: - - packer/scripts/root.sh - - packer/scripts/upgrade.sh - - type: ansible - ansible_env_vars: - - NETWORK_IP={{ user `network_ip` }} - - NETWORK_MASK={{ user `network_mask` }} - - NETWORK_GATEWAY={{ user `network_gateway` }} - - NETWORK_DNS={{ user `network_dns` }} - - SKYREACH_SYSTEM_KEY={{ user `skyreach_system_key` }} - playbook_file: playbooks/manager.yml - groups: - - postgres - - manager - -... diff --git a/packer/scripts/cleanup-buster.sh b/packer/scripts/cleanup-buster.sh deleted file mode 100644 index f96b0da5ae05d6eb626f9d6972b5029f4c868c7d..0000000000000000000000000000000000000000 --- a/packer/scripts/cleanup-buster.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env bash - -export DEBIAN_FRONTEND=noninteractive -export UCF_FORCE_CONFFNEW=1 -export APT="DEBIAN_FRONTEND=noninteractive apt-get -y -q -o Dpkg::Options::=--force-confnew" - -sudo $APT autoremove --purge - -sudo $APT --auto-remove purge \ - awscli \ - gcc-6-base \ - initscripts \ - insserv \ - linux-image-4.9.* \ - nano \ - python2 \ - startpar \ - sysv-rc \ - || : - -while [ "$(deborphan)" ]; do - sudo $APT --auto-remove purge $(deborphan) -done - -if [ "$(dpkg -l | grep ^rc | awk '{ print $2 }')" ]; then - dpkg -l | grep ^rc | awk '{ print $2 }' | sudo dpkg -P -fi - -exit 0 diff --git a/packer/scripts/reboot.sh b/packer/scripts/reboot.sh deleted file mode 100644 index 43ebe36931aed8637e2dcd2a1ff99ed4f8455c90..0000000000000000000000000000000000000000 --- a/packer/scripts/reboot.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -sudo shutdown -r now - -exit 0 diff --git a/packer/scripts/root.sh b/packer/scripts/root.sh index cfa8e1961eca7c589010a394637427bebb6ace82..7e37a363448f5e2b4fce9c38b1ee4326d520becf 100644 --- a/packer/scripts/root.sh +++ b/packer/scripts/root.sh @@ -2,13 +2,6 @@ sudo mkdir -p /root/.ssh sudo chmod 700 /root/.ssh -echo -e $PACKER_SSH_AUTH_KEYS | sudo tee /root/.ssh/authorized_keys - -sudo mkdir -p /etc/cloud/cloud.cfg.d -if [ -f /tmp/99_root.cfg ]; then - sudo mv /tmp/99_root.cfg /etc/cloud/cloud.cfg.d/99_root.cfg - sudo chown root:root /etc/cloud/cloud.cfg.d/99_root.cfg - sudo chmod 644 /etc/cloud/cloud.cfg.d/99_root.cfg -fi +curl -fLSs 'https://nextcloud.ubicast.net/s/LEcyMWG9BnKsrHX/download?path=%2F&files=support.pub' -o /root/.ssh/authorized_keys exit 0 diff --git a/packer/scripts/upgrade-buster.sh b/packer/scripts/upgrade-buster.sh deleted file mode 100644 index 358cf96516976eca0e40e4febe2d1b503bbaca54..0000000000000000000000000000000000000000 --- a/packer/scripts/upgrade-buster.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -export DEBIAN_FRONTEND=noninteractive -export UCF_FORCE_CONFFNEW=1 -export APT="DEBIAN_FRONTEND=noninteractive apt-get -y -q -o Dpkg::Options::=--force-confnew" - -sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list - -sudo $APT update -sudo $APT upgrade -sudo $APT dist-upgrade - -exit 0 diff --git a/packer/scripts/upgrade.sh b/packer/scripts/upgrade.sh index 35073e85f4b31f9f885ef1149d485b8fb325fb5a..8680ab016e89e353ee37f6a561f8949258a899ce 100644 --- a/packer/scripts/upgrade.sh +++ b/packer/scripts/upgrade.sh @@ -6,7 +6,7 @@ export APT="DEBIAN_FRONTEND=noninteractive apt-get -y -q -o Dpkg::Options::=--fo sudo $APT purge unattended-upgrades sudo $APT update -sudo $APT install apt-utils deborphan git +sudo $APT install apt-utils sudo $APT dist-upgrade exit 0 diff --git a/packer/scripts/yml2json b/packer/scripts/yml2json deleted file mode 100755 index b56f08a8e7ac3586255c9b594a853d85b0c94c80..0000000000000000000000000000000000000000 --- a/packer/scripts/yml2json +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env python3 - -import json -import sys -import yaml - -y = yaml.safe_load(sys.stdin.read()) -print(json.dumps(y)) diff --git a/packer/server.yml b/packer/server.yml deleted file mode 100644 index f821ad675059b319e7114262da825c40bf391176..0000000000000000000000000000000000000000 --- a/packer/server.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- - -# build trigger: 201907171352 - -variables: - ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}" - esx_host: "{{ env `PACKER_ESX_HOST` }}" - esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}" - esx_username: "{{ env `PACKER_ESX_USERNAME` }}" - esx_password: "{{ env `PACKER_ESX_PASSWORD` }}" - network_ip: "{{ env `NETWORK_IP` }}" - network_mask: "{{ env `NETWORK_MASK` }}" - network_gateway: "{{ env `NETWORK_GATEWAY` }}" - network_dns: "{{ env `NETWORK_DNS` }}" - skyreach_system_key: "{{ env `SKYREACH_SYSTEM_KEY` }}" - -builders: - - type: vmware-iso - vm_name: ubicast-server - display_name: ubicast-server - output_directory: output - guest_os_type: debian10-64 - iso_urls: - - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315 - iso_checksum_type: sha512 - remote_type: esx5 - remote_host: "{{ user `esx_host` }}" - remote_datastore: "{{ user `esx_datastore` }}" - remote_username: "{{ user `esx_username` }}" - remote_password: "{{ user `esx_password` }}" - format: ova - tools_upload_flavor: linux - vnc_disable_password: true - cpus: 2 - memory: 2048 - vmx_data: - ethernet0.networkName: VM Network - boot_command: - - "<esc><wait>" - - "/install.amd/vmlinuz " - - "initrd=/install.amd/initrd.gz " - - "hostname={{ .Name }} " - - "domain= " - - "auto=true " - - "url=https://www.ubicast.eu/media/downloads/sys/preseed.cfg " - - "vga=788 noprompt quiet --<enter>" - ssh_username: root - ssh_password: ubicast - ssh_timeout: 15m - headless: false - shutdown_command: shutdown -P now - -provisioners: - - type: shell - pause_before: 10s - environment_vars: - - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }} - scripts: - - packer/scripts/root.sh - - packer/scripts/upgrade.sh - - type: ansible - ansible_env_vars: - - NETWORK_IP={{ user `network_ip` }} - - NETWORK_MASK={{ user `network_mask` }} - - NETWORK_GATEWAY={{ user `network_gateway` }} - - NETWORK_DNS={{ user `network_dns` }} - - SKYREACH_SYSTEM_KEY={{ user `skyreach_system_key` }} - playbook_file: playbooks/server.yml - groups: - - monitor - - postgres - - server - -... diff --git a/packer/worker.yml b/packer/worker.yml deleted file mode 100644 index aff48f1daf07a141f3f3a733a6af3b81eba5272f..0000000000000000000000000000000000000000 --- a/packer/worker.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- - -# build trigger: 201907171352 - -variables: - ssh_auth_keys: "{{ env `PACKER_SSH_AUTH_KEYS` }}" - esx_host: "{{ env `PACKER_ESX_HOST` }}" - esx_datastore: "{{ env `PACKER_ESX_DATASTORE` }}" - esx_username: "{{ env `PACKER_ESX_USERNAME` }}" - esx_password: "{{ env `PACKER_ESX_PASSWORD` }}" - network_ip: "{{ env `NETWORK_IP` }}" - network_mask: "{{ env `NETWORK_MASK` }}" - network_gateway: "{{ env `NETWORK_GATEWAY` }}" - network_dns: "{{ env `NETWORK_DNS` }}" - skyreach_system_key: "{{ env `SKYREACH_SYSTEM_KEY` }}" - -builders: - - type: vmware-iso - vm_name: ubicast-worker - display_name: ubicast-worker - output_directory: output - guest_os_type: debian10-64 - iso_urls: - - http://debian.univ-lorraine.fr/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso - iso_checksum: 23237b0a100a860b3dc7ffcfb5baae4bed5460ac5f3f2b929df3154f3319b9809055b695264586f60289cc6cb25077c12938cc612fee01756bfa779c87d5a315 - iso_checksum_type: sha512 - remote_type: esx5 - remote_host: "{{ user `esx_host` }}" - remote_datastore: "{{ user `esx_datastore` }}" - remote_username: "{{ user `esx_username` }}" - remote_password: "{{ user `esx_password` }}" - format: ova - tools_upload_flavor: linux - vnc_disable_password: true - cpus: 2 - memory: 2048 - vmx_data: - ethernet0.networkName: VM Network - boot_command: - - "<esc><wait>" - - "/install.amd/vmlinuz " - - "initrd=/install.amd/initrd.gz " - - "hostname={{ .Name }} " - - "domain= " - - "auto=true " - - "url=https://www.ubicast.eu/media/downloads/sys/preseed.cfg " - - "vga=788 noprompt quiet --<enter>" - ssh_username: root - ssh_password: ubicast - ssh_timeout: 15m - headless: false - shutdown_command: shutdown -P now - -provisioners: - - type: shell - pause_before: 10s - environment_vars: - - PACKER_SSH_AUTH_KEYS={{ user `ssh_auth_keys` }} - scripts: - - packer/scripts/root.sh - - packer/scripts/upgrade.sh - - type: ansible - ansible_env_vars: - - NETWORK_IP={{ user `network_ip` }} - - NETWORK_MASK={{ user `network_mask` }} - - NETWORK_GATEWAY={{ user `network_gateway` }} - - NETWORK_DNS={{ user `network_dns` }} - - SKYREACH_SYSTEM_KEY={{ user `skyreach_system_key` }} - playbook_file: playbooks/worker.yml - groups: - - worker - -... diff --git a/roles/conf/defaults/main.yml b/roles/conf/defaults/main.yml index 9188e90d25850701120a80d2ec88d3e13d34bffd..f2494667b9efe88b77d9aba2c399eb9a7b8f905d 100644 --- a/roles/conf/defaults/main.yml +++ b/roles/conf/defaults/main.yml @@ -3,6 +3,7 @@ conf_req_packages: - ca-certificates - git + - git-lfs - ssh-client conf_repo_url: https://mirismanager.ubicast.eu/git/mediaserver/envsetup.git