diff --git a/packer/ova/linux/ubuntu/http/20.04/preseed-efi.cfg b/packer/ova/linux/ubuntu/http/20.04 original/preseed-efi.cfg similarity index 100% rename from packer/ova/linux/ubuntu/http/20.04/preseed-efi.cfg rename to packer/ova/linux/ubuntu/http/20.04 original/preseed-efi.cfg diff --git a/packer/ova/linux/ubuntu/http/20.04/preseed.cfg b/packer/ova/linux/ubuntu/http/20.04 original/preseed.cfg similarity index 100% rename from packer/ova/linux/ubuntu/http/20.04/preseed.cfg rename to packer/ova/linux/ubuntu/http/20.04 original/preseed.cfg diff --git a/packer/ova/linux/ubuntu/http/20.04/meta-data b/packer/ova/linux/ubuntu/http/20.04/meta-data new file mode 100644 index 0000000..e69de29 diff --git a/packer/ova/linux/ubuntu/http/20.04/user-data b/packer/ova/linux/ubuntu/http/20.04/user-data new file mode 100644 index 0000000..3e57f7c --- /dev/null +++ b/packer/ova/linux/ubuntu/http/20.04/user-data @@ -0,0 +1,87 @@ +#cloud-config +# Copyright 2022 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# For more information on how autoinstall is configured, please refer to +# https://ubuntu.com/server/docs/install/autoinstall-reference +autoinstall: + version: 1 + # Disable ssh server during installation, otherwise packer tries to connect and exceed max attempts + early-commands: + - systemctl stop ssh + # Configure the locale + locale: en_US.UTF-8 + keyboard: + layout: us + # Create a single-partition with no swap space. Kubernetes + # really dislikes the idea of anyone else managing memory. + # For more information on how partitioning is configured, + # please refer to https://curtin.readthedocs.io/en/latest/topics/storage.html. + storage: + config: + - type: disk + id: disk-0 + size: largest + grub_device: true + preserve: false + ptable: msdos + wipe: superblock + - type: partition + id: partition-0 + device: disk-0 + size: -1 + number: 1 + preserve: false + flag: boot + - type: format + id: format-0 + volume: partition-0 + fstype: ext4 + preserve: false + - type: mount + id: mount-0 + device: format-0 + path: / + updates: 'all' + ssh: + install-server: true + allow-pw: true + # Customize the list of packages installed. + packages: + - open-vm-tools + # Create the default user. + # Ensures the "builder" user doesn't require a password to use sudo. + user-data: + users: + - name: builder + # openssl passwd -6 -stdin <<< builder + passwd: $6$xyz$UtXVazU08Q5b8AW.TJ3MPYZglyXa3Ttf2RCel8MCUPlEYO1evWxeWBhZ2QqivU/Ij4tqYAxMCqc2ujEM4dMSe1 + groups: [adm, cdrom, dip, plugdev, lxd, sudo] + lock-passwd: false + sudo: ALL=(ALL) NOPASSWD:ALL + shell: /bin/bash + + # This command runs after all other steps; it: + # 1. Disables swapfiles + # 2. Removes the existing swapfile + # 3. Removes the swapfile entry from /etc/fstab + # 4. Cleans up any packages that are no longer required + # 5. Removes the cached list of packages + late-commands: + - swapoff -a + - rm -f /swapfile + - sed -ri '/\sswap\s/s/^#?/#/' /etc/fstab + - apt-get purge --auto-remove -y + - rm -rf /var/lib/apt/lists/*