Training from 20250617
This commit is contained in:
@@ -53,4 +53,4 @@ http {
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
9
training/control-flujo.yml
Normal file
9
training/control-flujo.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
- name: Prueba de when
|
||||
hosts: all
|
||||
become: yes
|
||||
tasks:
|
||||
- name: Instalar Apache2 si el sistema operativo es Debian
|
||||
apt:
|
||||
name: apache2
|
||||
state: present
|
||||
when: ansible_facts['os_family'] == 'Debian'
|
||||
23
training/facts.yml
Normal file
23
training/facts.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
- name: Mirar los ansible_facts
|
||||
hosts: all
|
||||
become: yes
|
||||
tasks:
|
||||
- name: Verificar los hechos de Ansible
|
||||
ansible.builtin.debug:
|
||||
var: ansible_facts
|
||||
|
||||
- name: Mostrar sistema operativo
|
||||
ansible.builtin.debug:
|
||||
msg: "El sistema operativo es {{ ansible_facts['os_family'] }}"
|
||||
|
||||
- name: Mostrar el nombre del host
|
||||
ansible.builtin.debug:
|
||||
msg: "El nombre del host es {{ ansible_facts['nodename'] }}"
|
||||
|
||||
- name: Mostrar la versión del kernel
|
||||
ansible.builtin.debug:
|
||||
msg: "La versión del kernel es {{ ansible_facts['kernel'] }}"
|
||||
|
||||
- name: Mostrar la versión de Ansible
|
||||
ansible.builtin.debug:
|
||||
msg: "La versión de Ansible es {{ ansible_version.full }}"
|
||||
15
training/handlers.yml
Normal file
15
training/handlers.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
- name: Prueba de handlers
|
||||
hosts: all
|
||||
become: yes
|
||||
tasks:
|
||||
- name: Copiar archivo de configuración
|
||||
copy:
|
||||
src: nginx.conf
|
||||
dest: /etc/nginx/nginx.conf
|
||||
notify:
|
||||
- Reiniciar Nginx
|
||||
handlers:
|
||||
- name: Reiniciar Nginx
|
||||
service:
|
||||
name: nginx
|
||||
state: restarted
|
||||
8
training/install-joe.yml
Normal file
8
training/install-joe.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
- name: Instalar editor Joe
|
||||
hosts: all
|
||||
become: yes
|
||||
tasks:
|
||||
- name: Instalar Paquete Joe
|
||||
apt:
|
||||
name: joe
|
||||
state: absent
|
||||
21
training/install-nginx.yml
Normal file
21
training/install-nginx.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
- name: Instalar Nginx
|
||||
hosts: all
|
||||
become: yes
|
||||
tasks:
|
||||
- name: Instalar Paquete Nginx
|
||||
apt:
|
||||
name: nginx
|
||||
state: present
|
||||
|
||||
- name: Iniciar el servicio Nginx
|
||||
service:
|
||||
name: nginx
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
- name: Verificar el estado del servicio Nginx
|
||||
service_facts:
|
||||
|
||||
- name: Mostrar estado del servicio Nginx
|
||||
debug:
|
||||
msg: "El servicio Nginx está {{ ansible_facts.services['nginx.service'].state }}"
|
||||
8
training/inventory
Normal file
8
training/inventory
Normal file
@@ -0,0 +1,8 @@
|
||||
[database]
|
||||
192.168.11.20
|
||||
|
||||
[loadbalancer]
|
||||
192.168.11.30
|
||||
|
||||
[webserver]
|
||||
192.168.11.40
|
||||
18
training/loops.yml
Normal file
18
training/loops.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
- name: Prueba de multiples usuarios
|
||||
hosts: all
|
||||
become: yes
|
||||
tasks:
|
||||
- name: Instalar el paquete 'python3-passlib'
|
||||
apt:
|
||||
name: python3-passlib
|
||||
state: present
|
||||
|
||||
- name: Crear múltiples usuarios con contraseñas
|
||||
user:
|
||||
name: "{{ item }}"
|
||||
password: "{{ 'password' | password_hash('sha512') }}"
|
||||
state: present
|
||||
with_items:
|
||||
- user1
|
||||
- user2
|
||||
- user3
|
||||
21
training/passlib.yml
Normal file
21
training/passlib.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
- name: Passlib
|
||||
hosts: all
|
||||
become: yes
|
||||
tasks:
|
||||
- name: Install Python3
|
||||
apt:
|
||||
pkg:
|
||||
- python3
|
||||
- python3-pip
|
||||
- python3-passlib
|
||||
become: true
|
||||
|
||||
- name: Create a symbolic link from python3 to python
|
||||
file:
|
||||
src: /usr/bin/python3
|
||||
dest: /usr/bin/python
|
||||
state: link
|
||||
|
||||
- name: Set ansible_python_interpreter to use the installed Python
|
||||
set_fact:
|
||||
ansible_python_interpreter: /usr/bin/python3
|
||||
3
training/practica-dia2.yml
Normal file
3
training/practica-dia2.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
#Instale un servidor web (Nginx o Apache).
|
||||
#Copie un archivo de configuración al directorio correspondiente.
|
||||
#Reinicie el servicio si el archivo de configuración cambia.
|
||||
15
training/reiniciar-nginx.yml
Normal file
15
training/reiniciar-nginx.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
- name: Reiniciar Nginx
|
||||
hosts: all
|
||||
become: yes
|
||||
tasks:
|
||||
- name: Reiniciar el servicio Nginx
|
||||
service:
|
||||
name: nginx
|
||||
state: restarted
|
||||
|
||||
- name: Verificar el estado del servicio Nginx
|
||||
service_facts:
|
||||
|
||||
- name: Mostrar estado del servicio Nginx
|
||||
debug:
|
||||
msg: "El servicio Nginx está {{ ansible_facts.services['nginx.service'].state }}"
|
||||
20
training/user-password.yml
Normal file
20
training/user-password.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
- name: Crear usuarios con contraseña en todos los servidores
|
||||
hosts: all
|
||||
become: yes
|
||||
vars:
|
||||
user_list:
|
||||
- user1
|
||||
- user2
|
||||
- user3
|
||||
user_password: "password" # Contraseña en texto plano
|
||||
tasks:
|
||||
- name: Generar hash de la contraseña en el controlador (local)
|
||||
ansible.builtin.set_fact:
|
||||
hashed_password: "{{ user_password | password_hash('sha512') }}"
|
||||
|
||||
- name: Crear usuarios con contraseña
|
||||
ansible.builtin.user:
|
||||
name: "{{ item }}"
|
||||
password: "{{ hashed_password }}"
|
||||
state: present
|
||||
loop: "{{ user_list }}"
|
||||
19
training/users.yml
Normal file
19
training/users.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
- name: Prueba de creación de múltiples usuarios
|
||||
hosts: all
|
||||
become: yes
|
||||
vars:
|
||||
user_password: "password123" # Contraseña en texto plano
|
||||
tasks:
|
||||
- name: Generar hash de la contraseña en el controlador (local)
|
||||
ansible.builtin.set_fact:
|
||||
hashed_password: "{{ user_password | password_hash('sha512') }}"
|
||||
|
||||
- name: Crear múltiples usuarios con contraseñas
|
||||
user:
|
||||
name: "{{ item }}"
|
||||
password: "{{ hashed_password }}"
|
||||
state: present
|
||||
with_items:
|
||||
- user1
|
||||
- user2
|
||||
- user3
|
||||
20
training/var.yml
Normal file
20
training/var.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
- name: Variables para probar
|
||||
hosts: all
|
||||
become: yes
|
||||
vars:
|
||||
ansible_python_interpreter: /usr/bin/python3
|
||||
app_port: 8080
|
||||
tasks:
|
||||
- name: Definir variables de prueba
|
||||
ansible.builtin.set_fact:
|
||||
var1: "Valor de la variable 1"
|
||||
var2: "Valor de la variable 2"
|
||||
var3: "Valor de la variable 3"
|
||||
|
||||
- name: Mostrar las variables definidas
|
||||
ansible.builtin.debug:
|
||||
msg:
|
||||
- "Variable 1: {{ var1 }}"
|
||||
- "Variable 2: {{ var2 }}"
|
||||
- "Variable 3: {{ var3 }}"
|
||||
- "Puerto de la aplicación: {{ app_port }}"
|
||||
Reference in New Issue
Block a user