88 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #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/*
 |