Build Templates #42
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Templates | |
on: | |
workflow_dispatch: | |
inputs: | |
template_name: | |
description: 'Template to Build' | |
required: true | |
type: choice | |
options: | |
- oracle_linux | |
- rocky_linux | |
jobs: | |
build_oracle_linux: | |
if: ${{ github.event.inputs.template_name == 'oracle_linux' }} | |
runs-on: | |
- self-hosted | |
- packer | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Remove Oracle Linux Template | |
if: ${{ github.event.inputs.template_name == 'oracle_linux' }} | |
run: | | |
ansible-playbook -vv oracle_linux_8/ansible/remove_template.yaml \ | |
-e "api_user=${{ vars.PROXMOX_API_USER }}" \ | |
-e "api_token_id=${{ vars.PROXMOX_TOKEN_ID }}" \ | |
-e "api_token_secret=${{ secrets.PROXMOX_TOKEN_TESTE }}" \ | |
-e "proxmox_host=${{ secrets.PROXMOX_API_HOST }}" \ | |
-e "vmid=${{ vars.PROXMOX_VM_ID }}" \ | |
-e "proxmox_node=${{ vars.PROXMOX_NODE }}" | |
- name: Init Oracle Linux Template | |
if: ${{ github.event.inputs.template_name == 'oracle_linux' }} | |
run: | |
packer init -upgrade oracle_linux_8/ | |
env: | |
PKR_VAR_proxmox_url: ${{ secrets.PROXMOX_URL }} | |
PKR_VAR_proxmox_username: ${{ secrets.PROXMOX_USERNAME }} | |
PKR_VAR_proxmox_token: ${{ secrets.PROXMOX_TOKEN }} | |
PKR_VAR_proxmox_node: ${{ vars.PROXMOX_NODE }} | |
PKR_VAR_proxmox_storage_pool: ${{ vars.PROXMOX_STORAGE_POOL }} | |
PKR_VAR_ssh_username: ${{ vars.SSH_USERNAME }} | |
PKR_VAR_ssh_password: ${{ secrets.SSH_PASSWORD }} | |
- name: Build Oracle Linux Template | |
if: ${{ github.event.inputs.template_name == 'oracle_linux' }} | |
run: | |
packer build oracle_linux_8/ | |
env: | |
PKR_VAR_proxmox_url: ${{ secrets.PROXMOX_URL }} | |
PKR_VAR_proxmox_username: ${{ secrets.PROXMOX_USERNAME }} | |
PKR_VAR_proxmox_token: ${{ secrets.PROXMOX_TOKEN }} | |
PKR_VAR_proxmox_node: ${{ vars.PROXMOX_NODE }} | |
PKR_VAR_proxmox_storage_pool: ${{ vars.PROXMOX_STORAGE_POOL }} | |
PKR_VAR_ssh_username: ${{ vars.SSH_USERNAME }} | |
PKR_VAR_ssh_password: ${{ secrets.SSH_PASSWORD }} | |
build_rocky_linux: | |
if: ${{ github.event.inputs.template_name == 'rocky_linux' }} | |
runs-on: | |
- self-hosted | |
- packer | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Remove Rocky Linux Template | |
run: | | |
ansible-playbook -vv rocky_linux_9/ansible/remove_template.yaml \ | |
-e "api_user=${{ vars.PROXMOX_API_USER }}" \ | |
-e "api_token_id=${{ vars.PROXMOX_TOKEN_ID }}" \ | |
-e "api_token_secret=${{ secrets.PROXMOX_TOKEN_TESTE }}" \ | |
-e "proxmox_host=${{ secrets.PROXMOX_API_HOST }}" \ | |
-e "vmid=500" \ | |
-e "proxmox_node=${{ vars.PROXMOX_NODE }}" | |
- name: Init Rocky Linux Template | |
run: | |
packer init -upgrade rocky_linux_9/ | |
env: | |
PKR_VAR_proxmox_url: ${{ secrets.PROXMOX_URL }} | |
PKR_VAR_proxmox_username: ${{ secrets.PROXMOX_USERNAME }} | |
PKR_VAR_proxmox_token: ${{ secrets.PROXMOX_TOKEN }} | |
PKR_VAR_proxmox_node: ${{ vars.PROXMOX_NODE }} | |
PKR_VAR_proxmox_storage_pool: ${{ vars.PROXMOX_STORAGE_POOL }} | |
PKR_VAR_ssh_username: ${{ vars.SSH_USERNAME }} | |
PKR_VAR_ssh_password: ${{ secrets.SSH_PASSWORD }} | |
- name: Build Rocky Linux Template | |
run: | |
packer build rocky_linux_9/ | |
env: | |
PKR_VAR_proxmox_url: ${{ secrets.PROXMOX_URL }} | |
PKR_VAR_proxmox_username: ${{ secrets.PROXMOX_USERNAME }} | |
PKR_VAR_proxmox_token: ${{ secrets.PROXMOX_TOKEN }} | |
PKR_VAR_proxmox_node: ${{ vars.PROXMOX_NODE }} | |
PKR_VAR_proxmox_storage_pool: ${{ vars.PROXMOX_STORAGE_POOL }} | |
PKR_VAR_ssh_username: ${{ vars.SSH_USERNAME }} | |
PKR_VAR_ssh_password: ${{ secrets.SSH_PASSWORD }} |