| 
									
										
										
										
											2023-02-22 21:24:42 +01:00
										 |  |  | #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 | 
					
						
							| 
									
										
										
										
											2023-02-24 09:39:50 +01:00
										 |  |  |       - name: debug | 
					
						
							|  |  |  |         # openssl passwd -6 -stdin <<< builder | 
					
						
							|  |  |  |         passwd: $6$RV/VrJxepcO.hOkg$kaGIJvGcrAEY8y71d2HwXZcbcW7JPc/BIULJ0VQ6BkGZDAX3kWIWcrFaYeGDXWY3LWOfMXZHYcEb6C2/3ai8Y/ | 
					
						
							|  |  |  |         groups: [adm, cdrom, dip, plugdev, lxd, sudo] | 
					
						
							|  |  |  |         lock-passwd: false | 
					
						
							|  |  |  |         sudo: ALL=(ALL) NOPASSWD:ALL | 
					
						
							|  |  |  |         shell: /bin/bash | 
					
						
							| 
									
										
										
										
											2023-02-22 21:24:42 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   # 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/* |