Skip to content
GitLabGitHub

Ansible - Hardening Proxmox

Utrzymanie aktualnych zależności w repozytoriach to jedno z kluczowych wyzwań w nowoczesnych projektach IT. Ręczne sprawdzanie nowych wersji bibliotek, obrazów kontenerowych czy narzędzi infrastrukturalnych jest czasochłonne i podatne na błędy, a jednocześnie ma bezpośredni wpływ na bezpieczeństwo i stabilność systemów.

W tym wpisie pokażę, jak wykorzystuję Renovate do automatycznego wykrywania aktualizacji oraz integracji tego procesu z GitLab CI. Celem jest pełna automatyzacja — od detekcji nowych wersji zależności, przez tworzenie merge requestów, aż po kontrolę nad tym, kiedy i w jaki sposób aktualizacje trafiają do projektu.


  1. Utworzenie kontenera za pomocą image buildera

    Section titled “Utworzenie kontenera za pomocą image buildera”
    • Wydanie wersji ansible v1.0.0
    • Wydanie wersji ansible v1.1.0 (dodanie ansible-lint)
  2.   .
      ├── inventory
      │   ├── group_vars
      │   │   └── all
      │   │       ├── groups.yml
      │   │       ├── locale.yml
      │   │       ├── main.yml
      │   │       ├── sshd_config.yml
      │   │       ├── technical_account.yml
      │   │       └── users_accont.yml
      │   ├── host_vars
      │   │    ├── pve-s1
      │   │    │   └── main.yml
      │   │    ├── pve-s3
      │   │    │   └── main.yml
      │   │    └── pve-s4
      │   │        └── main.yml
      │   └── hosts.yml
      ├── playbooks
      │   ├── roles                     # katalog z rolami
      │   ├── install.yml
      │   └── test_connection.yml
      └── requirements.yml              # definicja source dla ansible roles

    Playbook do testowania połączeń

    ---
    - name: Test Connection
      hosts: ['pve']
      become: true
      gather_facts: true
    
      tasks:
        - ping:
        - debug:
            msg: "{{ ansible_facts.hostname }}"
    
        - name: Show controller IP used in SSH connection
          debug:
            msg: "Ansible connects from IP: {{ ansible_facts.default_ipv4.address }}"
  3. Wydanie wersji v1.7.0

  4. Dynamiczny proces CD zależy od definicji Environments