This commit is contained in:
		| @@ -1 +1 @@ | ||||
| # Packer.Images [](https://ci.spamasaurus.com/djpbessems/Packer.Images) | ||||
| # Packer.Images [](https://ci.spamasaurus.com/djpbessems/Packer.Images) | ||||
|   | ||||
| @@ -1,7 +1,10 @@ | ||||
| --- | ||||
| - hosts: all | ||||
|   gather_facts: false | ||||
|   group_vars: | ||||
|     - metacluster.yml | ||||
|   become: true | ||||
|   roles: | ||||
|     - os | ||||
|     - firstboot | ||||
|     - metacluster | ||||
|   | ||||
							
								
								
									
										11
									
								
								ansible/roles/bootstrap/tasks/dependencies.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								ansible/roles/bootstrap/tasks/dependencies.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| - name: Create folder structure | ||||
|   ansible.builtin.file: | ||||
|     path: "{{ item }}" | ||||
|     state: directory | ||||
|   loop: | ||||
|     - /opt/x | ||||
|  | ||||
| - name: Install ansible-galaxy collection | ||||
|   ansible.builtin.shell: | ||||
|     cmd: "ansible-galaxy collection install {{ item }}" | ||||
|   loop: "{{ dependencies.ansible_galaxy_collections }}" | ||||
							
								
								
									
										2
									
								
								ansible/roles/bootstrap/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								ansible/roles/bootstrap/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| - name: XYZ | ||||
|   import_tasks: foo.yml | ||||
| @@ -2,6 +2,7 @@ | ||||
|   ansible.builtin.file: | ||||
|     path: /opt/firstboot | ||||
|     state: directory | ||||
|  | ||||
| - name: Create firstboot script file | ||||
|   ansible.builtin.template: | ||||
|     src: firstboot.j2 | ||||
| @@ -9,11 +10,13 @@ | ||||
|     owner: root | ||||
|     group: root | ||||
|     mode: o+x | ||||
|  | ||||
| - name: Create @reboot crontab job | ||||
|   ansible.builtin.cron: | ||||
|     name: firstboot | ||||
|     special_time: reboot | ||||
|     job: "/opt/firstboot/firstboot.sh" | ||||
|  | ||||
| - name: Copy payload folder | ||||
|   ansible.builtin.copy: | ||||
|     src: ansible_payload/ | ||||
| @@ -21,6 +24,3 @@ | ||||
|     owner: root | ||||
|     group: root | ||||
|     mode: '0644' | ||||
| - name: Install ansible-galaxy collection | ||||
|   ansible.builtin.shell: | ||||
|     cmd: ansible-galaxy collection install community.general | ||||
|   | ||||
							
								
								
									
										6
									
								
								ansible/roles/metacluster/tasks/k3s.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ansible/roles/metacluster/tasks/k3s.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| - name: Create folder structure | ||||
|   ansible.builtin.file: | ||||
|     path: "{{ item }}" | ||||
|     state: directory | ||||
|   loop: | ||||
|     - /opt/x | ||||
							
								
								
									
										2
									
								
								ansible/roles/metacluster/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								ansible/roles/metacluster/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| - name: XYZ | ||||
|   import_tasks: foo.yml | ||||
							
								
								
									
										20
									
								
								ansible/vars/metacluster.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								ansible/vars/metacluster.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| k3s: | ||||
|   version: v1.24.1+k3s1 | ||||
|  | ||||
| components: | ||||
|  | ||||
|   harbor: | ||||
|     version: | ||||
|  | ||||
|   argocd: | ||||
|     version: | ||||
|  | ||||
| dependencies: | ||||
|  | ||||
|   ansible_galaxy_collections: | ||||
|     - community.general | ||||
|     - kubernetes.core | ||||
|  | ||||
|   static_binaries: | ||||
|     - binary: yq | ||||
|       url: | ||||
| @@ -3,7 +3,7 @@ packer { | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| source "vsphere-iso" "ubuntuserver" { | ||||
| source "vsphere-iso" "k8sbootstrap" { | ||||
|   vcenter_server          = var.vcenter_server | ||||
|   username                = var.vsphere_username | ||||
|   password                = var.vsphere_password | ||||
| @@ -67,11 +67,11 @@ source "vsphere-iso" "ubuntuserver" { | ||||
| 
 | ||||
| build { | ||||
|   sources = [ | ||||
|     "source.vsphere-iso.ubuntuserver" | ||||
|     "source.vsphere-iso.k8sbootstrap" | ||||
|   ] | ||||
| 
 | ||||
|   provisioner "ansible" { | ||||
|     only             = ["vsphere-iso.ubuntuserver"] | ||||
|     only             = ["vsphere-iso.k8sbootstrap"] | ||||
| 
 | ||||
|     playbook_file    = "ansible/playbook.yml" | ||||
|     user             = "ubuntu" | ||||
| @@ -85,16 +85,16 @@ build { | ||||
|   } | ||||
| 
 | ||||
|   post-processor "shell-local" { | ||||
|     only   = ["vsphere-iso.ubuntuserver"] | ||||
|     only   = ["vsphere-iso.k8sbootstrap"] | ||||
|     inline = [ | ||||
|       "pwsh -command \"& scripts/Update-OvfConfiguration.ps1 \\", | ||||
|       " -OVFFile '/scratch/ubuntuserver/${var.vm_guestos}-${var.vm_name}.ovf' \\", | ||||
|       " -OVFFile '/scratch/k8sbootstrap/${var.vm_guestos}-${var.vm_name}.ovf' \\", | ||||
|       " -Parameter @{'appliance.name'='${var.vm_guestos}';'appliance.version'='${var.vm_name}'}\"", | ||||
|       "pwsh -file scripts/Update-Manifest.ps1 \\", | ||||
|       " -ManifestFileName '/scratch/ubuntuserver/${var.vm_guestos}-${var.vm_name}.mf'", | ||||
|       " -ManifestFileName '/scratch/k8sbootstrap/${var.vm_guestos}-${var.vm_name}.mf'", | ||||
|       "ovftool --acceptAllEulas --allowExtraConfig --overwrite \\", | ||||
|       " '/scratch/ubuntuserver/${var.vm_guestos}-${var.vm_name}.ovf' \\", | ||||
|       " /output/Ubuntu-Server-22.04.ova" | ||||
|       " '/scratch/k8sbootstrap/${var.vm_guestos}-${var.vm_name}.ovf' \\", | ||||
|       " /output/Kubernetes.Bootstrap.Appliance.ova" | ||||
|     ] | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user