Π”Π΅Π½ΡŒ 0: SSH β€” ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΡŽΡ‡ вмСсто пароля Π²Π΅Π·Π΄Π΅

ЦСль ΡƒΡ€ΠΎΠΊΠ° ПослС ΡƒΡ€ΠΎΠΊΠ° Π²Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ed25519 SSH-ΠΊΠ»ΡŽΡ‡, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ ssh-agent с Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π² GitHub ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±Π΅Π· ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ. ΠŸΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΡŽΡ‡ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° дСсяткС сСрвисов ΠΈ ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π΅Π· ~/.ssh/config Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΈ Π»ΠΈΡ‡Π½Ρ‹ΠΉ GitHub Π² ΠΎΠ΄Π½ΠΎΠΉ систСмС. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Bloom ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SFIA Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 2 ВрСмя 30–40 ΠΌΠΈΠ½ΡƒΡ‚ АртСфакт Π Π°Π±ΠΎΡ‡ΠΈΠΉ ~/.ssh/id_ed25519 + ~/.ssh/config + Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π°Π³Π΅Π½Ρ‚Π° ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ssh -T git@github.com β†’ привСтствиС ΠΎΡ‚ GitHub ВСория Π·Π° 3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ ΠŸΠ°Ρ€ΠΎΠ»ΡŒ ΠΎΡ‚ GitHub Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ Ρƒ всСх Π½Π° Π²ΠΈΠ΄Ρƒ β€” ΠΈ Π΅Π³ΠΎ ΡƒΠΊΡ€Π°Π΄Ρ‘Ρ‚ shoulder-surfing, phishing, случайный ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚. SSH-ΠΊΠ»ΡŽΡ‡ этот ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚. ...

16 апрСля 2026 Β· 7 ΠΌΠΈΠ½ΡƒΡ‚ Β· 1303 слова Β· DevOps Way

Claude Code CLI + RAG + Context Engineering: ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄

TL;DR Prompt engineering β€” это 5% успСха. Context engineering β€” ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ 95%. ΠœΡ‹ построим AI-ассистСнта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ: Π—Π½Π°Π΅Ρ‚ Π²Π°ΡˆΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ (759 Ρ„Π°ΠΉΠ»ΠΎΠ² β†’ 16,548 Ρ‡Π°Π½ΠΊΠΎΠ²) ВыполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (tool calling) Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ локально (RTX 3090, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ±Π»Π°ΠΊΠΎΠ²) ΠžΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° 10-15 сСкунд Установка Claude Code CLI # ВрСбования: Node.js 18+ node --version # v18.x ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅ # Установка Ρ‡Π΅Ρ€Π΅Π· npm npm install -g @anthropic-ai/claude-code # Или Ρ‡Π΅Ρ€Π΅Π· npx (Π±Π΅Π· установки) npx @anthropic-ai/claude-code # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° claude --version ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ запуск: ...

5 фСвраля 2026 Β· 11 ΠΌΠΈΠ½ΡƒΡ‚ Β· 2288 слов Β· DevOps Way

πŸ” FreeIPA: руководство ΠΏΠΎ установкС Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы управлСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ

πŸ”’ ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ: БистСмноС администрированиС πŸ’‘ ЦСль: Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ production FreeIPA с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ всСх ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉ 🧠 Π§Π΅ΠΌΡƒ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ: ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ установка FreeIPA Настройка LDAP, Kerberos, DNS, CA Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ⚠️ ВрСбования: RHEL/CentOS Stream/AlmaLinux/Rocky 8-9 ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ 4GB RAM БтатичСский IP ΠΈ FQDN Доступ root πŸ“š БСрия статСй: Установка FreeIPA (эта ΡΡ‚Π°Ρ‚ΡŒΡ) NFS + Autofs интСграция Hashicorp Vault интСграция πŸ—οΈ АрхитСктура FreeIPA graph TB A[FreeIPA Π‘Π΅Ρ€Π²Π΅Ρ€] A --> B[LDAP389 Directory] A --> C[KerberosMIT KDC] A --> D[DNSBIND] A --> E[CADogtag] ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹: ...

1 июня 2025 Β· 6 ΠΌΠΈΠ½ΡƒΡ‚ Β· 1128 слов Β· DevOps Way

Π”Π΅Π½ΡŒ 1: Ρ‚Ρ€ΠΈ состояния Git β€” Π³Π΄Π΅ сСйчас ΠΆΠΈΠ²Ρ‘Ρ‚ ваш Ρ„Π°ΠΉΠ»

