28th September 2021
- Correction: Clean up deprecated projects.
New: Document when to use
isinstanceand when to use
isinstancetakes into account inheritance, while
typedoesn't. So if you want to make sure you're dealing with a specific class, and not any of it's parents or subclasses, use
type(obj) == class.
Infrastructure as Code⚑
Correction: Improve the helmfile chart update process.
Updating charts with
helmfileis easy as long as you don't use environments, you run
helmfile deps, then
helmfile diffand finally
helmfile apply. The tricky business comes when you want to use environments to reuse your helmfile code and don't repeat yourself. I've updated the process to include this case.
New: Document the directory and files structure for multi-environment projects.
- New: Document how to use helmfile environments to follow DRY.
New: Document how to avoiding code repetition.
helmfilegives other useful tricks to prevent the illness of code repetition, such as using release templates, or layering the state.
New: Document how to manage dependencies between the charts, to be able to use concurrency.
Helmfile support concurrency with the option
--concurrency=Nso we can take advantage of it and improve our deployment speed, but to ensure it works as expected we have to define the dependencies among charts. For example, if an application needs a database, it has to be deployed before hand.
New: Document how to bypass client SSL certificate with a cli tool.
Websites that require clients to authorize with an TLS certificate are difficult to interact with through command line tools that don't support this feature.
To solve it, we can use a transparent proxy that does the exchange for us.