asson
This commit is contained in:
parent
6a2fbcee07
commit
1ef3dd3c83
8
Playbooks/Docker-Portainer/inventory.yaml
Normal file
8
Playbooks/Docker-Portainer/inventory.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
docker:
|
||||||
|
hosts:
|
||||||
|
docker01:
|
||||||
|
ansible_host: 192.168.200.222
|
||||||
|
ansible_user: 'ubuntu'
|
||||||
|
ansible_become: true
|
||||||
|
ansible_become_method: sudo
|
7
Playbooks/Docker-Portainer/playbook.yaml
Normal file
7
Playbooks/Docker-Portainer/playbook.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
- name: Install Docker on Ubuntu
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
roles:
|
||||||
|
- docker_install
|
||||||
|
- portainer_deploy
|
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
- name: Restart Docker
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
name: docker
|
||||||
|
state: restarted
|
@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
- name: Ensure apt is using HTTPS
|
||||||
|
ansible.builtin.apt:
|
||||||
|
name: "{{ item }}"
|
||||||
|
state: present
|
||||||
|
loop:
|
||||||
|
- apt-transport-https
|
||||||
|
- ca-certificates
|
||||||
|
- curl
|
||||||
|
- software-properties-common
|
||||||
|
|
||||||
|
- name: Add Docker GPG key
|
||||||
|
ansible.builtin.apt_key:
|
||||||
|
url: "https://download.docker.com/linux/ubuntu/gpg"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Add Docker repository
|
||||||
|
ansible.builtin.apt_repository:
|
||||||
|
repo: "{{ docker_apt_repository }}"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install Docker CE
|
||||||
|
ansible.builtin.apt:
|
||||||
|
name: docker-ce
|
||||||
|
state: present
|
||||||
|
update_cache: true
|
||||||
|
|
||||||
|
- name: Configure Docker daemon options
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "templates/docker_daemon.json.j2"
|
||||||
|
dest: "/etc/docker/daemon.json"
|
||||||
|
owner: 'root'
|
||||||
|
group: 'root'
|
||||||
|
mode: '0755' # Optional file permissions
|
||||||
|
notify: Restart Docker
|
||||||
|
|
||||||
|
- name: Ensure Docker service is enabled and running
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
name: docker
|
||||||
|
enabled: true
|
||||||
|
state: started
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"storage-driver": "{{ docker_daemon_options['storage-driver'] }}"
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
docker_apt_release_channel: "stable"
|
||||||
|
docker_apt_repository: "deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable"
|
||||||
|
docker_daemon_options:
|
||||||
|
storage-driver: "overlay2"
|
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
- name: Start Portainer
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: /home/ubuntu/docker-compose/portainer
|
||||||
|
state: present
|
||||||
|
restarted: true
|
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
- name: Ensure docker-compose is installed
|
||||||
|
ansible.builtin.package:
|
||||||
|
name: docker-compose
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Ensure Docker service is running
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: docker
|
||||||
|
state: started
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
- name: Setup Portainer directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /home/ubuntu/docker-compose/portainer
|
||||||
|
state: directory
|
||||||
|
mode: '0755' # Optional file permissions
|
||||||
|
owner: ubuntu # Optional ownership
|
||||||
|
group: ubuntu # Optional group ownership
|
||||||
|
|
||||||
|
- name: Deploy Portainer using Docker Compose
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "templates/docker_compose.yaml.j2"
|
||||||
|
dest: "/home/ubuntu/docker-compose/portainer/docker-compose.yaml"
|
||||||
|
mode: '0755' # Optional file permissions
|
||||||
|
owner: ubuntu # Optional ownership
|
||||||
|
group: ubuntu # Optional group ownership
|
||||||
|
notify:
|
||||||
|
- Start Portainer
|
||||||
|
|
||||||
|
- name: Run Portainer docker-compose up
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: /home/ubuntu/docker-compose/portainer
|
||||||
|
state: present
|
@ -0,0 +1,13 @@
|
|||||||
|
version: '3.3'
|
||||||
|
services:
|
||||||
|
portainer:
|
||||||
|
image: portainer/portainer-ce:{{ portainer_version }}
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- portainer_data:/data
|
||||||
|
ports:
|
||||||
|
- "9000:9000"
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
portainer_data:
|
@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
portainer_version: "latest"
|
52
Playbooks/File-Copy/File-Copy-Playbook.yaml
Normal file
52
Playbooks/File-Copy/File-Copy-Playbook.yaml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
- name: Deploy Docker Container with Docker Compose
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: Ensure Docker is installed
|
||||||
|
ansible.builtin.package:
|
||||||
|
name: docker
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Ensure Docker service is running
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: docker
|
||||||
|
state: started
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
- name: Create a directory for Docker Compose files
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /home/ubuntu/ansible-docker/docker-compose
|
||||||
|
state: directory
|
||||||
|
mode: '0755' # Optional file permissions
|
||||||
|
owner: ubuntu # Optional ownership
|
||||||
|
group: ubuntu # Optional group ownership
|
||||||
|
|
||||||
|
- name: Create a directory for Nginx website files
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /home/ubuntu/docker/nginx/web
|
||||||
|
state: directory
|
||||||
|
mode: '0755' # Optional file permissions
|
||||||
|
owner: ubuntu # Optional ownership
|
||||||
|
group: ubuntu # Optional group ownership
|
||||||
|
|
||||||
|
- name: Copy docker-compose to remote host
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: /home/ubuntu/nginx/docker-compose.yaml
|
||||||
|
dest: /home/ubuntu/ansible-docker/docker-compose/docker-compose.yaml
|
||||||
|
mode: '0755' # Optional file permissions
|
||||||
|
owner: ubuntu # Optional ownership
|
||||||
|
group: ubuntu # Optional group ownership
|
||||||
|
|
||||||
|
- name: Copy Nginx website folder to remote host # copies a folder - note no file extension
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: /home/ubuntu/nginx/website
|
||||||
|
dest: /home/ubuntu/docker/nginx/web
|
||||||
|
mode: '0755' # Optional file permissions
|
||||||
|
owner: ubuntu # Optional ownership
|
||||||
|
group: ubuntu # Optional group ownership
|
||||||
|
|
||||||
|
- name: Start Docker Compose
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: /home/ubuntu/ansible-docker/docker-compose
|
||||||
|
state: present
|
24
Playbooks/File-Copy/File-Copy-Undo-Playbook.yaml
Normal file
24
Playbooks/File-Copy/File-Copy-Undo-Playbook.yaml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
- name: Undo Docker Compose Deployment
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: Stop Docker Container
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: /home/ubuntu/ansible-docker/docker-compose
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: Remove Docker Compose file
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /home/ubuntu/ansible-docker/docker-compose/docker-compose.yml
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: Remove Docker Compose directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /home/ubuntu/ansible-docker
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: Remove Website directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /home/ubuntu/docker/nginx/web
|
||||||
|
state: absent
|
8
Playbooks/File-Copy/inventory.yaml
Normal file
8
Playbooks/File-Copy/inventory.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
docker:
|
||||||
|
hosts:
|
||||||
|
docker01:
|
||||||
|
ansible_host: 192.168.200.50
|
||||||
|
ansible_user: 'ubuntu'
|
||||||
|
ansible_become: true
|
||||||
|
ansible_become_method: sudo
|
31
Playbooks/File-Copy/nginx/docker-compose.yaml
Normal file
31
Playbooks/File-Copy/nginx/docker-compose.yaml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
version: "3.9"
|
||||||
|
services:
|
||||||
|
web:
|
||||||
|
image: nginx
|
||||||
|
container_name: jimsgarage
|
||||||
|
volumes:
|
||||||
|
- /home/ubuntu/docker/nginx/templates:/etc/nginx/templates
|
||||||
|
- /home/ubuntu/docker/nginx/web/website:/usr/share/nginx/html
|
||||||
|
environment:
|
||||||
|
- NGINX_HOST=nginx.jimsgarage.co.uk
|
||||||
|
- NGINX_PORT=80
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.nginx.entrypoints=http"
|
||||||
|
- "traefik.http.routers.nginx.rule=Host(`nginx.jimsgarage.co.uk`)"
|
||||||
|
- "traefik.http.middlewares.nginx-https-redirect.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.nginx.middlewares=nginx-https-redirect"
|
||||||
|
- "traefik.http.routers.nginx-secure.entrypoints=https"
|
||||||
|
- "traefik.http.routers.nginx-secure.rule=Host(`nginx.jimsgarage.co.uk`)"
|
||||||
|
- "traefik.http.routers.nginx-secure.tls=true"
|
||||||
|
- "traefik.http.routers.nginx-secure.service=nginx"
|
||||||
|
- "traefik.http.services.nginx.loadbalancer.server.port=80"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
BIN
Playbooks/File-Copy/nginx/website/Jims-Garage-1.png
Normal file
BIN
Playbooks/File-Copy/nginx/website/Jims-Garage-1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 148 KiB |
108
Playbooks/File-Copy/nginx/website/index.html
Normal file
108
Playbooks/File-Copy/nginx/website/index.html
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Jim's Garage Ansible Demo</title>
|
||||||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
|
||||||
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
|
||||||
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
|
||||||
|
<style>
|
||||||
|
.hero {
|
||||||
|
background: url(Jims-Garage-1.png) no-repeat center center;
|
||||||
|
background-size: cover;
|
||||||
|
height: 400px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
color: white;
|
||||||
|
text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.features {
|
||||||
|
margin-top: 50px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature {
|
||||||
|
padding: 20px;
|
||||||
|
transition: transform 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature:hover {
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
background-color: #333;
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
padding: 20px;
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navigation Bar -->
|
||||||
|
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
|
||||||
|
<a class="navbar-brand" href="#">My Webpage</a>
|
||||||
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarNav">
|
||||||
|
<ul class="navbar-nav ml-auto">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#home">Home</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#features">Features</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#contact">Contact</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<!-- Hero Section -->
|
||||||
|
<div class="hero" id="home">
|
||||||
|
<h1>Welcome to Jim's Garage Ansible Demo</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Features Section -->
|
||||||
|
<div class="container features" id="features">
|
||||||
|
<h2>Our Features</h2>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="feature">
|
||||||
|
<i class="fas fa-cogs fa-3x"></i>
|
||||||
|
<h4>Feature 1</h4>
|
||||||
|
<p>Dynamic and interactive elements.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="feature">
|
||||||
|
<i class="fas fa-bolt fa-3x"></i>
|
||||||
|
<h4>Feature 2</h4>
|
||||||
|
<p>Responsive design and transitions.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="feature">
|
||||||
|
<i class="fas fa-heart fa-3x"></i>
|
||||||
|
<h4>Feature 3</h4>
|
||||||
|
<p>Engaging user experiences.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Footer Section -->
|
||||||
|
<div class="footer">
|
||||||
|
<p>© 2024 My Webpage. All rights reserved.</p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
57
Playbooks/Multi-OS-Update/Update-Playbook.yaml
Normal file
57
Playbooks/Multi-OS-Update/Update-Playbook.yaml
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
---
|
||||||
|
- name: Update Windows, Arch Linux, and Ubuntu
|
||||||
|
hosts: all
|
||||||
|
tasks:
|
||||||
|
- name: Gather facts
|
||||||
|
ansible.builtin.setup:
|
||||||
|
|
||||||
|
- name: Update Windows
|
||||||
|
when: ansible_facts['os_family'] == 'Windows'
|
||||||
|
ansible.windows.win_updates:
|
||||||
|
category_names:
|
||||||
|
- SecurityUpdates
|
||||||
|
- UpdateRollups
|
||||||
|
- CriticalUpdates
|
||||||
|
state: installed
|
||||||
|
register: win_update_result
|
||||||
|
|
||||||
|
- name: Check if Windows requires a reboot
|
||||||
|
when: win_update_result.changed and win_update_result.reboot_required | default(false)
|
||||||
|
ansible.windows.win_reboot:
|
||||||
|
reboot_timeout: 600
|
||||||
|
register: win_reboot_result
|
||||||
|
|
||||||
|
- name: Update Arch Linux
|
||||||
|
when: ansible_facts['os_family'] == 'Arch'
|
||||||
|
community.general.pacman:
|
||||||
|
update_cache: true
|
||||||
|
upgrade: true
|
||||||
|
register: arch_update_result
|
||||||
|
|
||||||
|
- name: Check if Arch Linux requires a reboot
|
||||||
|
when: ansible_facts['os_family'] == 'Arch' and arch_update_result.changed
|
||||||
|
ansible.builtin.stat:
|
||||||
|
path: /run/reboot-required
|
||||||
|
register: arch_reboot_required
|
||||||
|
|
||||||
|
- name: Reboot Arch Linux if required
|
||||||
|
when: arch_reboot_required.stat.exists | default(false)
|
||||||
|
ansible.builtin.reboot:
|
||||||
|
reboot_timeout: 600
|
||||||
|
|
||||||
|
- name: Update Ubuntu
|
||||||
|
when: ansible_facts['os_family'] == 'Debian'
|
||||||
|
ansible.builtin.apt:
|
||||||
|
upgrade: dist
|
||||||
|
update_cache: true
|
||||||
|
|
||||||
|
- name: Check if a reboot is required on Ubuntu
|
||||||
|
when: ansible_facts['os_family'] == 'Debian'
|
||||||
|
ansible.builtin.stat:
|
||||||
|
path: /var/run/reboot-required
|
||||||
|
register: ubuntu_reboot_required
|
||||||
|
|
||||||
|
- name: Reboot Ubuntu if required
|
||||||
|
when: ubuntu_reboot_required.stat.exists | default(false)
|
||||||
|
ansible.builtin.reboot:
|
||||||
|
reboot_timeout: 600
|
14
Playbooks/Multi-OS-Update/inventory.yaml
Normal file
14
Playbooks/Multi-OS-Update/inventory.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
arch:
|
||||||
|
hosts:
|
||||||
|
arch01:
|
||||||
|
ansible_host: 192.168.200.214
|
||||||
|
ansible_user: 'root'
|
||||||
|
ansible_python_interpreter: /usr/bin/python3
|
||||||
|
|
||||||
|
docker:
|
||||||
|
hosts:
|
||||||
|
docker01:
|
||||||
|
ansible_host: 192.168.200.50
|
||||||
|
ansible_user: 'ubuntu'
|
||||||
|
ansible_become: true
|
||||||
|
ansible_become_method: sudo
|
67
Playbooks/Secrets-Variables/File-Copy-Playbook.yaml
Normal file
67
Playbooks/Secrets-Variables/File-Copy-Playbook.yaml
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
---
|
||||||
|
- name: Deploy Docker Container with Docker Compose
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: Include variables file
|
||||||
|
ansible.builtin.include_vars: myvars.yaml
|
||||||
|
|
||||||
|
- name: Ensure Docker is installed
|
||||||
|
ansible.builtin.package:
|
||||||
|
name: docker
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Ensure Docker service is running
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: docker
|
||||||
|
state: started
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
- name: Create a directory for Docker Compose files
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /home/ubuntu/ansible-docker/docker-compose
|
||||||
|
state: directory
|
||||||
|
mode: '0755' # Optional file permissions
|
||||||
|
owner: ubuntu # Optional ownership
|
||||||
|
group: ubuntu # Optional group ownership
|
||||||
|
|
||||||
|
- name: Create a directory for Nginx website files
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /home/ubuntu/docker/nginx/web
|
||||||
|
state: directory
|
||||||
|
mode: '0755' # Optional file permissions
|
||||||
|
owner: ubuntu # Optional ownership
|
||||||
|
group: ubuntu # Optional group ownership
|
||||||
|
|
||||||
|
- name: Copy docker-compose to remote host
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: /home/ubuntu/nginx/docker-compose.yaml
|
||||||
|
dest: /home/ubuntu/ansible-docker/docker-compose/docker-compose.yaml
|
||||||
|
mode: '0755' # Optional file permissions
|
||||||
|
owner: ubuntu # Optional ownership
|
||||||
|
group: ubuntu # Optional group ownership
|
||||||
|
|
||||||
|
- name: Copy Nginx website folder to remote host # copies a folder - note no file extension
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: /home/ubuntu/nginx/website
|
||||||
|
dest: /home/ubuntu/docker/nginx/web
|
||||||
|
mode: '0755' # Optional file permissions
|
||||||
|
owner: ubuntu # Optional ownership
|
||||||
|
group: ubuntu # Optional group ownership
|
||||||
|
|
||||||
|
- name: Replace old name with new name (requires Ansible >= 2.4)
|
||||||
|
ansible.builtin.replace:
|
||||||
|
path: /home/ubuntu/docker/nginx/web/website/index.html
|
||||||
|
regexp: "Jim's Garage"
|
||||||
|
replace: "{{ website_name }}"
|
||||||
|
|
||||||
|
- name: Access and print secret
|
||||||
|
ansible.builtin.replace:
|
||||||
|
path: /home/ubuntu/docker/nginx/web/website/index.html
|
||||||
|
regexp: "Our Features"
|
||||||
|
replace: "{{ api_key }}"
|
||||||
|
|
||||||
|
- name: Start Docker Compose
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: /home/ubuntu/ansible-docker/docker-compose
|
||||||
|
state: present
|
1
Playbooks/Secrets-Variables/password
Normal file
1
Playbooks/Secrets-Variables/password
Normal file
@ -0,0 +1 @@
|
|||||||
|
password
|
1
Playbooks/Secrets-Variables/secrets_file.enc
Normal file
1
Playbooks/Secrets-Variables/secrets_file.enc
Normal file
@ -0,0 +1 @@
|
|||||||
|
api_key: SuperSecretPassword
|
Loading…
x
Reference in New Issue
Block a user