ЦСль ΡƒΡ€ΠΎΠΊΠ° ПослС ΡƒΡ€ΠΎΠΊΠ° Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… состояний ΠΆΠΈΠ²Ρ‘Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ваш Ρ„Π°ΠΉΠ» (working / staging / committed), Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ git status ΠΊΠ°ΠΊ ΠΊΠ°Ρ€Ρ‚Ρƒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ git add -p для осознанных ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² вмСсто git add .. Π—Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ состояния. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Bloom ПониманиС, ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SFIA Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 2 ВрСмя 30–40 ΠΌΠΈΠ½ΡƒΡ‚ АртСфакт ~/.gitconfig с алиасами s, d, dc + история ΠΈΠ· 5 осознанных ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° git status β†’ nothing to commit, working tree clean; git log --oneline ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ type(scope): message ВСория Π·Π° 3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π£ Ρ„Π°ΠΉΠ»Π° Π² Git Ρ‚Ρ€ΠΈ состояния, ΠΈ каТдая ΠΊΠΎΠΌΠ°Π½Π΄Π° β€” это ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. ...

16 апрСля 2026 Β· 8 ΠΌΠΈΠ½ΡƒΡ‚ Β· 1630 слов Β· DevOps Way

πŸ’Ύ FreeIPA + NFS + Autofs: Production-Grade Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

πŸ’Ύ ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ: БистСмноС администрированиС πŸ’‘ ЦСль: ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ бСзопасноС NFS Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ с Π°Π²Ρ‚ΠΎΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ 🧠 Π§Π΅ΠΌΡƒ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ: БСзопасная настройка NFS (Π±Π΅Π· no_root_squash!) ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ монтирования (hard vs soft) Autofs с FreeIPA LDAP Kerberos для NFS РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ⚠️ ВрСбования: FreeIPA настроСн (Ρ‡Π°ΡΡ‚ΡŒ 1) RHEL/CentOS Stream/AlmaLinux/Rocky 8-9 БтатичСский IP Root доступ πŸ“š БСрия статСй: Установка FreeIPA NFS + Autofs (эта ΡΡ‚Π°Ρ‚ΡŒΡ) Hashicorp Vault интСграция 🚨 Production vs Лаборатория ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ❌ Лаборатория βœ… Production NFS exports no_root_squash root_squash ΠœΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ /home soft hard,intr DNS chattr +i NetworkManager Kerberos ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ SELinux Permissive Enforcing πŸ”₯ Π’Π°ΠΆΠ½ΠΎ: no_root_squash Π² production = Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ бСзопасности! ...

15 дСкабря 2025 Β· 7 ΠΌΠΈΠ½ΡƒΡ‚ Β· 1323 слова Β· DevOps Way

Π”Π΅Π½ΡŒ 2: reflog ΠΈ fsck β€” Ρ‡Ρ‚ΠΎ спасаСт послС git reset --hard, Π° Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚

ЦСль ΡƒΡ€ΠΎΠΊΠ° ПослС ΡƒΡ€ΠΎΠΊΠ° Π²Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ потСрянный ΠΊΠΎΠΌΠΌΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· git reflog, Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ staged-измСнСния Ρ‡Π΅Ρ€Π΅Π· git fsck --lost-found ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Git Π±Π΅Π·Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ reset --hard дСйствуСт Π½Π° Ρ„Π°ΠΉΠ» Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… состояний (working / staging / committed). ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Bloom ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, частично Анализ SFIA Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 2 ВрСмя 40–60 ΠΌΠΈΠ½ΡƒΡ‚ АртСфакт ~/.gitconfig с алиасами safe-reset, recover-staged, tree, undo ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Мини-тСст + восстановлСниС потСрянного ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π·Π° 2 ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ВСория: Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «потСря Π΄Π°Π½Π½Ρ‹Ρ…Β» Π² Git Π’ Π”Π½Π΅ 1 Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Ρ‚Ρ€ΠΈ состояния β€” working / staging / committed. БСгодня смотрим Π½Π° Π½ΠΈΡ… ΠΏΠΎΠ΄ ΡƒΠ³Π»ΠΎΠΌ reset’а. ...

16 апрСля 2026 Β· 7 ΠΌΠΈΠ½ΡƒΡ‚ Β· 1 слово Β· DevOps Way

Π”Π΅Π½ΡŒ 3: Π²Π΅Ρ‚ΠΊΠΈ ΠΈ merge β€” fast-forward ΠΏΡ€ΠΎΡ‚ΠΈΠ² --no-ff

