diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..82ff1517 --- /dev/null +++ b/404.html @@ -0,0 +1,1688 @@ + + + +
+ + + + + + + + + + + + + + +Hi Guys, I'm Vova from SHALB!
+In SHALB we build and support a hundreds of infrastructures so we have some outcome and experience that we'd like to share.
+Infrastructure code for complete infra contains a different technologies: +Terraform, Helm, Docker, Bash, Ansible, Cloud-Init, CI/CD-scripts, SQL's, GitOps applications, Secrets, etc..
+With a bunch of specific DSL'es: yaml, hcl, go-template, json(net).
+And each with the specific code styles: declarative, imperative, interrogative.
+With the different diff'ing: two or three way merges.
+And even using different patching across one tool, like: patchesStrategicMerge, patchesJson6902 in kustomize.
So you need to compile all that stuff together to be able spawn a whole infra with one shot.
+And you need one-shot to be clear that it is fully automated and can be GitOps-ed :)!
So thats why:
+Should be passed between different technologies in sometimes unpredictable sequences.
+In example you need to set the IAM role arn created by Terraform to Cert-Manager controller deployed with Helm values.
Variables should be passed across different infrastructures, even located on different clouds.
+Imagine you need to obtain DNS Zone from CloudFlare, then set 'NS' records in AWS Route53, and then grant an External-DNS controller which is deployed in
+ on-prem K8s provisioned with Rancher to change this zone in AWS...
Secrets that needs to be secured and shared across different team members and teams.
+Team members sometime leave, or accounts could be compromised and you need completely revoke access from them across a set of infras with one shot.
Variables should be decoupled from infrastructure pattern itself and needs a wise sane defaults. + If you hardcode variables - its hard to reuse such code.
+You'd like to maximize reusage of the existing infrastructure patterns:
+- Terraform modules
+- Helm Charts
+- K8s Operators
+- Dockerfile's
+
Pin versions for all you have in your infra, in example:
+Pin the aws cli and terraform binary version along with Helm, Prometheus operator version and your private kustomize application.
So to couple their infrastructure with some 'glue' most of engineers have a several ways:
+It's Capabilities:
+*.username-clustername.cluster.dev
{"use strict";/*!
+ * escape-html
+ * Copyright(c) 2012-2013 TJ Holowaychuk
+ * Copyright(c) 2015 Andreas Lubbe
+ * Copyright(c) 2015 Tiancheng "Timothy" Gu
+ * MIT Licensed
+ */var Ha=/["'&<>]/;Un.exports=$a;function $a(e){var t=""+e,r=Ha.exec(t);if(!r)return t;var o,n="",i=0,s=0;for(i=r.index;i