Initial build based on 22.04
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Danny Bessems 2022-06-24 23:44:10 +02:00
parent 2c57dbcddc
commit 2bd0f8df0a
9 changed files with 56 additions and 12 deletions

View File

@ -1 +1 @@
# Packer.Images [![Build Status](https://ci.spamasaurus.com/api/badges/djpbessems/Packer.Images/status.svg?ref=refs/heads/UbuntuServer22.04)](https://ci.spamasaurus.com/djpbessems/Packer.Images) # Packer.Images [![Build Status](https://ci.spamasaurus.com/api/badges/djpbessems/Packer.Images/status.svg?ref=refs/heads/Kubernetes.Bootstrap.Appliance)](https://ci.spamasaurus.com/djpbessems/Packer.Images)

View File

@ -1,7 +1,10 @@
--- ---
- hosts: all - hosts: all
gather_facts: false gather_facts: false
group_vars:
- metacluster.yml
become: true become: true
roles: roles:
- os - os
- firstboot - firstboot
- metacluster

View 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 }}"

View File

@ -0,0 +1,2 @@
- name: XYZ
import_tasks: foo.yml

View File

@ -2,6 +2,7 @@
ansible.builtin.file: ansible.builtin.file:
path: /opt/firstboot path: /opt/firstboot
state: directory state: directory
- name: Create firstboot script file - name: Create firstboot script file
ansible.builtin.template: ansible.builtin.template:
src: firstboot.j2 src: firstboot.j2
@ -9,11 +10,13 @@
owner: root owner: root
group: root group: root
mode: o+x mode: o+x
- name: Create @reboot crontab job - name: Create @reboot crontab job
ansible.builtin.cron: ansible.builtin.cron:
name: firstboot name: firstboot
special_time: reboot special_time: reboot
job: "/opt/firstboot/firstboot.sh" job: "/opt/firstboot/firstboot.sh"
- name: Copy payload folder - name: Copy payload folder
ansible.builtin.copy: ansible.builtin.copy:
src: ansible_payload/ src: ansible_payload/
@ -21,6 +24,3 @@
owner: root owner: root
group: root group: root
mode: '0644' mode: '0644'
- name: Install ansible-galaxy collection
ansible.builtin.shell:
cmd: ansible-galaxy collection install community.general

View File

@ -0,0 +1,6 @@
- name: Create folder structure
ansible.builtin.file:
path: "{{ item }}"
state: directory
loop:
- /opt/x

View File

@ -0,0 +1,2 @@
- name: XYZ
import_tasks: foo.yml

View 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:

View File

@ -3,7 +3,7 @@ packer {
} }
} }
source "vsphere-iso" "ubuntuserver" { source "vsphere-iso" "k8sbootstrap" {
vcenter_server = var.vcenter_server vcenter_server = var.vcenter_server
username = var.vsphere_username username = var.vsphere_username
password = var.vsphere_password password = var.vsphere_password
@ -67,11 +67,11 @@ source "vsphere-iso" "ubuntuserver" {
build { build {
sources = [ sources = [
"source.vsphere-iso.ubuntuserver" "source.vsphere-iso.k8sbootstrap"
] ]
provisioner "ansible" { provisioner "ansible" {
only = ["vsphere-iso.ubuntuserver"] only = ["vsphere-iso.k8sbootstrap"]
playbook_file = "ansible/playbook.yml" playbook_file = "ansible/playbook.yml"
user = "ubuntu" user = "ubuntu"
@ -85,16 +85,16 @@ build {
} }
post-processor "shell-local" { post-processor "shell-local" {
only = ["vsphere-iso.ubuntuserver"] only = ["vsphere-iso.k8sbootstrap"]
inline = [ inline = [
"pwsh -command \"& scripts/Update-OvfConfiguration.ps1 \\", "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}'}\"", " -Parameter @{'appliance.name'='${var.vm_guestos}';'appliance.version'='${var.vm_name}'}\"",
"pwsh -file scripts/Update-Manifest.ps1 \\", "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 \\", "ovftool --acceptAllEulas --allowExtraConfig --overwrite \\",
" '/scratch/ubuntuserver/${var.vm_guestos}-${var.vm_name}.ovf' \\", " '/scratch/k8sbootstrap/${var.vm_guestos}-${var.vm_name}.ovf' \\",
" /output/Ubuntu-Server-22.04.ova" " /output/Kubernetes.Bootstrap.Appliance.ova"
] ]
} }
} }