All checks were successful
Run Check Script / check (pull_request) Successful in 58s
242 lines
4.1 KiB
Markdown
242 lines
4.1 KiB
Markdown
---
|
|
theme: uncover
|
|
---
|
|
|
|
# Voici l'histoire de Petit Poisson
|
|
|
|
---
|
|
|
|
<img src="./Happy_swimmer.jpg" width="600"/>
|
|
|
|
---
|
|
|
|
<img src="./happy_landscape_swimmer.jpg" width="1000"/>
|
|
|
|
---
|
|
|
|
<img src="./Happy_swimmer.jpg" width="200"/>
|
|
|
|
<img src="./tryrust.org.png" width="600"/>
|
|
|
|
[https://tryrust.org](https://tryrust.org)
|
|
|
|
---
|
|
|
|
<img src="./texto_deploy_prod_1.png" width="600"/>
|
|
|
|
---
|
|
|
|
<img src="./texto_deploy_prod_2.png" width="600"/>
|
|
|
|
---
|
|
|
|
<img src="./texto_deploy_prod_3.png" width="600"/>
|
|
|
|
---
|
|
|
|
<img src="./texto_deploy_prod_4.png" width="600"/>
|
|
|
|
---
|
|
|
|
## Demo time
|
|
|
|
---
|
|
|
|
<img src="./Happy_swimmer_sunglasses.jpg" width="1000"/>
|
|
|
|
---
|
|
|
|
<img src="./texto_download_wikipedia.png" width="600"/>
|
|
|
|
---
|
|
|
|
<img src="./ansible.jpg" width="200"/>
|
|
|
|
## Ansible❓
|
|
|
|
---
|
|
|
|
<img src="./Happy_swimmer.jpg" width="200"/>
|
|
|
|
```yaml
|
|
- name: Download wikipedia
|
|
hosts: localhost
|
|
tasks:
|
|
- name: Download a file
|
|
ansible.builtin.get_url:
|
|
url: "https:/wikipedia.org/"
|
|
dest: "/tmp/ansible-test/wikipedia.html"
|
|
mode: '0900'
|
|
```
|
|
|
|
---
|
|
|
|
<img src="./Happy_swimmer.jpg" width="200"/>
|
|
|
|
```
|
|
ansible-lint download.yml
|
|
|
|
Passed: 0 failure(s), 0 warning(s) on 1 files. Last profile that met the validation criteria was 'production'.
|
|
```
|
|
|
|
---
|
|
|
|
```
|
|
git push
|
|
```
|
|
|
|
---
|
|
|
|
<img src="./75_years_later.jpg" width="1100"/>
|
|
|
|
---
|
|
|
|
<img src="./texto_download_wikipedia_fail.png" width="600"/>
|
|
|
|
---
|
|
|
|
<img src="./Happy_swimmer_reversed.jpg" width="600"/>
|
|
|
|
---
|
|
|
|
<img src="./ansible_output_fail.jpg" width="1100"/>
|
|
|
|
---
|
|
|
|
<img src="./Happy_swimmer_reversed_1hit.jpg" width="600"/>
|
|
|
|
---
|
|
|
|
<img src="./ansible_crossed_out.jpg" width="400"/>
|
|
|
|
---
|
|
|
|
|
|
<img src="./terraform.jpg" width="400"/>
|
|
|
|
## Terraform❓❗
|
|
|
|
---
|
|
|
|
<img src="./Happy_swimmer_reversed_1hit.jpg" width="200"/>
|
|
<img src="./terraform.jpg" width="200"/>
|
|
|
|
```tf
|
|
provider "docker" {}
|
|
|
|
resource "docker_network" "invalid_network" {
|
|
name = "my-invalid-network"
|
|
|
|
ipam_config {
|
|
subnet = "172.17.0.0/33"
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
<img src="./Happy_swimmer_reversed_1hit.jpg" width="100"/>
|
|
<img src="./terraform.jpg" width="200"/>
|
|
|
|
```
|
|
terraform plan
|
|
|
|
Terraform used the selected providers to generate the following execution plan.
|
|
Resource actions are indicated with the following symbols:
|
|
+ create
|
|
|
|
Terraform will perform the following actions:
|
|
|
|
# docker_network.invalid_network will be created
|
|
+ resource "docker_network" "invalid_network" {
|
|
+ driver = (known after apply)
|
|
+ id = (known after apply)
|
|
+ internal = (known after apply)
|
|
+ ipam_driver = "default"
|
|
+ name = "my-invalid-network"
|
|
+ options = (known after apply)
|
|
+ scope = (known after apply)
|
|
|
|
+ ipam_config {
|
|
+ subnet = "172.17.0.0/33"
|
|
# (2 unchanged attributes hidden)
|
|
}
|
|
}
|
|
|
|
Plan: 1 to add, 0 to change, 0 to destroy.
|
|
```
|
|
|
|
---
|
|
|
|
✅
|
|
|
|
---
|
|
|
|
```
|
|
terraform apply
|
|
```
|
|
|
|
---
|
|
|
|
```
|
|
Plan: 1 to add, 0 to change, 0 to destroy.
|
|
|
|
Do you want to perform these actions?
|
|
Terraform will perform the actions described above.
|
|
Only 'yes' will be accepted to approve.
|
|
|
|
Enter a value: yes
|
|
```
|
|
|
|
---
|
|
|
|
```
|
|
docker_network.invalid_network: Creating...
|
|
╷
|
|
│ Error: Unable to create network: Error response from daemon: invalid network config:
|
|
│ invalid subnet 172.17.0.0/33: invalid CIDR block notation
|
|
│
|
|
│ with docker_network.invalid_network,
|
|
│ on main.tf line 11, in resource "docker_network" "invalid_network":
|
|
│ 11: resource "docker_network" "invalid_network" {
|
|
│
|
|
╵
|
|
```
|
|
|
|
---
|
|
|
|
|
|
<img src="./Happy_swimmer_reversed_fullhit.jpg" width="1100"/>
|
|
|
|
---
|
|
|
|
<img src="./ansible_crossed_out.jpg" width="300"/>
|
|
<img src="./terraform_crossed_out.jpg" width="400"/>
|
|
<img src="./Happy_swimmer_reversed_fullhit.jpg" width="300"/>
|
|
|
|
---
|
|
|
|
## Harmony❓❗
|
|
|
|
---
|
|
|
|
Demo time
|
|
|
|
---
|
|
|
|
<img src="./Happy_swimmer.jpg" width="300"/>
|
|
|
|
---
|
|
|
|
# 🎼
|
|
|
|
Harmony : [https://git.nationtech.io/nationtech/harmony](https://git.nationtech.io/nationtech/harmony)
|
|
|
|
|
|
<img src="./qrcode_gitea_nationtech.png" width="120"/>
|
|
|
|
|
|
LinkedIn : [https://www.linkedin.com/in/jean-gabriel-gill-couture/](https://www.linkedin.com/in/jean-gabriel-gill-couture/)
|
|
|
|
Courriel : [jg@nationtech.io](mailto:jg@nationtech.io)
|