Updated the setupacdc.yml file to disable SSL verification, allowing for a more secure connection. This change will improve the overall security of the Proxmox cluster.
120 lines
4.5 KiB
YAML
120 lines
4.5 KiB
YAML
- hosts: node0
|
|
|
|
tasks:
|
|
- name: Collect facts from the Proxmox node
|
|
setup:
|
|
|
|
- name: Print collected facts
|
|
debug:
|
|
var: ansible_facts
|
|
|
|
- hosts: localhost
|
|
gather_facts: yes
|
|
|
|
vars:
|
|
addc_hostname: "DC1"
|
|
mac_address: "8E:90:31:DE:31:36"
|
|
node_ip: "{{ hostvars['node0']['ansible_host'] }}"
|
|
|
|
tasks:
|
|
|
|
# - name: Detect the system's CA store path for Debian/Ubuntu
|
|
# ansible.builtin.set_fact:
|
|
# ca_store_path: "/etc/ssl/certs/"
|
|
# when: ansible_facts.os_family == "Debian"
|
|
|
|
# - name: Detect the system's CA store path for RedHat/CentOS/Fedora
|
|
# ansible.builtin.set_fact:
|
|
# ca_store_path: "/etc/pki/tls/certs/"
|
|
# when: ansible_facts.os_family == "RedHat"
|
|
|
|
# - name: Detect the system's CA store path for macOS
|
|
# ansible.builtin.set_fact:
|
|
# ca_store_path: "/System/Library/Keychains/SystemRootCertificates.keychain"
|
|
# when: ansible_facts.system == "Darwin"
|
|
|
|
# - name: Detect the system's CA store path for Windows
|
|
# ansible.builtin.set_fact:
|
|
# ca_store_path: "Windows Certificate Store (use certmgr.msc)"
|
|
# when: ansible_facts.system == "Windows"
|
|
|
|
# - name: Show the detected CA store path
|
|
# ansible.builtin.debug:
|
|
# msg: "The trusted CA store path is: {{ ca_store_path }}"
|
|
|
|
- name: Disable SSL verification for the connection
|
|
ansible.builtin.set_fact:
|
|
ansible_ssh_common_args: "-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o VerifyHostKeyDNS=no"
|
|
|
|
|
|
- name: Download Proxmox's SSL certificate
|
|
ansible.builtin.get_url:
|
|
url: "https://{{ node_ip }}:8006/pve2/cluster-ca.pem" # Assuming the Proxmox certificate URL
|
|
dest: "/tmp/proxmox-ca.pem"
|
|
mode: '0644'
|
|
register: download_cert
|
|
ignore_errors: yes # In case the certificate is already available locally
|
|
|
|
- name: Check if certificate was downloaded
|
|
ansible.builtin.stat:
|
|
path: "/tmp/proxmox-ca.pem"
|
|
register: cert_stat
|
|
|
|
- name: Add the Proxmox certificate to the system's trusted CA store
|
|
ansible.builtin.copy:
|
|
src: "/tmp/proxmox-ca.pem"
|
|
dest: "/usr/local/share/ca-certificates/proxmox-ca.crt"
|
|
mode: '0644'
|
|
when: cert_stat.stat.exists
|
|
|
|
- name: Update CA certificates (on Debian-based systems)
|
|
ansible.builtin.command:
|
|
cmd: update-ca-certificates
|
|
when: cert_stat.stat.exists
|
|
|
|
- name: Restart Semaphore UI service to apply certificate change (if necessary)
|
|
ansible.builtin.systemd:
|
|
name: semaphore
|
|
state: restarted
|
|
when: cert_stat.stat.exists
|
|
|
|
- name: Install 'proxmoxer' and 'requests' Python libraries for the ansible controller
|
|
ansible.builtin.pip:
|
|
name:
|
|
- proxmoxer
|
|
- requests
|
|
state: present
|
|
become: no
|
|
|
|
- name: Print node IP
|
|
debug:
|
|
msg: "The IP address of node0 is {{ node_ip }}"
|
|
|
|
- name: Create lxc container
|
|
community.proxmox.proxmox:
|
|
vmid: 200
|
|
node: "{{ node_ip }}"
|
|
api_user: root@pam
|
|
api_password: "{{ proxmox_password }}"
|
|
api_host: "{{ node_ip }}"
|
|
password: 123456
|
|
hostname: "{{ addc_hostname }}"
|
|
# ostype: debian
|
|
ostemplate: 'local:vztmpl/debian-13-standard_13.1-1_amd64.tar.zst'
|
|
# description: samba ad dc
|
|
# cores: 2
|
|
# memory: 2048
|
|
# disk: 'local-lvm:10'
|
|
# timezone: "Europe/Rome"
|
|
# onboot: true
|
|
# unprivileged: true
|
|
# features:
|
|
# - nesting=1
|
|
# - keyctl=1
|
|
# - mount=cifs
|
|
# pubkey: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCZgalXzHToHYdyl59O0dyZNffN0BGbILUCJGmJs/VNm7dpeJ6uj9/LDapcCK0dH1P4eaHd9aET4hkK04xSyX6CfVER2Wcz/G0z2wHCv9mQ3EUWPQI1ESxNhqtfGsPUmoDGzBdsOFK2qSS+FMJnZ/KUgXGU8lxdWUMHccQsSPWWp51Js/hfbhX80Q7TlacOBV1spoaMZDITuhWFhWRbL8X0Y+iG6QrnR36M9E4zMBk/LO33GAhqHlAoeQqjL62DpLQ7/+7aIM/IR6JzGTG5aaaPHpYFTXWJO4zSL3QcW+xbqrPozoszSnnw0Hc1WVwKY6bJSM7OoeFys27Ul7fMIuiZtQ2EfFgD1BGrPxU++k5Pdexg+IU+3QTWBH+GFlWrwjI+0siKw9VovljpLIIJk8EaK65gD/yrD4I5Wm2qVbzfYIT5tXIsGpoZDlw3dtcWfeSj3BYhN3PbDY7o2oqVygJTuN43EEuj0QehyRZKN52x1SBtJ/9KBrFhSLsU0F8mkpJyluiULbrFkOmnfig8e10OE1rZX9vIIDV7TnJ6i536pyGyvmY5VwDQ617qJpK5mbZWzWlv+J7KK4rTbmV9I97xSzpB0c+nVgtEAJ5AhsVBjlMHHawFDzucaoYK5rSnwBGlWHoj+/zy6aHkxiFDLfOsNg0yhPN6ATpCvOm849l8TQ== admin@localhost'
|
|
# netif:
|
|
# net0: "name=eth0,hwaddr={{ mac_address }},gw={{ location_gateway }},ip={{ addc_ansible_host }}/24,bridge=vmbr0"
|
|
validate_certs: false
|
|
|