VUCA environments = volatile, uncertain, complex and ambiguous (VUCA)
mardi 26 mars 2024
CI/CD and secure supply chain
https://www.sigstore.dev/ ( & cosig https://github.com/sigstore/cosign )
https://in-toto.io/
(cf. red hat trusted software supply chain which actually embeds those open source tools)
+ backstage.io for "platform engineering"
jeudi 29 février 2024
git pre-commit hooks library
cf. https://codimd.nomadic-labs.com/p/YcXmjg1qv#/4
pre-commit is a tool that helps to configure git pre-commit hooks, with an abundance of already configured scripts
pre-commit install and configuration
- Install in system
(apt-get / brew ) install pre-commit
- install in repo
pre-commit install
- then (configure) edit .pre-commit-config.yaml
.pre-commit-config.yaml example (from https://gitlab.com/tezos/tezos/-/blob/master/.pre-commit-config.yaml?ref_type=heads )
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- repo: https://github.com/koalaman/shellcheck-precommit
rev: v0.9.0
hooks:
- id: shellcheck
args: [ "--external-sources" ]
- repo: https://github.com/cisagov/pre-commit-shfmt
rev: v0.0.2
hooks:
- id: shfmt
# These settings must mirror the ones set in `scripts/lint.sh`.
args: [ "-i", "2", "-sr", "-d" ]
- repo: https://github.com/arenadotio/pre-commit-ocamlformat
rev: 0439858
hooks:
- id: ocamlformat
args: [ "-i" ]
- repo: https://github.com/hadolint/hadolint
rev: v2.9.3
hooks:
- id: hadolint-docker
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.28.0
hooks:
- id: check-gitlab-ci
args: ["--verbose"]
files: '(\.gitlab-ci\.yml|\.gitlab/ci/.*\.yml)'
General Notes about pre-commits
- runs only against staged files
- to run manually :
pre-commit run --all-files
- to run 1 check specifically (example : run only 1 plugin (shfmt) )
pre-commit run shfmt
mardi 20 février 2024
[video] Situation Normal, everything must change
https://www.youtube.com/watch?v=BnqyOYvKt9w
https://spaconference.org/spa2016/simon-wardley.html
[video] So You Think You Know Git - FOSDEM 2024
Scott Chacon's FOSDEM 2024 talk on Git Tips and Tricks.
https://www.youtube.com/watch?v=aolI_Rz0ZqY&t=4s
Scott talks about:
00:00 - Introduction
01:06 - About Me (well, Scott Chacon)
02:36 - How Well Do You Know Git?
05:09 - Our Agenda
06:25 - Some Helpful Config Stuff
09:42 - Oldies But Goodies
16:22 - Some New Stuff (You May Not Have Noticed)
23:48 - Some Big Repo Stuff / Monorepo Stuff
33:29 - Some New Github Stuff
35:54 - GitButler
36:50 - End of talk
37:03 - Start of Q&A Session
37:06 - Q: Why does GitHub not do git range diff?
38:28 - Q: Why do submodules suck everywhere?
40:16 - Q: With SSH signing, is it possible to specify more than one key?
40:42 - Q: Why can't --force-with-lease be the default force?
42:33 - Q: If you were back on the Git development team, what direction would you like to see it move in?
44:58 - Q: We all love the Git CLI - but do you ever use any visual tools?
46:41 - That's all folks!-
terraform variable <-> variables {script, gitlab-ci}
(Ici, ce que vous voulez avant le lien) (Ici vous racontez votre vie)
terraform -> gitlab/script/etc.
- Terraform : use an "output"
- Script: get output from terraform command
gitlab -> Terraform
TF_VAR_
in front of the variable name,=> env / exported "
TF_VAR_toto" => variable.tf variable toto
terraform -> gitlab/script/etc. VARIABLE (in project settings)
src https://www.reddit.com/r/Terraform/comments/mwmq4e/comment/gvjo7g3/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
For example : create an EKS cluster & then create a variable with the KUBECONFIG data in another project which has the code for the apps & trigger the deployment of those apps into newly created cluster using that variable.
- terragrunt run-all apply --terragrunt-non-interactive -auto-approve tfplan-$CI_COMMIT_SHA
- terraform output kubectl_config > kubectl_config
- |
curl -s -XPUT -H "PRIVATE-TOKEN: $GITLAB_API_RW_PRIVATE_TOKEN" $CI_API_V4_URL/groups/$GROUP_ID/variables/KUBECONFIG \
--form "value=$(cat kubectl_config)" \
--form "variable_type=file" \
--form "protected=false" \
--form "masked=false" \
--form "environment_scope=*"
jeudi 25 janvier 2024
Québec pépinières
- https://www.pepiniereancestrale.com/ arbres fruitiers
Domaine Joly de Lotbinière (Sainte-Croix de Lotbinière)
http://www.domainejoly.com/fr/accueil/Fédération des sociétés d’horticulture et d’écologie du Québec
http://www.fsheq.com/Le potager ornemental de Catherine (semences de fleurs et de légumes à pollinisation libre sans engrais ni pesticide à Saint-Apollinaire)
http://www.potagerornemental.com/La municipalité de Saint-Antoine-de-Tilly
http://www.saintantoinedetilly.com/La municipalité de Saint-Apollinaire
http://st-apollinaire.comTourisme Lotbinière
http://lotbiniere.chaudiereappalaches.com/fr/accueil/
ASSOCIATIONS ET SOCIÉTÉS HORTICOLES AU QUÉBEC ET AU CANADAAssociation des amateurs d’hémérocalles de la région de Québec
http://www.aahrq.com/AAHRQ/Accueil.htmlAssociation des petits jardins du Québec
http://www.petitsjardins.com/Fédération des sociétés d’horticulture et d’écologie du Québec
(Ce site web donne accès à toutes les sociétés membres)
http://www.fsheq.com/Réseau d’agriculture urbaine de Québec
http://www.agricultureurbaine.net/Société canadienne de la pivoine
http://www.peony.ca/f_html/acceuil.htmSociété des hémérocalles du Canada
http://www.distinctly.on.ca/chs/Société des roses du Québec
http://www.rosesquebec.org/Société québécoise du dahlia
http://www.sqdahlia.qc.ca/Guide du potager urbain (Livre pdf à télécharger gratuitement)
http://www.guidepotagerurbain.com/
Botanix (trucs simples)
http://www.botanix.com/client/pagesoussection.asp?clef2=5Jardinage.net C’est le temps de… (conseils, annuaire du jardiner, forum, etc.)
http://www.jardinage.net/Écohabitation : les meilleures ressources sur le web
http://www.ecohabitation.com/actualite/nouvelles/potager-urbain-quebec-2-meilleures-ressources-webEspace pour la vie. Carnet horticole et botanique (tous les sujets en horticulture)
http://espacepourlavie.ca/carnet-horticole-et-botaniquePhotos de plantes et de jardins en ligne
http://www.millettephotosdeplantes.com/Urbainculteurs (fiches conseils sur les légumes et le jardinage)
http://urbainculteurs.org/conseils-2
SEMENCES D’ICI ET SEMENCES RARESGarden North (plantes rares, rustiques)
http://www.gardensnorth.com/site/Indigo (semences et plantes indigènes)
http://www.horticulture-indigo.com/index.phpJardins de l’écoumène (semences biologiques du patrimoine)
http://www.ecoumene.com/La Société des plantes (variétés certifiées biologiques)
http://www.lasocietedesplantes.com/?p=p_3Le potager ornemental de Catherine (semences de fleurs et de légumes à pollinisation libre sans engrais ni pesticide à Saint-Apollinaire)
http://www.potagerornemental.com/Les jardins de Nathalie (semences de légumes anciens, fleurs et tubercules de culture biologique, variétés rares)
www.semences-jardinsnathalie.comLes Jardins du Grand Portage (semences à pollinisation libre sans engrais, sans pesticide)
http://www.jardinsdugrandportage.com/semences.html?2013Mycoflor Plantes et champignons pour l’amateur d’ethnobotanique (semences non traitées de variétés anciennes et non hybrides de plantes annuelles et vivaces)
http://www.mycoflor.ca/Raresexoticseeds (semences rares er exotiques)
http://www.rarexoticseeds.com/fr/Semences du patrimoine (réseau d’échange et de préservation des semences à pollinisation libre)
http://www.semences.ca/fr.phpSemences Solana (200 variétés de tomates, fleurs, légumes)
http://solanaseeds.netfirms.com/accueil.htmlArbres en ligne.com (arbres et arbustes indigènes et naturalisés)
http://www.arbresenligne.com/Ferme les champs fleuris (lys et iris)
http://www.champsfleuris.com/Fleurs de l’Ile (fleurs annuelles)
http://www.lesfleursdelile.com/produits.htmlFloreSSences (plantes indigènes et naturalisées)
http://www.floressens.ca/index.htmlIris d’eau (plantes aquatiques)
http://www.irisdeau.com/accueilLe jardin des curiosités (différentes variétés de vivaces, arbustes, etc.)
http://www.lejardindescuriosites.com/pepiniere.htmlLes jardins Osiris (différentes variétés de vivaces)
http://www.lesjardinsosiris.com/index_fr.htmLes vivaces du merle bleu (différentes variétés de vivaces)
http://vivacesmerlebleu.com/Pépinière fruitière rustique et ancestrale
http://www.pepinieriste.ca/Pépinière Select plus internationale (lilas)
http://www.spi.8m.com/Pivoines Capano
http://www.pivoinescapano.com/Pivoinerie D’Aoust
http://paeonia.com/Plantek biotechnologies (pivoines Itoh)
http://www.planteck.com/ben/fr/Vivaces de l’Isle (vivaces, hémérocalles)
http://www.vivaces.net/
GRANDS JARDINS À VISITER AU QUÉBECJardin botanique Van den Hende (Ste-Foy)
http://www.jardin.ulaval.ca/Jardin botanique de Montréal (Montréal)
http://espacepourlavie.ca/jardin-botaniqueJardin Daniel A. Séguin (Saint-Hyacinthe)
http://www.itasth.qc.ca/jardindas/index.htmlJardins de Doris (Matane)
http://www.jardinsdedoris.ca/Jardins de Métis (Grand Métis)
http://www.JardinsDeMetis.com/francais/index.phpParc Marie-Victorin (Kinsey Falls)
http://www.parcmarievictorin.com/Maison Saint-Gabriel (Montréal)
http://www.maisonsaint-gabriel.qc.ca/GARDENA (catalogues des différents outils de la compagnie)
http://www.gardena.com/ca/fr/Gérard Bourbeau et fils (centre horticole)
http://www.gerardbourbeau.com/magasin/bienvenue.htmLee Valley (Catalogue qui contient de tout !)
http://www.leevalley.com/fr/home.aspx?c=Urbainculteurs (smart pots)
http://urbainculteurs.org/materielRENSEIGNEMENTS PRATIQUE
Calendrier de semis des légumes (Région de Montréal)
http://m.espacepourlavie.ca/calendrier-de-semis-de-legumes
mercredi 17 janvier 2024
Conventional Commits specification
https://www.conventionalcommits.org/en/v1.0.0/
The Conventional Commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history; which makes it easier to write automated tools on top of. This convention dovetails with SemVer, by describing the features, fixes, and breaking changes made in commit messages.
for example, to be used with commitlint :
https://github.com/conventional-changelog/commitlint
example, on gitlab-ci : https://gitlab.com/gitlab-org/gitlab-vscode-extension/-/merge_requests/85#587d266bb27a4dc3022bbed44dfa19849df3044c
or, at changelog level :
https://github.com/conventional-changelog/conventional-changelog
also cf. commitzen :
lundi 15 janvier 2024
terraform, then ansible
Different solutions exist to run Terraform, and them ansible:
- Using Terraform Output as Ansible Inventory :
https://github.com/adammck/terraform-inventory
$ terraform-inventory -inventory terraform.tfstate [all] 10.10.1.2 10.10.1.3 - `local-exec` / `remote-exec` : terraform runs ansible locally
``` provisioner "local-exec" {command = "ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -u {var.user} -i '${self.ipv4_address},' --private-key ${var.ssh_private_key} playbook.yml"} ```key component here is the ${self.ipv4_address} variable. After provisioning the machine, Terraform knows its IP address. And we need to pass an IP address for Ansible.
(cf https://www.cprime.com/resources/blog/terraform-and-ansible-tutorial-integrating-terraform-managed-instances-with-ansible-control-nodes )
using dynamic inventory and cloud providers specific ansible modules
- AWS : https://docs.ansible.com/ansible/latest/collections/amazon/aws/aws_ec2_inventory.html
- GCP : https://docs.ansible.com/ansible/latest/collections/google/cloud/gcp_compute_inventory.html#ansible-collections-google-cloud-gcp-compute-inventory and so on...
AWS example of the dynamic inventory:
inventory=./aws_ec2.yml
ansible <group-name> -i aws_ec2.yaml -m ping --private-key=<private-key-name>
ansible-playbook myplaybook.yml