Configs
Configs
Conventions
NAME— Resource Naming ConventionCommands
SCRIPTS— Useful scriptsWIN11— Bootable Windows 11 USB on macOSAWS
CDN— S3 Rollback StrategyNET— AWS Transit GatewayRDS— RDS IAM AuthKubernetes
KARP— Upgrading Karpenter on EKSStarRocks
AUTH— StarRocks OAuth2 Entra IDRBAC— Starrocks RolesDR— RUNBOOK - StarRocks Disaster RecoveryTerraform
STATE— Terraform State RestoreSummaries Resource Naming Convention — A reusable, generic convention for naming cloud and Kubernetes resources, where one string serves as the Terraform identifier, the repo path, and the runtime name. Three patterns (shared, tenant-specific, and tenant-scoped objects inside shared resources), compact region/resource tokens, region-less global names, upstream-name exceptions for third-party tools, and a standard tag set.
Useful scripts — Short, reusable shell commands and mini-scripts for everyday work. Starts with a safe preview/run pattern for deleting
.terragrunt-cachedirectories.Bootable Windows 11 USB on macOS — Create a Windows 11 installer USB on macOS. Identify the device with
diskutil list, erase as MS-DOS/MBR (WIN11), rsync ISO contents excludinginstall.wim, then splitinstall.wimwithwimlibto work around the FAT32 4 GB file size limit.S3 Rollback Strategy — S3 bucket layout with versioning by commit SHA / tag. Vite config for dynamic
basepath. Instant rollback by replacing rootindex.html+ CloudFront invalidation.AWS Transit Gateway — Hub-and-spoke networking between VPCs via Transit Gateway. Terraform module, RAM sharing across accounts, CIDR planning, route table propagation. Full setup for hub + spoke accounts with Terragrunt.
RDS IAM Auth — Token-based access to RDS without passwords. IAM policy, SQL setup (
rds_iamgrant), token generation. Kubernetes integration via Pod Identity / IRSA.Upgrading Karpenter on EKS — General how-to guide for safely upgrading Karpenter on an EKS cluster. Upgrade the CRDs (separate
karpenter-crdHelm release) before the controller and keep both on the same version. Covers one-time CRD adoption into Helm, pre-flight CR backup, verify/rollback, and common gotchas — the 4thnodeoverlaysCRD, zsh word-splitting, and the benign “no nodepools” startup race.StarRocks OAuth2 Entra ID — SSO via Microsoft Entra ID. App registration, claims transformation for username extraction,
fe.confconfig. Troubleshooting table for common errors.Starrocks Roles — Five built-in roles (
db_admin,cluster_admin,user_admin,security_admin,public) with privilege matrices. Custom roles for read-only, write, migrate, and user-management use cases.RUNBOOK - StarRocks Disaster Recovery — Six-phase DR procedure: destroy existing cluster, clean S3 bucket, restore from AWS Backup recovery point, re-apply Terragrunt dependencies (secret-store modules, namespace), update Terraform vars with snapshot path, apply and verify restored cluster.
Terraform State Restore — Roll back a corrupted or accidentally-emptied Terraform/OpenTofu state from S3 object versions without touching live infrastructure. Diagnose
state rmversus a realdestroy(outputs survive, resources vanish), locate the S3 backend, pick a healthy prior version by size, and validate itslineagebefore restoring. Restore withterragrunt state pushat a bumpedserial— atomically updating the DynamoDB digest — then verify withplan. Explains why version rollback beatsimport(write-only secrets like machine keys and PATs are only returned at creation) and includes a lock-table troubleshooting table plus a per-resource import fallback.
Certifications
Terraform-004
Certificate
Core
IAC— 1. What is Infrastructure as Code?INTRO— 2. What is Terraform?PLUGINS— 3. How Terraform works with pluginsSTATE— 4. StateCLI— 5. CLIGRAPH— 6. Dependency GraphConfiguration Language
PROVD— 1. Configure providersRES— 2. ResourcesDATA— 3. Data sourcesOUT— 4. OutputsMETA— 5. Meta-argumentsVAR— 6. VariablesTYPE— 7. Type ConstraintsSENS— 8. Sensitive dataMOD— 9. ModulesInternals
DEBUG— 1. Debugging TerraformSummaries What is Infrastructure as Code? — Provisioning infrastructure using code instead of manual processes. Benefits: environment duplication, reduced config errors. Two approaches — declarative (desired end state) vs imperative (step-by-step instructions).
What is Terraform? — Infrastructure as code tool for building, changing, and versioning cloud and on-prem resources via APIs. Core workflow: Write → Plan → Apply. Declarative config with automatic dependency graph and parallel provisioning.
How Terraform works with plugins — Terraform Core (state, graph, plan execution) communicates with Plugins over RPC. Provider plugins handle API auth and resource mapping. Provisioner plugins run scripts on resources. Discovery happens via
terraform init.State — Terraform stores state in
terraform.tfstateand refreshes it before each operation. State maps config resources to real-world objects (e.g., instance IDs) with a one-to-one binding. Also tracks metadata like resource dependencies for correct ordering.CLI — Core commands:
init(backend + providers/modules + lock file; resolution: lock file →required_providers→ latest),console(interactive expression evaluator),fmt(canonical formatting),validate(config validation, no remote checks),plan(execution preview; modes:-destroy,-refresh-only; save with-out, inspect withterraform show),apply(executes plan; locks state → plan → execute → update state → unlock; on error: logs, saves partial state, exits),destroy(deprovisions all managed objects).Dependency Graph — Terraform builds a dependency graph for operations (plan, refresh). Three node types: Resource Node (single resource, one per
count), Provider Configuration Node (provider setup with credentials), Resource Meta-Node (group node for resources withcount> 1). Visualize withterraform graph.Configure providers — Providers are plugins for interacting with cloud/SaaS APIs. Three steps: define in
required_providers(source + version), configure aproviderblock (auth, region), install viaterraform init. Lock file (.terraform.lock.hcl) records versions, constraints, and hashes; upgrade withterraform init -upgrade. Provider aliases allow multiple configs for the same provider (e.g., multi-region); child modules receive aliases viaconfiguration_aliases. Also covers fullterraformblock reference (backend, cloud, experiments).Resources — Any infrastructure object managed by Terraform (networks, instances, DNS records). Resource types come from installed providers. Destroy methods: remove from config and apply,
terraform destroy(all or-target), or replace with aremovedblock with destroy-time provisioner.Data sources — Allow Terraform to use information defined outside of Terraform or by another configuration. Queried during plan phase, deferred to apply if values depend on pending changes. Syntax:
data "<TYPE>" "<LABEL>", referenced viadata.<label>.<attribute>.Outputs — Expose information about infrastructure, similar to return values. Child modules expose attributes to parents, root modules display values in CLI, and other configurations access them via
terraform_remote_state. Supportssensitive,ephemeral,depends_on, andpreconditionarguments.Meta-arguments — Built-in arguments that control how Terraform creates and manages resources.
depends_onfor explicit dependency ordering.lifecycleblock with rules:action_trigger(event-driven actions),create_before_destroy,prevent_destroy,ignore_changes,replace_triggered_by,precondition/postcondition(validation),destroy(state-only removal viaremovedblock).Variables — Parameterize configurations with
variableblocks, similar to function arguments. Supportstype,default,description,validation,sensitive,nullable, andephemeralarguments. Precedence order: CLI flags →*.auto.tfvars→terraform.tfvars.json→terraform.tfvars→ environment variables →default.Type Constraints — Control variable and output types. Primitive types (
string,number,bool) with auto-conversion. Collection types (list,map,set) for grouping same-type values. Structural types (object,tuple) for grouping different types with schemas. Optional object attributes viaoptional()modifier with default values.Sensitive data — Ephemeral resources (
ephemeralblock) for temporary data that is not stored in state or plan files. Supportscount,for_each,depends_on,provider, andlifecyclewithprecondition/postcondition. Example: generate password with ephemeralrandom_password, store in AWS Secrets Manager, pass topassword_wowrite-only argument.Modules — A module is a set of
.tffiles in a single directory; the working directory is the root module. Install withterraform initorterraform get(stored in.terraform/modules/, local modules symlinked). Module block arguments:source(required),version,count/for_each,providers,depends_on.Debugging Terraform — Enable detailed logs via
TF_LOGenvironment variable with levelsTRACE,DEBUG,INFO,WARN,ERROR(orJSONfor parseable output). Separate logging for core and providers viaTF_LOG_CORE/TF_LOG_PROVIDER. Persist logs to file withTF_LOG_PATH.
AWS Cloud Practitioner
Cloud Concepts
CLOUD— Domain 1 - Cloud ConceptsSecurity and Compliance
Cloud Technology and Services
Summaries Domain 1 - Cloud Concepts — Cloud computing as on-demand IT resources with pay-as-you-go pricing, and its six advantages. Three deployment models: cloud, private (on-premises), and hybrid. AWS global infrastructure — Regions and Availability Zones — enabling high availability, fault tolerance, and disaster recovery. Well-Architected and Cloud Adoption frameworks. Seven migration strategies (7 Rs): Retire, Retain, Rehost, Relocate, Repurchase, Replatform, Refactor or re-architect.
Domain 2 - Security and Compliance — The AWS shared responsibility model splits security duties between AWS and the customer. AWS is responsible for security of the cloud — the software layer (compute, storage, database, networking) and the hardware/AWS global infrastructure (Regions, Availability Zones, edge locations). The customer is responsible for security in the cloud — customer data; platform, applications, and identity & access management; operating system, network & firewall configuration; and client-side & server-side encryption plus networking traffic protection.
Content Domain 3 - Cloud Technology and Services — Amazon EC2 purchasing options — On-Demand, Spot (up to 90% off unused capacity), Reserved (up to 72%), Savings Plans, and Dedicated Hosts — plus the Graviton3-, Inferentia2-, and Trainium-powered instance families (C7g, Inf2, M7g, R7g, Trn1) for compute-, inference-, general-purpose-, memory-, and training-oriented workloads. The S3 storage classes, from Standard and Intelligent-Tiering through Standard-IA / One Zone-IA to the Glacier archive tiers, mapped to access frequency and retrieval needs.
Studying
Observability
Fundamentals
OBS— What is observability?Summaries What is observability? — Observability makes a system's internal state transparent through telemetry data. Covers the four core signal types: metrics, logs, traces, and profiles, and what each of them is used for.
Cisco
Certificate
Основи роботи в мережі
NETS— 1. Типи мережDATA— 2. Передавання данихBW— 3. Пропускна здатність і продуктивністьC/S— 4. Клієнти та сервериCOMP— 5. Компоненти мережіISP— 6. Приєднання до Інтернет-провайдераHOME— 7. Основи домашньої мережіPROT— 8. Принципи передавання данихETH— 9. Рівень мережного доступуIP— 10. Інтернет-протоколADDR— 11. Адресація IPv4IPv6— 12. Адресація IPv6DHCP— 13. Динамічна адресація з DHCPGW— 14. Шлюзи для підключення до інших мережARP— 15. ARPROUT— 16. Маршрутизація між мережамиTRAN— 17. Транспортний рівеньAPP— 18. Служби прикладного рівняSummaries Типи мереж — Огляд масштабів мереж: малі домашні, SOHO (малі/домашні офіси), середні/великі корпоративні мережі та глобальна мережа мереж — Інтернет.
Передавання даних — Біт як мінімальна одиниця даних (0/1), байт = 8 бітів. Три методи передавання сигналів через середовище: електричні (мідь), оптичні (світло) та бездротові (радіо/мікрохвилі/ІЧ).
Пропускна здатність і продуктивність — Bandwidth — теоретична ємність каналу (біт/с, Кбіт/с … Тбіт/с). Throughput — реальна швидкість, яка відрізняється від bandwidth через обсяг і тип даних та сумарну затримку мережних пристроїв.
Клієнти та сервери — Сервери надають сервіси (веб, пошта); клієнти запитують і відображають дані (наприклад, браузери). У P2P-мережах хости одночасно і клієнти, і сервери — простіше і дешевше, але без централізованого адміністрування і з нижчою продуктивністю.
Компоненти мережі — Три категорії апаратних компонентів: кінцеві пристрої (хости), проміжні пристрої та мережне середовище передавання. Хости — джерело або одержувач повідомлень; ідентифікуються унікальними адресами.
Приєднання до Інтернет-провайдера — ISP з’єднує домашню мережу з Інтернетом. Два варіанти доступу: кабельне з’єднання (коаксіальний кабель спільно з кабельним ТБ, кабельний модем) та DSL (телефонна лінія з трьома каналами — голос, завантаження, відправка; швидкість залежить від відстані до центрального офісу).
Основи домашньої мережі — Домашній маршрутизатор має два типи портів: Ethernet/LAN (внутрішній комутатор, всі пристрої в одній LAN) та Інтернет-порт (під’єднання до зовнішньої мережі через кабельний/DSL-модем). Бездротові технології працюють у неліцензованих діапазонах 2,4 ГГц і 5 ГГц.
Принципи передавання даних — Протоколи визначають формат, розмір, синхронізацію, кодування, інкапсуляцію та шаблон повідомлень. Модель TCP/IP має 4 рівні: прикладний, транспортний, міжмережний, мережного доступу. Модель OSI — 7 рівнів; є еталонною, описує функції без прив’язки до реалізації.
Рівень мережного доступу — Ethernet — технологія для LAN; кожна NIC має унікальну MAC-адресу, яка є полем у кадрі Ethernet. Протокол IP відповідає за доставку пакетів від відправника до отримувача через одну або декілька мереж; поля пакета IPv6 ідентифікують обидві сторони.
Інтернет-протокол — IPv4-адреса — 32-бітова логічна ієрархічна адреса, унікальна як локально, так і глобально. Записується як чотири октети у двійковому або десятковому форматі. Маска підмережі визначає, яка частина адреси належить мережі, а яка — хосту.
Адресація IPv4 — Три типи передачі: unicast (один до одного), broadcast (один до всіх; пряма або обмежена 255.255.255.255), multicast (один до групи; діапазон 224.0.0.0–239.255.255.255). Публічні адреси маршрутизуються в Інтернеті; приватні (RFC 1918) — тільки всередині мереж. Спеціальні: loopback (127.x.x.x) і link-local APIPA (169.254.x.x). Застаріла класова адресація: A (/8), B (/16), C (/24), D (multicast), E (experimental).
Адресація IPv6 — IPv6 — наступник IPv4 з 128-бітним адресним простором (340 ундецильйонів адрес). Записується шістнадцятковими числами (0–9, A–F). Гекстет — сегмент з 16 бітів або 4 шістнадцяткових цифр; адреса містить 8 гекстетів, розділених двокрапками.
Динамічна адресація з DHCP — IPv4-адреси призначаються статично (вручну: IP, маска, шлюз) або динамічно через DHCP. DHCP видає адресу в оренду на певний час; після відключення хоста адреса повертається в пул. Обмін: Discover (broadcast) → Offer → Request → Acknowledgment.
Шлюзи для підключення до інших мереж — Маршрутизатор виступає шлюзом між мережами. Кожен хост має знати IPv4-адресу інтерфейсу маршрутизатора у своїй мережі — адресу шлюзу за замовчуванням. Налаштовується статично або через DHCP.
ARP — У Ethernet-мережі пристрій має дві адреси: MAC (фізична, для комунікації в межах мережі) та IP (логічна, для міжмережної доставки). ARP визначає MAC-адресу за відомою IP: broadcast-запит → відповідь від цільового хоста → збереження пари в ARP-таблиці для подальших кадрів без запиту.
Маршрутизація між мережами — Маршрутизатор з’єднує IP-мережі 3-го рівня та зберігає маршрути до мереж (не до хостів) у таблиці маршрутизації. Невідомий адресат — пакет відкидається; маршрут за замовчуванням запобігає цьому. Для локальної доставки використовується MAC-адреса хоста; для віддаленої — MAC-адреса маршрутизатора (шлюзу).
Транспортний рівень — UDP: без підтвердження, краще для потокового медіа/VoIP. TCP: сегменти з порядковими номерами, підтвердження, повторна передача лише втрачених сегментів. Порти (1–65535) ідентифікують розмови: відомі (1–1023), зареєстровані (1024–49151), приватні (49152–65535). Сокет = IP-адреса + номер порту.
Служби прикладного рівня — Сервери надають служби (веб, пошта, файли); клієнти звертаються через браузери та поштові програми. URI ідентифікує ресурси: URN — лише ім’я, URL — розташування з протоколом. Ключові протоколи: DNS, HTTP, FTP, SSH, SMTP (порт 25), POP3 (порт 110), IMAP4 (порт 143), DHCP.