Remove Dockerfiles from this repo
This commit is contained in:
12
README.md
12
README.md
@@ -1,12 +1,14 @@
|
|||||||
# Ambiente di test locale per Ansible
|
# Ambiente di test locale per Ansible
|
||||||
|
|
||||||
Il repository include i Dockerfile per tre immagini Docker basate su Debian 13, Almalinux 9 e Ubuntu 24.04 per riprodurre tramite container i sistemi operativi (attualmente) installati sulle VM in produzione.
|
Il repository include:
|
||||||
|
- un file di inventario (`inventory/lab/inventory.yml`) pensato per l'utilizzo con i container Docker di test le cui imagini sono definite in un [repository dedicato](/nicolo/ansible-docker);
|
||||||
|
- un playbook di esempio, ma applicabile in produzione con le dovute modifiche;
|
||||||
|
- una serie di ruoli possibilmente utili.
|
||||||
|
|
||||||
Per il corretto funzionamento delle immagini, è necessario che esista una chiave pubblica `id_ansible.pub` nelle rispettive cartelle con i Dockerfile. Questa deve ovviamente corrispondere a una chiave SSH privata `id_ansible_lab` che `inventory.yaml` cerca in `~/.ssh/`.
|
La cartella `inventory` contiene due sottocartelle, `lab` e `prod`, quest'ultima è dedicata all'ambiente di produzione e dovrà ospitare il relativo file YAML di configurazione, non incluso nel versionamento per ovvi motivi.
|
||||||
|
|
||||||
## Note sparse
|
## Note sparse su parametri playbook / ruoli
|
||||||
|
|
||||||
Riguardo il significato di alcuni parametri molto utili presenti tipicamente nei playbook e/o ruoli:
|
|
||||||
|
|
||||||
- `become: true` serve per la cosiddetta _privilege escalation_, cioè "dice" ad Ansible di "diventare" (_become_) l'utente `root` (tipicamente invocando `sudo`);
|
- `become: true` serve per la cosiddetta _privilege escalation_, cioè "dice" ad Ansible di "diventare" (_become_) l'utente `root` (tipicamente invocando `sudo`);
|
||||||
|
- `become_user: <username>` serve per eseguire i comandi definiti da un task (e/o altro?) utilizzando un utente di sistema specifico (`<username>`) diverso da `root`, preferibilmente con privilegi sufficienti (vedi [documentazione](https://docs.ansible.com/projects/ansible/latest/playbook_guide/playbooks_privilege_escalation.html#risks-of-becoming-an-unprivileged-user) per dettagli);
|
||||||
- `update_cache` si riferisce all'esecuzione dell'aggiornamento della liste dei repository di pacchetti di sistema gestite dai _package manager_ prima di invocare un comando di installazione di nuovi pacchetti.
|
- `update_cache` si riferisce all'esecuzione dell'aggiornamento della liste dei repository di pacchetti di sistema gestite dai _package manager_ prima di invocare un comando di installazione di nuovi pacchetti.
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
FROM almalinux:9
|
|
||||||
|
|
||||||
RUN dnf update -y && \
|
|
||||||
dnf install -y \
|
|
||||||
openssh-server \
|
|
||||||
sudo \
|
|
||||||
python3
|
|
||||||
#rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
RUN mkdir /var/run/sshd
|
|
||||||
|
|
||||||
RUN ssh-keygen -A
|
|
||||||
|
|
||||||
RUN useradd -m -s /bin/bash nicolo && \
|
|
||||||
echo "nicolo ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/nicolo
|
|
||||||
|
|
||||||
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config && \
|
|
||||||
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config
|
|
||||||
|
|
||||||
RUN mkdir /home/nicolo/.ssh && \
|
|
||||||
chmod 700 /home/nicolo/.ssh
|
|
||||||
|
|
||||||
COPY id_ansible_lab.pub /home/nicolo/.ssh/authorized_keys
|
|
||||||
|
|
||||||
RUN chown nicolo:nicolo -R /home/nicolo/.ssh && chmod 600 /home/nicolo/.ssh/authorized_keys
|
|
||||||
|
|
||||||
EXPOSE 22
|
|
||||||
CMD ["/usr/sbin/sshd", "-D"]
|
|
||||||
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
FROM debian:13
|
|
||||||
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get install -y \
|
|
||||||
openssh-server \
|
|
||||||
sudo \
|
|
||||||
python3 \
|
|
||||||
ca-certificates && \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
RUN useradd -m -s /bin/bash nicolo && \
|
|
||||||
echo "nicolo ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/nicolo
|
|
||||||
|
|
||||||
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config && \
|
|
||||||
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config
|
|
||||||
|
|
||||||
RUN mkdir /home/nicolo/.ssh && \
|
|
||||||
chmod 700 /home/nicolo/.ssh
|
|
||||||
|
|
||||||
COPY id_ansible_lab.pub /home/nicolo/.ssh/authorized_keys
|
|
||||||
|
|
||||||
RUN chown nicolo:nicolo -R /home/nicolo/.ssh && chmod 600 /home/nicolo/.ssh/authorized_keys
|
|
||||||
|
|
||||||
EXPOSE 22
|
|
||||||
CMD ["/usr/sbin/sshd", "-D"]
|
|
||||||
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
FROM ubuntu:24.04
|
|
||||||
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get install -y \
|
|
||||||
openssh-server \
|
|
||||||
sudo \
|
|
||||||
python3 \
|
|
||||||
ca-certificates && \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
RUN mkdir /var/run/sshd
|
|
||||||
|
|
||||||
RUN useradd -m -s /bin/bash nicolo && \
|
|
||||||
echo "nicolo ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/nicolo
|
|
||||||
|
|
||||||
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config && \
|
|
||||||
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config
|
|
||||||
|
|
||||||
RUN mkdir /home/nicolo/.ssh && \
|
|
||||||
chmod 700 /home/nicolo/.ssh
|
|
||||||
|
|
||||||
COPY id_ansible_lab.pub /home/nicolo/.ssh/authorized_keys
|
|
||||||
|
|
||||||
RUN chown nicolo:nicolo -R /home/nicolo/.ssh && chmod 600 /home/nicolo/.ssh/authorized_keys
|
|
||||||
|
|
||||||
EXPOSE 22
|
|
||||||
CMD ["/usr/sbin/sshd", "-D"]
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user