Training from 20250617
This commit is contained in:
@@ -53,4 +53,4 @@ http {
|
|||||||
try_files $uri $uri/ =404;
|
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