This commit is contained in:
Yann Esposito (Yogsototh) 2024-08-14 11:35:53 +02:00
parent c1d2459d0c
commit 6b27fe6c71
Signed by untrusted user who does not match committer: yogsototh
GPG key ID: 7B19A4C650D59646
6 changed files with 418 additions and 0 deletions

9
notes/css.org Normal file
View file

@ -0,0 +1,9 @@
:PROPERTIES:
:ID: d5bc6532-b50e-4155-bb61-7851649b522e
:END:
#+title: css
#+Author: Yann Esposito
#+Date: [2024-07-25]
- tags ::
- source ::

View file

@ -0,0 +1,179 @@
:PROPERTIES:
:ID: 64f9dd41-188c-47de-867e-fa70a2ee9e18
:END:
#+title: IROH-Auth PTO knowledge sharing
#+Author: Yann Esposito
#+Date: [2024-07-29]
- tags :: [[id:ce893df9-32a4-44e0-9eb5-b9817141ee6a][cisco]]
- source ::
* IROH-Auth Maintenance
** Daily tasks ; scripts
1. create a global OAuth2 master client creds
2. configure it into a =~/.cisco.sh.gpg= containing
#+begin_src bash
IROH_CLIENT_ID="client-xxxxx"
IROH_CLIENT_SECRET="client-xxxxx"
IROH_PROVISIONING_CLIENT_ID="client-xxxxx"
IROH_PROVISIONING_CLIENT_SECRET="client-xxxxx"
#+end_src
and then
~gpg -dq ~/.cisco.sh.gpg|source~
3. Connect to all admin VPN
4. Use the scripts; here are the most useful and recently used ones:
#+begin_src
iroh-scripts/
├── add-admin-to-org
├── add-ai-assistant
├── add-flag.sh
├── remove-flag.sh
├── get-client
├── patch-client
├── add-scopes-to-client ;; <- takes care of scopes in the org
├── add-scopes-to-org
├── ai-direct-onboard ;; <- just onboard but do not show; need feature-flag
└── client-pass
xdr-provisioning/
├── add-flag.sh
├── add-xdr-flag.sh
├── full-reprovision.sh
├── re-provision.sh
├── sc-provision.sh ;; <- never used for real one of my task to check, not sure I could
├── sx-only-provision.sh
├── tsv-to-commands.sh
└── xdr-provision.sh
#+end_src
*** Recent daily tasks
- add XDR flag to some QA org
- remove XDR flag to some PROD org (from Danny)
- patch clients from different sources, mixed with webhooks?
** Provisioning & Onboardings
Too many Provisioning APIs
- SXSO migration ⇒ ~/iroh/provisioning~
- PIAM pre-universal ⇒ ~/iroh/provisioning/platform~
- PIAM universal (real) ⇒ ~/iroh/external-provisioning~ only PIAM tokens
- PIAM universal copy for QA ⇒ ~/iroh/provisioning/universal-provisioning~
After SX EOL: TWO Provisioners;
- PIAM via universal provisioning API and
- SE via PIAM pre-universal API.
*** Onboarding
- XDR: PIAM Onboarding: CSC, SXO, DI, SCA
- SC-UI (sometime called SCM): SE Onboarding: SE, CSC, Orbital, DI
The onboarding conf is mostly what you would put in the ~clj-http/post~.
Recent bugs/weakness:
- body template... ⇒ risk to break content-type and/or parsing as json
- body passed in the request ⇒ no control on this thing....
- Universal Provisioning ⇒ separate but similar onboarding service... THAT'S
BAD... PR in progress, probably not able to finish
*** Current risks/potential bugs
**** PIAM Universal Provisioning
Universal Provisioning callback.
Flow is:
1. PIAM -> IROH (provides IROH a /CALLBACK_URL/)
2. IROH -> External Onboarding Service
3. External Onboarding Service -> IROH: save body in callback-response
4. After all onboarding have answered, send response to /CALLBACK_URL/ provided by PIAM
Wanderson told me, in EU, some does not have any callback url, but PIAM did not
have these as error on their side.
If an error occurs, we should still respond to PIAM otherwise it is an error on
their side, even if things went well on ours.
There is a cron job, generally just changing the state in the store, will be
enough for the cron job to take care of the rest and return the answer to PIAM.
There is also an endpoint to trigger the cron manually of course.
**** SE Provisioning
We added the onboarding ~orbital~ but SE is sending a specific body via the
onboarding API to Orbital. So you cannot use the onboarding for orbital directly.
SE is mostly alone in dealing with the provisioning.
Their client should have all mandatory scopes, but there is a risk they want more.
* SX EOL quickly
** The flags
In order to not show the feature-flag mixed with the scopes, there is a new
field ~flags~ inside the ~Org~.
A single flag has some effect: ~sc~.
If you have this flag, you cannot use SX and are redirected to SC.
After SX EOL, this flag will not have any effect.
Plan to add a flag with effect with ~sx~ so QA could still use SX in TEST for 1
year after SX EOL.
*** Managing the flags
https://stunning-barnacle-e4478e20.pages.github.io/admin-ui/
Use FF-UI or the scripts
Note the scopes required to add/remove the flag.
Changed, with should be given to TAC, to should not be given to TAC.
The APIs are hidden under the provisioning APIs both for: ~flags~ and ~feature-flag-scopes~.
If possible let's deprecate ~feature-flag-scopes~ even if probably the xdr
feature-flag will be there forever.
** Redirections
There are new dynamically built fields ~apps~ and ~main-app~.
- ~apps~ the application the user can use
- ~main-app~ the application the user should default to when we have different choices.
There is a new ~apps~ section in the ~config~ to know which URL we can use for apps.
#+begin_src clojure
{:global
{:apps
{:sc
{:module-type-ids-allow-list
;; would be better with aliases in the config, now with aero we can do it
#{"03d8591b-8374-5666-8fcc-eaea9188193c"
"b6a282ad-be30-4382-b27f-7346320e3b84"
"b7f21c6b-701a-4b45-8a3d-449001844efe"
"b95d5cd0-5bcb-45f6-921c-e2777468f6b0"}
:url "https://secure-client.us.security.cisco.com"}
:sx
{:module-type-ids-allow-list :all,
:url "https://securex.us.security.cisco.com"}
:xdr
{:module-type-ids-allow-list :all,
:url "https://xdr.us.security.cisco.com"}}
}
#+end_src
This is used by both the UI and the backend to decide where to redirect users.
The rules are a bit complex, but we try our best to prevent a redirect hop via a
UI if we have enough details.
** Change SX EOL API
https://iroh-adm.test.iroh.site/admin/maintenance/index.html#/ReleaseBehaviorManagement/put_admin_maintenance_release_behaviors__deadline_id_

