Compare commits
1 Commits
main
...
redac/non-
| Author | SHA1 | Date | |
|---|---|---|---|
|
28d95cb568
|
304
articles/non-trivial-tuto-leptos/search-and-notes.md
Normal file
304
articles/non-trivial-tuto-leptos/search-and-notes.md
Normal file
@@ -0,0 +1,304 @@
|
||||
# Notes de travail
|
||||
|
||||
## Ce que chatGPT pense
|
||||
|
||||
|
||||
QUESTION
|
||||
|
||||
why should I consider using leptos, a web framework in rust?
|
||||
|
||||
RÉPONSE
|
||||
|
||||
You should consider using Leptos because it offers fine-grained reactivity, enabling high performance by updating only the exact parts of the DOM that change—often outperforming React, Svelte, and Vue in benchmarks. It eliminates the need for a virtual DOM, reducing overhead and improving speed.
|
||||
|
||||
Leptos supports full-stack development with server-side rendering (SSR), hydration, and isomorphic server functions, allowing seamless integration of frontend and backend logic in Rust. This simplifies architecture and reduces the need for separate APIs.
|
||||
|
||||
Built for WebAssembly (Wasm), it leverages Rust’s memory safety and zero-cost abstractions, making web apps both fast and secure. With strong ecosystem support via wasm-bindgen and wasm-pack, and growing production use, Leptos is a modern, stable choice for high-performance web applications.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
QUESTION
|
||||
|
||||
Énumère et décrit des noms de tempos de musique à consonance italienne.
|
||||
|
||||
Si tu avais à en choisir un pour leptos, ce serait lequel et pourquoi?
|
||||
|
||||
RÉPONSE
|
||||
|
||||
Voici quelques noms de tempos italiens courants avec leur signification :
|
||||
|
||||
- Largo : Très lent, ample et solennel (40–60 BPM)
|
||||
- Adagio : Lent et expressif (60–80 BPM)
|
||||
- Andante : Allant, comme une marche tranquille (76–100 BPM)
|
||||
- Moderato : Rythme modéré, équilibré (88–112 BPM)
|
||||
- Allegro : Vif, rapide et joyeux (112–160 BPM)
|
||||
- Vivace : Très vif et énergique (120–140 BPM)
|
||||
- Presto : Très rapide (140–200 BPM)
|
||||
- Prestissimo : Extrêmement rapide (>188 BPM)
|
||||
|
||||
Brave logo
|
||||
Demander
|
||||
Tout
|
||||
Images
|
||||
Actualités
|
||||
Vidéos
|
||||
Recherche personnalisée
|
||||
|
||||
New conversation
|
||||
|
||||
|
||||
I use nvim and I want to insert emojis in my text.
|
||||
Terminé
|
||||
|
||||
🌐
|
||||
🌐
|
||||
🌐
|
||||
🌐
|
||||
+6
|
||||
You can insert emojis in Neovim using built-in methods or plugins. Below are the most effective approaches:
|
||||
|
||||
1. Built-in Unicode Insertion
|
||||
Use Vim's native Unicode input method:
|
||||
|
||||
Enter insert mode.
|
||||
Press <C-v> (Ctrl+V), then:
|
||||
For emojis with 4-digit hex codes: u + 4-digit code (e.g., <C-v>u2615 → ☕).
|
||||
For emojis with longer codes: U + 8-digit code (e.g., <C-v>U1F60A → 😊).
|
||||
Note: Leading zeros can be omitted, but you may need to press a non-digit key (like Space) to finalize input.
|
||||
|
||||
|
||||
Vim insert Unicode character
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
2. Digraphs
|
||||
Define shortcuts for frequently used emojis:
|
||||
|
||||
" In your init.vim or .vimrc
|
||||
digraph sm 128512 " <C-k>sm → 😀
|
||||
|
||||
In insert mode, press <C-k> followed by the digraph (e.g., sm).
|
||||
|
||||
|
||||
Vim digraphs emoji
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
3. Abbreviations
|
||||
Set up text replacements:
|
||||
|
||||
" Example abbreviations
|
||||
ab :smile: 😀
|
||||
ab :coffee: ☕
|
||||
ab :thumbsup: 👍
|
||||
|
||||
Type :smile: and press Space to expand.
|
||||
|
||||
|
||||
Neovim emoji abbreviations site:reddit.com
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
4. Plugins for Emoji Picker & Completion
|
||||
📦 emoji.nvim (Recommended)
|
||||
A modern plugin with search and auto-completion:
|
||||
|
||||
-- Using Lazy.nvim
|
||||
{
|
||||
"Allaman/emoji.nvim",
|
||||
config = true,
|
||||
cmd = { "Emoji", "EmojiByGroup" },
|
||||
keys = {
|
||||
{ "<leader>e", "<cmd>Emoji<cr>", desc = "Emoji picker" },
|
||||
},
|
||||
}
|
||||
|
||||
Use :Emoji to open a searchable list.
|
||||
Supports nvim-cmp: type : and search by name (e.g., :smile:).
|
||||
|
||||
emoji.nvim, Neovim plugin
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
🔍 telescope-emoji.nvim (For Telescope Users)
|
||||
Integrates with telescope.nvim:
|
||||
|
||||
{
|
||||
"xiyaowong/telescope-emoji.nvim",
|
||||
dependencies = { "nvim-telescope/telescope.nvim" }
|
||||
}
|
||||
|
||||
After setup, use :Telescope emoji to search and insert.
|
||||
|
||||
|
||||
telescope-emoji.nvim, Neovim plugin
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
🧩 smoji.nvim (For Git Commit Messages)
|
||||
Ideal for gitmoji-style commits:
|
||||
|
||||
{
|
||||
"zakissimo/smoji.nvim",
|
||||
cmd = "Smoji",
|
||||
keys = { { "<leader>e", "<cmd>Smoji<cr>", desc = "Insert emoji" } },
|
||||
}
|
||||
|
||||
|
||||
smoji.nvim, Neovim plugin
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
5. OS-Level Emoji Picker
|
||||
macOS: Press Ctrl+Cmd+Space in insert mode.
|
||||
Windows: Press Win + ..
|
||||
Linux: Depends on terminal (e.g., Kitty has built-in picker).
|
||||
|
||||
How to use emoji picker in Neovim
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Requirements
|
||||
Ensure your terminal/font supports Unicode (e.g., Nerd Fonts).
|
||||
Set UTF-8 encoding in Neovim:
|
||||
set encoding=utf-8
|
||||
|
||||
|
||||
Neovim Unicode font support
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1. Built-in Unicode Insertion
|
||||
2. Digraphs
|
||||
3. Abbreviations
|
||||
4. Plugins for Emoji Picker & Completion
|
||||
5. OS-Level Emoji Picker
|
||||
Requirements
|
||||
|
||||
Copier
|
||||
|
||||
|
||||
find me a recent article from a good reputation source that explain why it have been a good thing that the linux core use rust now.
|
||||
|
||||
Terminé
|
||||
The integration of Rust into the Linux kernel has been a significant step toward improving system security and stability. A March 2025 article from LinuxSecurity.com highlights that Rust's memory safety features—such as its ownership model and compile-time checks—help prevent common vulnerabilities like buffer overflows and use-after-free errors, which account for a large portion of historical kernel bugs.
|
||||
|
||||
Key benefits include:
|
||||
|
||||
Enhanced security: Rust eliminates many memory-related bugs by design, reducing the attack surface.
|
||||
Hybrid approach: New kernel components are written in Rust while maintaining stable C code, ensuring backward compatibility.
|
||||
Support from core developers: Maintainers like Greg Kroah-Hartman and Kees Cook back the initiative, emphasizing safety without sacrificing performance.
|
||||
Performance overhead is minimal—studies show only 0.7% to 3% increase in certain components—making Rust a practical and forward-looking addition.
|
||||
|
||||
|
||||
Rust for Linux
|
||||
project for adding a second language to the Linux kernel
|
||||
Wikipedia
|
||||
rust-for-linux.com
|
||||
Rust for Linux logo
|
||||
|
||||
Copier
|
||||
|
||||
|
||||
why should I consider using leptos, a web framework in rust?
|
||||
|
||||
Terminé
|
||||
You should consider using Leptos because it offers fine-grained reactivity, enabling high performance by updating only the exact parts of the DOM that change—often outperforming React, Svelte, and Vue in benchmarks. It eliminates the need for a virtual DOM, reducing overhead and improving speed.
|
||||
|
||||
Leptos supports full-stack development with server-side rendering (SSR), hydration, and isomorphic server functions, allowing seamless integration of frontend and backend logic in Rust. This simplifies architecture and reduces the need for separate APIs.
|
||||
|
||||
Built for WebAssembly (Wasm), it leverages Rust’s memory safety and zero-cost abstractions, making web apps both fast and secure. With strong ecosystem support via wasm-bindgen and wasm-pack, and growing production use, Leptos is a modern, stable choice for high-performance web applications.
|
||||
|
||||
|
||||
Leptos, Rust web framework
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Copier
|
||||
|
||||
|
||||
Énumère et décrit des noms de tempos de musique à consonance italienne.
|
||||
|
||||
Si tu avais à en choisir un pour leptos, ce serait lequel et pourquoi?
|
||||
|
||||
Terminé
|
||||
Voici quelques noms de tempos italiens courants avec leur signification :
|
||||
|
||||
Largo : Très lent, ample et solennel (40–60 BPM)
|
||||
Adagio : Lent et expressif (60–80 BPM)
|
||||
Andante : Allant, comme une marche tranquille (76–100 BPM)
|
||||
Moderato : Rythme modéré, équilibré (88–112 BPM)
|
||||
Allegro : Vif, rapide et joyeux (112–160 BPM)
|
||||
Vivace : Très vif et énergique (120–140 BPM)
|
||||
Presto : Très rapide (140–200 BPM)
|
||||
Prestissimo : Extrêmement rapide (>188 BPM)
|
||||
|
||||
Liste des termes italiens employés en musique
|
||||
glossaire de Wikimedia
|
||||
Wikipedia
|
||||
Liste des termes italiens employés en musique — Wikipédia
|
||||
Si je devais choisir un tempo pour Leptos, ce serait Allegro.
|
||||
|
||||
Pourquoi ?
|
||||
Leptos est un framework rapide, réactif et énergique par conception. Il compile en WebAssembly pour des performances maximales, met à jour le DOM avec précision, et permet des applications ultra-réactives. Ce dynamisme correspond parfaitement à l’esprit d’Allegro, qui signifie à la fois vitesse et allégresse — reflétant bien l’expérience de développement et d’exécution avec Leptos.
|
||||
|
||||
|
||||
|
||||
|
||||
QUESTION
|
||||
|
||||
Can you have a look at this website: nationtech.io and propose me an enhanced and complete color scheme for a website?
|
||||
|
||||
RÉPONSE
|
||||
|
||||
Sur la base de l’analyse du site nationtech.io, qui met en avant une vision harmonieuse, humaine et technologiquement mature du cloud et des micro-datacenters, voici une palette de couleurs complète et renforcée adaptée à son identité :
|
||||
|
||||
🎨 Palette proposée
|
||||
Rôle Couleur Code Usage
|
||||
Primaire Bleu profond #1E3A8A En-têtes, éléments clés (confiance, stabilité)
|
||||
Secondaire Violet sagesse #6D28D9 Accents, icônes (innovation, vision)
|
||||
Énergie Orange vif #F97316 Boutons d'action, appels à l'action (enthousiasme, croissance)
|
||||
Neutre clair Gris perle #F3F4F6 Arrière-plans, cartes
|
||||
Neutre foncé Gris anthracite #1F2937 Texte, navigation
|
||||
Surbrillance Blanc pur #FFFFFF Contenu principal, espaces aérés
|
||||
|
||||
🌿 Pourquoi cette palette ?
|
||||
Le bleu-violet allie fiabilité (bleu) et innovation (violet), reflétant une technologie robuste et humaine.
|
||||
L’orange ajoute une touche d’énergie sans agressivité, symbolisant la croissance organique évoquée sur le site.
|
||||
Les tons neutres assurent lisibilité et élégance, favorisant une expérience apaisante et professionnelle.
|
||||
🖌️ Application
|
||||
Utilisez le bleu pour la barre de navigation et les titres.
|
||||
Le violet pour les liens, badges et indicateurs interactifs.
|
||||
L’orange uniquement pour les CTA comme “Get Started” ou “Join the Ecosystem”.
|
||||
Arrière-plans en gris perle pour aérer le contenu technique.
|
||||
|
||||
|
||||
QUESTION
|
||||
RÉPONSE
|
||||
QUESTION
|
||||
RÉPONSE
|
||||
QUESTION
|
||||
RÉPONSE
|
||||
QUESTION
|
||||
RÉPONSE
|
||||
103
articles/non-trivial-tuto-leptos/texte-fr.md
Normal file
103
articles/non-trivial-tuto-leptos/texte-fr.md
Normal file
@@ -0,0 +1,103 @@
|
||||
# On est tellement fan de rust qu'on a même fait notre site web avec!
|
||||
|
||||
À NationTech, on est des vrai fan de rust!
|
||||
|
||||
On sait que c'est pas l'avis de tous... même que des fois il
|
||||
|
||||
On reste quand même pragmatique, et c'est pour ça qu'[on y a bien réfléchi avant d'en faire le language principal de Harmony](https://git.nationtech.io/NationTech/harmony/src/branch/master/adr/001-rust.md). Performance, stabilité, sécurité et un language en plein essor qui a fait déjà ses preuves (voir [les bénéfices observés de l'usage de rust dans le kernel linux](https://www.linuxjournal.com/content/how-rusts-debut-linux-kernel-shoring-system-stability) et [l'effet de l'usage de rust à l'interne de google](https://rust.developpez.com/actu/377658/Google-a-adopte-Rust-pour-des-raisons-de-securite-et-a-constate-une-reduction-de-1-000-fois-des-vulnerabilites-liees-a-la-securite-de-la-memoire-compare-a-C-et-Cplusplus/)).
|
||||
|
||||
Alors, pour Harmony, un outil de gestion de Datacenters auto-hébergés, pour nous le choix était évident: Rust! Mais pour notre page web... Rust?
|
||||
|
||||
Dans le cas d'un site web, rust c'est un peu un ovni. N'empêche que [leptos](https://github.com/leptos-rs/leptos) semblait très impressionnant. Alors, on l'a essayé et voici le résultat de quelques-unes de nos expériences.
|
||||
|
||||
Spoiler, on l'a adopté! Alors, si vous avez des commentaires ou des retours d'expérience, [n'hésitez pas à venir nous les partager sur Discord](https://discord.com/invite/jKprrek8AF).
|
||||
|
||||
Pour la section tutoriel (href) n'hésitez pas à consulter aussi le repo git (url)
|
||||
|
||||
## La douce mélodie de Leptos
|
||||
|
||||
### Un ovni qui rock (émoji d'alien et de musique)
|
||||
|
||||
[a recours aux approche les plus innovantes]
|
||||
|
||||
full-stack development with server-side rendering (SSR), hydration, and isomorphic server functions, allowing seamless integration of frontend and backend logic in Rust. This simplifies architecture and reduces the need for separate APIs.
|
||||
|
||||
CSR (client) vs SSR (server)
|
||||
|
||||
|
||||
### Web typé sans les joies (émoji rire) de TypeScript
|
||||
|
||||
On se sent bien, on se sent chez soi!
|
||||
|
||||
tuto sur ce qu'est leptos. Pourquoi c'est intéressant et comment ça marche.
|
||||
|
||||
### Performance, promesse de Rust tenue par Leptos
|
||||
|
||||
" fine-grained reactivity, enabling high performance by updating only the exact parts of the DOM that change—often outperforming React, Svelte, and Vue in benchmarks. It eliminates the need for a virtual DOM, reducing overhead and improving speed."
|
||||
|
||||
### Utilisez vore logique métier
|
||||
|
||||
## Leptos en allegro
|
||||
|
||||
Maintenant, passons aux choses sérieuses et construisons un blog multilinque qui complémentera notre site web.
|
||||
|
||||
Fonctionnalités:
|
||||
|
||||
- Définition de la structure des donnée des sections avec les `struct` rust
|
||||
- conversion bidirectionnelle entre markdown et le [format fluent](https://projectfluent.org/) (`.ftl`) pour la traduction
|
||||
- une architecture ports et adapteurs avec des fonctionnalités de coeurs utilisables par un cli et par le site web
|
||||
- sections et pages
|
||||
- quelques routes pour la démo
|
||||
|
||||
et voilà!
|
||||
|
||||
Ce sera vite, ce sera joyeux: allegro!
|
||||
|
||||
### Avant toute chose, un peu de boilerplate
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
# installe rust
|
||||
|
||||
# installe lib pour wasm
|
||||
rustup target add wasm32-unknown-unknown
|
||||
```
|
||||
|
||||
rustup, c'est...
|
||||
|
||||
cargo, c'est ...
|
||||
|
||||
trunk, c'est ...
|
||||
|
||||
|
||||
### On définit les structs
|
||||
|
||||
|
||||
### On définit les sections
|
||||
|
||||
### Le style dès maintenant parce qu'on va pas au bal tout nu
|
||||
|
||||
### Voilà notre première page (émoji de note de musique)
|
||||
|
||||
### On traduit parce qu'on vise le marché international
|
||||
|
||||
### On ajoute un core et un cli juste pour la démo
|
||||
|
||||
Pour ceux qui aiment les clis, on ne vous a pas oublié. Ici, on va ajouter un petit outil en support de la traduction.
|
||||
|
||||
### On peut maintenant servir tous nos articles
|
||||
|
||||
Génération d'index.
|
||||
|
||||
Ajout des routes.
|
||||
|
||||
## Conclusion
|
||||
|
||||
Deviez-vous changer de framework web pour leptos? Ça c'est vore affaire, on viendra pas vous dire quoi faire.
|
||||
|
||||
Mais nous, on s'amuse bien avec leptos. Ça nous rend heureux de pouvoir recycler nos skills et no tricks de rust un peu partout, alors pourquoi pas sur le web?
|
||||
|
||||
Venez en discuter sur le discord de NationTech. Et *funky codage*! (emoji de musique)
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
|
||||
## Message de will ds affilium
|
||||
https://discord.com/channels/874270880975450112/1291867776310579221/1441782992258207846
|
||||
|
||||
Bonjour,
|
||||
Hier, on a finalement réussi à régler l’erreur de création d’IPAddress qui tournait en boucle.
|
||||
Au final, c’était un bug connu avec OCP 4.20 et Ceph.
|
||||
L’info est ici :
|
||||
https://github.com/okd-project/okd/issues/2280
|
||||
|
||||
En gros, le problème était :
|
||||
-Après l’upgrade vers 4.20, le ipallocator-repair-controller créait des IPAddress dans le namespace `default`
|
||||
-Leur spec.parentRef pointait vers des Services dans le namespace `rook-ceph`
|
||||
- Les références cross-namespace ne sont pas permises, donc l’opérateur les supprimait immédiatement
|
||||
- Ce qui créait une boucle infinie
|
||||
- L’erreur alternait entre rook-ceph-mgr-dashboard et rook-ceph-mgr selon lequel était actif
|
||||
- Aucun Service Ceph n’existait dans `default`, mais des IPAddress y étaient quand même créés avec un ref vers `rook-ceph`
|
||||
|
||||
L’application des ressources ci-dessous a réglé le problème :
|
||||
```
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingAdmissionPolicy
|
||||
metadata:
|
||||
name: deny-ceph-ipaddress-in-default
|
||||
spec:
|
||||
matchConditions:
|
||||
- name: is-default-ns
|
||||
expression: 'object.metadata.namespace == "default"'
|
||||
- name: parent-is-ceph
|
||||
expression: 'object.spec.parentRef.namespace == "rook-ceph" && (object.spec.parentRef.name == "rook-ceph-mgr" || object.spec.parentRef.name == "rook-ceph-mgr-dashboard")'
|
||||
validations:
|
||||
- expression: 'false'
|
||||
message: 'IPAddress for Ceph service must not be created in default; cross-namespace parentRef is invalid.'
|
||||
failurePolicy: Fail
|
||||
matchConstraints:
|
||||
resourceRules:
|
||||
- apiGroups: ["networking.k8s.io"]
|
||||
apiVersions: ["v1"]
|
||||
operations: ["CREATE"]
|
||||
resources: ["ipaddresses"]
|
||||
---
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingAdmissionPolicyBinding
|
||||
metadata:
|
||||
name: deny-ceph-ipaddress-in-default-binding
|
||||
spec:
|
||||
policyName: deny-ceph-ipaddress-in-default
|
||||
validationActions: ["Deny"]
|
||||
```
|
||||
@@ -1,79 +0,0 @@
|
||||
# Junior: je suis bon, j'ai trouvé le problème rapidement de régler les problèmes rapidementavec Harmony
|
||||
TLDR: OKD permet presque de dormir sur la job (émoji rire) sauf... quand il y a un bug d'intégration (émoji oups!). Harmony nous apporte la confiance que ça n'arrivera pas dans notre compagnie (emoji musique)
|
||||
Allez direct à la section technique. =>
|
||||
|
||||
|
||||
En choisisant OKD comme fondation Cloud entreprise, on ne se trompe pas! La vie d'ingénieur en fiabilité est tranquille.
|
||||
On peut gérer sans encombre une ~~shitload~~ tonne de services, des vms avec migration entre node sans interruption, des BD, en veux-tu, en v'là! Et tout ça en multisite. Facile! Merci Kubernetes pour la superbe capacité d'abstraction du matériel.
|
||||
|
||||
Et le stockage n'est pas en reste. Peut-être avez eu la ~~bordel~~ chance d'installer et de gérer un cluster ceph avec le playbook (`ceph-ansible`)? C'est certainement mieux qu'un script bash pour obtenir un cluster de stockage performant, scalable, High Availability, sans single point of failure et assez souplesse pour prendre en charge autant vos stockage block, object et file! Alors on peut se dire que ça vaut la peine de se donner tout ce mal!
|
||||
|
||||
Mais pourquoi se donner tout ce mal? Ansible gère bien le déploiement multi-site, mais... c'est à peu près tout (émoji de déception). Kubernetes prend en charge la synchronisation de l'ensemble des nodes et la gestion dynamique des ressources, potentiellement tout au long de leur cycle de vie. Et OKD, ajoute une robustesse lors des migrations qui rend le tout vraiment
|
||||
|
||||
## IPPAddress has a wrong reference... cleaning up!
|
||||
|
||||
|
||||
## Spoiler: ajouter ce manifest lors de la migration
|
||||
|
||||
- Dans quelle situation peut-on suspecter le problème
|
||||
- Comment se manifeste le problème?... ralentissament?
|
||||
- Comment diagnostiquer
|
||||
|
||||
Si vous rencon
|
||||
|
||||
```
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingAdmissionPolicy
|
||||
metadata:
|
||||
name: deny-ceph-ipaddress-in-default
|
||||
spec:
|
||||
matchConditions:
|
||||
- name: is-default-ns
|
||||
expression: 'object.metadata.namespace == "default"'
|
||||
- name: parent-is-ceph
|
||||
expression: 'object.spec.parentRef.namespace == "rook-ceph" && (object.spec.parentRef.name == "rook-ceph-mgr" || object.spec.parentRef.name == "rook-ceph-mgr-dashboard")'
|
||||
validations:
|
||||
- expression: 'false'
|
||||
message: 'IPAddress for Ceph service must not be created in default; cross-namespace parentRef is invalid.'
|
||||
failurePolicy: Fail
|
||||
matchConstraints:
|
||||
resourceRules:
|
||||
- apiGroups: ["networking.k8s.io"]
|
||||
apiVersions: ["v1"]
|
||||
operations: ["CREATE"]
|
||||
resources: ["ipaddresses"]
|
||||
---
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingAdmissionPolicyBinding
|
||||
metadata:
|
||||
name: deny-ceph-ipaddress-in-default-binding
|
||||
spec:
|
||||
policyName: deny-ceph-ipaddress-in-default
|
||||
validationActions: ["Deny"]
|
||||
```
|
||||
|
||||
## Reproduire le problème
|
||||
|
||||
|
||||
## Faites évolué vos infras et vos plateformes en toute Harmony (emoji de musique)
|
||||
|
||||
En tant qu'opérateur d'infrastructure multisite auto-hébegé, on ne pouvait pas se permettre de gérer des alertes et d'avoir à intervenir manuellement à chaque migration. C'est une réalité dans un système aussi complexe qui a autant d'interdépendances comme OKD et l'écosystème d'intégration helm, opérateurs, plugin, etc. La combinatoire est implacable... un jour ou l'autre ça va briser. Et dans c'est moments là, NationTech intervient avec efficacité remettre en état vos services critique.
|
||||
|
||||
Mais on veut le faire le moins souvent possible. Parce qu'on a d'autre chose à faire. On préfère coder le futur que de biller de la résolution de bugs (émoji fusée).
|
||||
|
||||
C'est ça qui nous a poussé à développement Harmony, un outil de gestion Cloud as a Service qui peu reproduire à l'identique l'ensemble de votre Cloud, autant les couches matériels, réseau, les intégrations de services plateforme et même l'applicatif. À partir d'une topologie, vous pouvez décrire l'ensemble de votre système d'entreprise et tout remonté en quelques heures pour faire des tests de charge, de robustesse ou de migration à l'échelle du Cloud entier! Je vous mets au défi de trouver une autre techno qui permet de faire ça.
|
||||
|
||||
On peut également repoduire uniquement un Cluster HA OKD en quelques heures et y tester vos migrations pour y repérer les problèmes non trivial.
|
||||
|
||||
Prochaine étape de développement pour Harmony, inclure les migrations dans la mécanique de Harmony afin de:
|
||||
- identifier des problèmes en amont (par exemple, des incompatibilités de version de driver comme avec le nvidia-gpu-operator),
|
||||
- apporter une garantie supplémentaire en utilisant des transitions pré-testées par la communauté
|
||||
|
||||
Ça nous donne le luxe de pouvoir tester
|
||||
|
||||
|
||||
## Questions pour Will
|
||||
|
||||
- c'est quoi le contexte, à quelle moment ça a commencé. Pourquoi?
|
||||
|
||||
|
||||
Reference in New Issue
Block a user