4. Ansible was good
- I’ve been using Ansible past four years
- Is it even legal?
4
5. Ansible was good
- I’ve been using Ansible past four years
- Is it even legal?
- Authored and co-authored 200+ publicly available Ansible
roles in various repos
5
7. Ansible was never good
- How come, Red Hat Inc.?
- 6 years since initial release
7
8. Ansible was never good
- How come, Red Hat Inc.?
- 6 years since initial release
- And still no decent Linux firewall configuration module?
8
9. A perfect escape plan: Stonic
- https://github.com/stonicio/stonic
9
10. A perfect escape plan: Stonic
- https://github.com/stonicio/stonic
- 0 security bugs so far
10
11. A perfect escape plan: Stonic
- https://github.com/stonicio/stonic
- 0 security bugs so far
- 100% reliability
11
12. A perfect escape plan: Stonic
- https://github.com/stonicio/stonic
- 0 security bugs so far
- 100% reliability
- https://github.com/kelseyhightower/nocode
12
13. Stonic was never good
- Originally intended to be Python-based
13
14. Stonic was never good
- Originally intended to be Python-based
- Probably only Golang is worse than Python
14
15. Stonic was never good
- Originally intended to be Python-based
- Probably only Golang is worse than Python
- (PHP does not count because it’s not a programming
language)
15
16. Stonic was never good
- Originally intended to be Python-based
- Probably only Golang is worse than Python
- (PHP does not count because it’s not a programming
language)
- And if it is, why there is no local PHP Meetup in SPb.?
16
17. Even better escape plan: s1onique
- Probably a French word meaning “Let’s write it from the
ground up”
17
18. Even better escape plan: s1onique
- Probably a French word meaning “Let’s write it from the
ground up”
- 0 lines of code so far
18
19. Even better escape plan: s1onique
- Probably a French word meaning “Let’s write it from the
ground up”
- 0 lines of code so far
- An umbrella organization for some future PoCs
(Inshallah)
19
21. Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
- Rewrite Ansible in Haskell
21
22. Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
- Rewrite Ansible in Kotlin
22
23. Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
- Rewrite Ansible in Scala/Native
23
24. Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
- Rewrite Ansible in Racket
24
25. Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
- Rewrite Ansible in Rust (QUIA POSSUMUS!)
25
26. Breakdown and milestones
- Develop a firewall configuration module for Ansible
finally
- Rewrite Ansible in Rust (QUIA POSSUMUS!)
- We Release When It’s Ready (mañana)
26
28. Let’s collect some requirements
- We need a way to describe a desired state declaratively
28
29. Let’s collect some requirements
- We need a way to describe a desired state declaratively
- … and safely! (so, static typing or a linter)
29
30. Let’s collect some requirements
- We need a way to describe a desired state declaratively
- … and safely! (so, static typing or a linter)
- We need a way to enforce the desired state
30
31. Let’s collect some requirements
- We need a way to describe a desired state declaratively
- … and safely! (so, static typing or a linter)
- We need a way to enforce the desired state
- Ansible, really? Are you kidding?
31
32. OK, but the firewall is still there
- Writing an Ansible module seems to be simple
32
33. OK, but the firewall is still there
- Writing an Ansible module seems to be simple
- Except when it’s not
33
34. OK, but the firewall is still there
- Writing an Ansible module seems to be simple
- Except when it’s not
- The desired state should be clearly defined (how?)
34
35. OK, but the firewall is still there
- Writing an Ansible module seems to be simple
- Except when it’s not
- The desired state should be clearly defined (how?)
- The desired state should be enforced unambiguously
35
36. We need a plan again
- A desired state is just a complex data structure
expressed in YAML
36
37. We need a plan again
- A desired state is just a complex data structure
expressed in YAML
- An Ansible module is just a Python program
37
38. We need a plan again
- A desired state is just a complex data structure
expressed in YAML
- An Ansible module is just a Hylang program
38
39. We need a plan again
- A desired state is just a complex data structure
expressed in YAML
- An Ansible module is just a MAL program
39
40. We need a plan again
- A desired state is just a complex data structure
expressed in YAML
- An Ansible module is just a MAL program
- Because this world was written in Lisp!
40