ЦСль ΡƒΡ€ΠΎΠΊΠ° ПослС ΡƒΡ€ΠΎΠΊΠ° Π²Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ feature-Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΡΠ»ΠΈΡ‚ΡŒ Π΅Ρ‘ Π² main двумя Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами (fast-forward ΠΈ --no-ff), Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ git log --graph, ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ трСмя стратСгиями merge (ff / no-ff / squash) ΠΈ Ρ€Π΅ΡˆΠ°Π΅Ρ‚Π΅ merge-ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΏΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°ΠΌ <<<<<<< ======= >>>>>>>. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Bloom ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SFIA Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 3 ВрСмя 40 ΠΌΠΈΠ½ΡƒΡ‚ АртСфакт ~/.gitconfig с merge.ff = false, merge.conflictStyle = diff3, alias graph ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° git log --graph ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²Π° merge-ΠΊΠΎΠΌΠΌΠΈΡ‚Π° с Ρ€Π°Π·Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ; ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Ρ€Π΅ΡˆΡ‘Π½ ВСория Π·Π° 3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π’Π΅Ρ‚ΠΊΠ° Π² Git β€” это ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚. НС копия, Π½Π΅ ΠΏΠ°ΠΏΠΊΠ°, Π½Π΅ Β«ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΡ€Β». Одна строчка Π² Ρ„Π°ΠΉΠ»Π΅ .git/refs/heads/main с SHA. ...

16 апрСля 2026 Β· 9 ΠΌΠΈΠ½ΡƒΡ‚ Β· 1762 слова Β· DevOps Way

πŸ” Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ Hashicorp Vault с FreeIPA: Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСкрСтами Π² DevOps

πŸ—οΈ АрхитСктура ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ graph TB A[ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ] B[Vault Server] C[FreeIPA LDAP] A -->|1. Π›ΠΎΠ³ΠΈΠ½| B B -->|2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°| C C -->|3. OK| B B -->|4. Token| A A -->|5. Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹| B ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ: ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ LDAP ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Vault Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ FreeIPA LDAP FreeIPA провСряСт ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Vault Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Ρ‚ΠΎΠΊΠ΅Π½ доступа ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с сСкрСтами πŸ’» ВрСбования ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ВрСбования FreeIPA НастроСн ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Vault Server Linux, 2GB RAM ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Vault CLI Π‘Π΅Ρ‚ΡŒ Доступ ΠΊ FreeIPA:389 πŸš€ Π§Π°ΡΡ‚ΡŒ 1: Установка Vault Установка Π½Π° RHEL/CentOS # Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ HashiCorp dnf config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo # Установка dnf install -y vault # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° vault --version ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Vault mkdir -p /etc/vault.d mkdir -p /opt/vault/data cat > /etc/vault.d/vault.hcl << 'EOF' # Vault конфигурация для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с FreeIPA storage "file" { path = "/opt/vault/data" } listener "tcp" { address = "0.0.0.0:8200" tls_disable = 1 } api_addr = "http://192.168.1.30:8200" ui = true EOF chown -R vault:vault /opt/vault /etc/vault.d chmod 640 /etc/vault.d/vault.hcl ⚠️ Π’Π°ΠΆΠ½ΠΎ: tls_disable = 1 Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ! Π’ production ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ TLS! ...

15 дСкабря 2025 Β· 8 ΠΌΠΈΠ½ΡƒΡ‚ Β· 1547 слов Β· DevOps Way

Π”Π΅Π½ΡŒ 4: rebase vs merge β€” ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ

ЦСль ΡƒΡ€ΠΎΠΊΠ° ПослС ΡƒΡ€ΠΎΠΊΠ° Π²Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ feature-Π²Π΅Ρ‚ΠΊΡƒ ΠΏΠΎΠ²Π΅Ρ€Ρ… свСТСго main Ρ‡Π΅Ρ€Π΅Π· git rebase, ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ rebase ΠΈ merge Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π³Ρ€Π°Ρ„Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ rebase -i для чистки ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ PR (squash / reword / drop) ΠΈ Π·Π½Π°Π΅Ρ‚Π΅ Π·ΠΎΠ»ΠΎΡ‚ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Π½Π΅ Ρ€Π΅Π±Π΅ΠΉΡΠΈΡ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π·Π°ΠΏΡƒΡˆΠ΅Π½ΠΎ Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Bloom ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, частично Анализ SFIA Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 3 ВрСмя 45 ΠΌΠΈΠ½ΡƒΡ‚ АртСфакт ~/.gitconfig с pull.rebase = true, rebase.autoStash = true, alias rb, rbi ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Feature-Π²Π΅Ρ‚ΠΊΠ° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π΅Π±Π΅ΠΉΠ·Π½ΡƒΡ‚Π° ΠΏΠΎΠ²Π΅Ρ€Ρ… main; git log --graph ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ВСория: rebase β€” это Π½Π΅ merge git merge соСдиняСт Π΄Π²Π΅ Π²Π΅Ρ‚ΠΊΠΈ merge-ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ, сохраняя Ρ„Π°ΠΊΡ‚ вСтвлСния: ...

16 апрСля 2026 Β· 11 ΠΌΠΈΠ½ΡƒΡ‚ Β· 2176 слов Β· DevOps Way