View file

@ -0,0 +1,85 @@
#+Title: Journal (2024-07-04 - ∆y=47.33 (17288))
#+Author: Yann Esposito
#+Date: [2024-07-04]
#+LANG: fr
* Résume Journée
:PROPERTIES:
:VISIBILITY: content
:CREATED: 20240704
:END:
** Matin
:PROPERTIES:
:VISIBILITY: content
:CREATED: 20240704
:END:
| Pression au travail ? | 3/5 |
| Motivé de commencer la journée ? | 1/5 |
| Est-ce que je me sens plein d'énergie ? | 3/5 |
| Est-ce que je me sens concentré et préparé ? | 4/5 |
- Que dois-je faire en dehors du travail ?
** Soirée
:PROPERTIES:
:CREATED: 20240704
:END:
| activité φ | ?/5 | au lit -> sport |
| nourriture | ?/5 | mal-bouffe -> saine |
| humeur | ?/5 | exécrable -> excellente |
| énergie | ?/5 | exécrable -> excellente |
| intérêt | ?/5 | ennuie -> exceptionnel |
* 2024-07-04 Thursday
** 13:35 Hello!
Ça faisait un long moment que je n'avais pas utilisé le journal d'org-mode.
C'est simple, nous sommes le 4 juillet et c'est ma première entrée de l'année.
J'ai pas mal déplacer mes écrit vers org-roam sur des sujets précis.
Mais je me suis aperçu que je n'avais pas les idées assez claires et stables
pour pouvoir vraiment écrire précisement sur certains sujets.
Aussi le journal semble un bon endroit pour éclaircir ses idées sans pour
objectif de les publier ouvertement à tous.
Mais plus comme des notes personnelles.
*** Leçons acquises en programmation
Bon j'ai une sorte de tout un tas de connaissances acquises par l'expérience et
je constate en regardant le travail de mes pairs que ce que je considère comme
des connaissances communes ne le sont pas.
Je pense que j'ai eu cette impression trop longtemps parce que je travaille avec
des gens qui partagent une grosse partie de mes goûts et mes préférences dans ce
métier.
Tout d'abord, il faut être clair, aujourd'hui, je ne pense pas que la création
de programme informatique relève de l'ingénierie. Cela reste, même dans les
grosses structure, plus de l'artisanat que de l'ingénierie.
C'est-à-dire qu'il n'existe pas, ou disons, très peu, de lois et de règles que
tout le monde doit suivre dans ce métier.
Il y a pourtant certains principes qui en font la spécificité.
Il a été prouvé que la partie la plus importante pour qu'un projet informatique
soit un succès (attention ce n'est pas très formel) est la bonne gestion de
la complexité.
C'est une évidence pour n'importe quel programmeur avec de l'expérience.
La grande difficulté par contre et de mettre le doit sur quel type de
complexité.
Il y a en effet plusieurs façons d'être complexe.
Il y a une complexité inhérente au système que nous devons fabriquer.
C'est-à-dire, une complexité, impossible à réduire parce qu'elle fait partie du
problème à résoudre.
Et il y a tout un tas d'autres complexités qui viennent se greffer à cette
complexité du problème.
Et c'est souvent là que ce situe le gros des problèmes des projets.
Il faut ajouter à ça, que dans le monde moderne, le problème change avec le
temps pendant la construction de la solution.
Il faut donc non seulement produire une solution au problème demandé, mais en
plus avoir une solution adaptable a des changements non connu à l'avance du
problème.
Il est donc important de garder à l'esprit des tonnes de contraintes techniques
et humaines lors de l'élaboration et la création d'un programme informatique.
...

View file

@ -0,0 +1,51 @@
#+Title: Journal (2024-08-13 - ∆y=47.44 (17328))
#+Author: Yann Esposito
#+Date: [2024-08-13]
#+LANG: fr
* Résume Journée
:PROPERTIES:
:VISIBILITY: content
:CREATED: 20240813
:END:
** Matin
:PROPERTIES:
:VISIBILITY: content
:CREATED: 20240813
:END:
| Pression au travail ? | ?/5 |
| Motivé de commencer la journée ? | ?/5 |
| Est-ce que je me sens plein d'énergie ? | ?/5 |
| Est-ce que je me sens concentré et préparé ? | ?/5 |
- Que dois-je faire en dehors du travail ?
** Soirée
:PROPERTIES:
:CREATED: 20240813
:END:
| activité φ | ?/5 | au lit -> sport |
| nourriture | ?/5 | mal-bouffe -> saine |
| humeur | ?/5 | exécrable -> excellente |
| énergie | ?/5 | exécrable -> excellente |
| intérêt | ?/5 | ennuie -> exceptionnel |
* 2024-08-12 Monday
** 00:01 10k days
10k jours, c'est environ 27 ans et demi.
C'est à peu près le temps qu'il me reste à vivre.
Sachant que pour devenir un professionnel, on considère qu'il faut environ 10k
heures sur un sujet. Cela signifie qu'à force de 1h par jour sur un sujet
spécifique je pourrais devenir un spécialiste de ce nouveau sujet.
Étant donné le temps obligatoire à passer sur tous les autres sujets de la vie.
Il serait difficile d'imaginer pouvoir maîtriser plus que deux ou trois autres disciplines.
Il semblerait qu'en fonction des critères qui me concernent, la probabilité
qu'il me reste au moins 10k jours à vivre soit d'environ 71%.
Je pense donc qu'il est peut-être temps pour moi de me trouver des objectifs et
d'arriver à avancer vers cet objectif sachant que mon temps est compté.

View file

@ -0,0 +1,36 @@
#+Title: Journal (2024-08-13 - 9999 - ∆y=47.44 (17328))
#+Author: Yann Esposito
#+Date: [2024-08-13]
#+LANG: fr
* 2024-08-13 Tuesday
** 07:54
J'ai modifié mon template de journal.
Je n'ai jamais réussi à me tenir sur les notes, faire des stats, etc…
Je pourrais seulement y arriver si tout était plus automatique.
Maintenant on voit une valeur pour le 10k days.
Bon, je suis en vacances, je ne vais pas trop investir d'énergie pour l'instant.
Mais un des premier objectifs sera de trouver un objectifs pour ces 10k days.
** 10:36 Transactional relationships
J'ai lu il y a peu un commentaire qui explique la différence dans les rapports
humains récents.
Une personne expliquait le nombre croissant de rapports simplement
transactionnels entre les individus.
On ne connait plus rien de la vie des gens avec qui nous interagissons.
On ne demande pas sa vie à un livreur Amazon, ou Uber.
Parce que notre contact est trop court pour investir du temps dans ces
discussions la plupart du temps.
Alors que précédemment les personnes avaient le temps de communiquer entre
elles, de prendre des nouvelles de leur famille, de leur vie, de leurs émotions.
Il s'agit d'une manifestation parmi tant d'autre de la destruction de lien
social.
La première fois que j'ai été exposé à cette idée est assez récente en voyant
un petit exposé de Rolland Gorri. Et le voir lors d'une diffusion d'un
documentaire au cinéma de Martigues.
En cherchant son nom, on voit qu'il participe à une association dont le role est
de re-privilégier le lien social et lutter contre tout ce qui le détruit.

View file

@ -0,0 +1,58 @@
#+Title: Journal (2024-08-14 - 9998 - ∆y=47.44 (17329))
#+Author: Yann Esposito
#+Date: [2024-08-14]
#+LANG: fr
* 2024-08-14 Wednesday
** 08:56 Espérance de vie résiduelle
Je viens de penser à cette notion des dix milles jours qui me reste pour être
productif. Mais pour bien vérifier que ces 10k jours semblent réalistes, je suis
tout de même allé me renseigner sur cette notion d'espérance de vie résiduelle.
A mon âge, il me reste environ 40.7 ans d'espérance de vie résiduelle.
Soit le tableau suivant:
| Âge | Taux de survie |
|---------+----------------|
| 50 ans | 99.528 % |
| 55 ans | 98.243 % |
| 60 ans | 96.442 % |
| 65 ans | 94.052 % |
| 70 ans | 90.792 % |
| 75 ans | 85.952 % |
| 80 ans | 78.009 % |
| 85 ans | 64.082 % |
| 90 ans | 42.413 % |
| 95 ans | 18.590 % |
| 100 ans | 4.211 % |
Dans 10k jours, j'aurai 74.81 ans. Donc j'ai un probabilité de survie d'environ 86%
ce qui bien que loin d'être certain permet de faire un paris pas trop risqué sur
le fait d'y arriver.
Il faut tout de même rajouter qu'il s'agit aussi lors de ces 10k days d'avoir
une activité. Il convient donc de s'informer sur l'espérance de vie sans
incapacité ou incapacité sévère.
En France aujourd'hui, l'espérance de vie sans incapacité d'un homme de 65 ans
est de 10.4 ans, et 15.7 ans sans incapacité sévère.
Ce qui rentre dans les clous des 75 ans que je vise.
Il a donc été assez chanceux que je pense à ces 10k jours récemment parce qu'on
est assez proche du max à mon âge.
Bien, il me reste donc 9998j. Et jusqu'ici, je ne sais même pas ce que je vais
faire de ces 10k jours. Je sais juste que c'est le temps qu'il reste et qu'il
faut qu'une partie de ce temps soit utilisé pour faire des choix sur quoi faire.
** 09:54 Thèmes pour les 10k
Il serait temps que j'essaye d'établir une liste de thèmes qui pourraient m'intéresser.
Récemment un nouveau thème intéressant est du au effets positifs des rapports
de domination. Pourquoi ils sont essentiels.
Un autre dans mon domaine est peut-être produire un langage de programmation
encore plus pragmatique qui enlève des features inutiles mais aussi met au
centre du langage des features d'organisation de programmes.
En particulier, un système de gestion de services, de contexte en premier
argument des fonctions.
Un sorte de "Flow Oriented programming"