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)
 |