Π”Π΅Π½ΡŒ 5: git hooks β€” ΠΊΠ°ΠΊ ΠΎΡ‚Π»ΠΎΠ²ΠΈΡ‚ΡŒ мусор Π΄ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

ЦСль ΡƒΡ€ΠΎΠΊΠ° ПослС ΡƒΡ€ΠΎΠΊΠ° Π²Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ pre-commit ΠΈ commit-msg hook Π½Π° чистом bash (Π±Π΅Π· Husky / Node / Python), ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΏΠΎΡ‡Π΅ΠΌΡƒ hooks ΠΆΠΈΠ²ΡƒΡ‚ локально ΠΈ ΠΊΠ°ΠΊ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ‡Π΅Ρ€Π΅Π· core.hooksPath + ΠΏΠ°ΠΏΠΊΡƒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ сСкрСтов, trailing whitespace, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Conventional Commits. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Bloom ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SFIA Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 3 ВрСмя 40 ΠΌΠΈΠ½ΡƒΡ‚ АртСфакт repo/.githooks/pre-commit + commit-msg + core.hooksPath = .githooks ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠšΠΎΠΌΠΌΠΈΡ‚ с сСкрСтом блокируСтся; ΠΊΠΎΠΌΠΌΠΈΡ‚ с ΠΊΡ€ΠΈΠ²Ρ‹ΠΌ сообщСниСм блокируСтся; git commit --no-verify ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ (ΠΈ это ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ) ВСория: Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git hook Hook β€” это исполняСмый Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅ .git/hooks/, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Git Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ событиС. Если Ρ„Π°ΠΉΠ» Π΅ΡΡ‚ΡŒ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΈΡ‚ +x β€” Git запустит Π΅Π³ΠΎ ΠΈ смотрит Π½Π° exit code: 0 β€” ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, Π½Π΅ 0 β€” ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. ...

16 апрСля 2026 Β· 8 ΠΌΠΈΠ½ΡƒΡ‚ Β· 1632 слова Β· DevOps Way

Π”Π΅Π½ΡŒ 6: bisect β€” Git Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ сломавший ΠΊΠΎΠΌΠΌΠΈΡ‚ Π·Π° вас

ЦСль ΡƒΡ€ΠΎΠΊΠ° ПослС ΡƒΡ€ΠΎΠΊΠ° Π²Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π²Π½Ρ‘ΡΡˆΠΈΠΉ Ρ€Π΅Π³Ρ€Π΅ΡΡΠΈΡŽ, Π·Π° logβ‚‚(N) шагов Ρ‡Π΅Ρ€Π΅Π· git bisect; Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅Ρ‚Π΅ bad, good, skip; ΡƒΠΌΠ΅Π΅Ρ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ поиск Ρ‡Π΅Ρ€Π΅Π· git bisect run с Π»ΡŽΠ±Ρ‹ΠΌ тСст-скриптом. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Bloom ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Анализ SFIA Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 2–3 ВрСмя 30–40 ΠΌΠΈΠ½ΡƒΡ‚ АртСфакт test-bisect.sh β€” тСст-Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠΎΠ΄ bisect run ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Мини-тСст + сцСнарий Β«Π½Π°ΠΉΠ΄ΠΈ Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ° Π·Π° 4 шага» ВСория Π·Π° 3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Git-история β€” это DAG ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π·Π½Π°Π΅Ρ‚, ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ родитСля ΠΎΠ½ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΡ‘Π». ...

16 апрСля 2026 Β· 6 ΠΌΠΈΠ½ΡƒΡ‚ Β· 1 слово Β· DevOps Way

Π”Π΅Π½ΡŒ 7: cherry-pick ΠΈ rerere β€” пСрСнос ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ Git ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°Ρ…

ЦСль ΡƒΡ€ΠΎΠΊΠ° ПослС ΡƒΡ€ΠΎΠΊΠ° Π²Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· cherry-pick, Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅Ρ‚Π΅ случаи, ΠΊΠΎΠ³Π΄Π° это умСстно, ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ merge/rebase. Π’ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ rerere глобально ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Git Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ вашС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ автоматичСски Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Bloom ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Анализ SFIA Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 2–3 ВрСмя 35–45 ΠΌΠΈΠ½ΡƒΡ‚ АртСфакт rerere.enabled = true Π² ~/.gitconfig + алиас pick ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Мини-тСст + сцСнарий с ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠΌ ВСория Π·Π° 3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ git cherry-pick <sha> Π±Π΅Ρ€Ρ‘Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚ с ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ примСняСт ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ. Новый ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ SHA, Π½ΠΎ Ρ‚ΠΎΡ‚ ΠΆΠ΅ diff ΠΈ Ρ‚ΠΎ ΠΆΠ΅ сообщСниС. ...

16 апрСля 2026 Β· 7 ΠΌΠΈΠ½ΡƒΡ‚ Β· 1373 слова Β· DevOps Way