[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"technology-uk-terraform":3,"technology-projects-uk-terraform":28,"mdc-bzlxei-key":75},{"id":4,"title":5,"category":6,"content":7,"description":8,"extension":9,"faq":10,"icon":11,"links":12,"meta":21,"projects":22,"since":24,"stem":25,"updated":26,"__hash__":27},"technologies_uk\u002Fuk\u002Ftechnologies\u002Fterraform.yml","Terraform","infrastructure","Terraform описує інфраструктуру у файлах конфігурації та керує ресурсами через провайдери. Я використовую його в інфраструктурі DigiPulse, щоб налаштування сервісів було легше переглядати й відтворювати.\n\n## Конфігурація та план змін\n\nDocker-провайдер дає Terraform доступ до Docker-ресурсів. Спільна конфігурація може описувати схожі середовища з різними змінними. Для кожного потрібен власний план з урахуванням поточного стану: збережений plan не є шаблоном для іншого середовища.\n\n## Робочі простори й секрети\n\nCLI workspaces розділяють стан, але не права доступу. Файли стану й плану можуть містити секрети навіть для значень із позначкою sensitive. Якщо середовища потребують суворішої ізоляції, потрібні окремі облікові дані, захищене сховище стану та належні права доступу.\n\n## Інфраструктура та випуски застосунку\n\nКонфігурація інфраструктури описує ресурси та зв'язки між ними, а випуски застосунку можуть проходити через окремий процес CI\u002FCD. Terraform виявляє відмінності між описаним і фактичним станом під час створення плану, але не запобігає ручним змінам постійно. План потрібно переглядати перед застосуванням, особливо якщо він передбачає заміну чи видалення ресурсів.\n","Інфраструктура як код із Terraform: Docker-ресурси, конфігурації середовищ і перевірка змін перед розгортанням SaaS-сервісів.","yml",null,"i-simple-icons-terraform",[13,18],{"label":14,"to":15,"color":16,"icon":17},"terraform.io","https:\u002F\u002Fdeveloper.hashicorp.com\u002Fterraform","neutral","i-heroicons-arrow-top-right-on-square",{"label":19,"to":20,"color":16,"icon":17},"Технічна документація","https:\u002F\u002Fdeveloper.hashicorp.com\u002Fterraform\u002Flanguage\u002Fstate\u002Fworkspaces",{},[23],"digipulse","2024","uk\u002Ftechnologies\u002Fterraform","2026-09-20","89glfH8Kx7Ikmo1AR_l3uTQ_cXTsAcLlUBk4z8rptjc",[29],{"id":30,"title":31,"content":32,"date":33,"description":34,"extension":9,"featured":35,"image":36,"links":37,"meta":46,"stack":47,"stem":69,"tags":70,"url":40,"__hash__":74},"projects_uk\u002Fuk\u002Fprojects\u002Fdigipulse.yml","DigiPulse","SaaS для моніторингу доступності — перевірки кожні 60 секунд, відстеження закінчення SSL, сповіщення через Telegram та email. Адмін панель та основний бекенд побудовані з Laravel (Octane, Reverb websockets) та Filament, а моніторинг-движок — окремий Go сервіс. Інтеграція Google OAuth sign-in та Cloudflare Turnstile. Включає MCP сервер, який надає дані моніторингу безпосередньо до AI асистентів. Self-hosted на Proxmox.\n\n## Ключові можливості\n\n- **Окремий Go-движок** - перевірки доступності виконує окремий Go-сервіс, тож постійний поллінг кожні 60 секунд не гальмує Laravel-застосунок\n- **Дашборд у реальному часі** - Reverb websockets передають зміни статусу в UI наживо, без ручного оновлення\n- **Octane + Filament** - резидентний у пам'яті Laravel із повною адмін-панеллю для моніторів, контактів і правил сповіщень\n- **MCP-сервер** - монітори та інциденти доступні для AI-асистентів (Claude, Cursor) через Model Context Protocol\n- **Google OAuth + Turnstile** - вхід без пароля та захист від ботів на публічних формах\n- **Self-hosted** - розгорнуто на власному Proxmox-хомлабі, який я адмініструю повністю\n\n## Стек технологій\n\n- **Бекенд**: Laravel (Octane, Reverb websockets)\n- **Адмін-панель**: Filament\n- **Движок моніторингу**: Go (окремий сервіс)\n- **База даних**: PostgreSQL\n- **Інтеграція AI**: MCP-сервер\n- **Інфраструктура**: Self-hosted на Proxmox\n","2026-04-17","SaaS для моніторингу доступності: event-driven архітектура — Laravel (Octane, Reverb) і Filament диспетчеризують перевірки через Redis у легкий Go-воркер; MCP-сервер дає дані моніторингу AI-асистентам; сповіщення Telegram\u002Femail",true,"\u002Fhero\u002Fdigipulse.avif",[38,42],{"label":39,"to":40,"color":41,"icon":17},"Live Demo","https:\u002F\u002Fdigipulse.cloud","primary",{"label":43,"to":44,"color":16,"icon":45},"GitHub","https:\u002F\u002Fgithub.com\u002FYurij2015\u002Fdigipulse-backend","i-simple-icons-github",{},[48,51,54,57,60,63,66],{"name":49,"icon":50},"Laravel","i-simple-icons-laravel",{"name":52,"icon":53},"Filament","i-simple-icons-filament",{"name":55,"icon":56},"Go","i-simple-icons-go",{"name":58,"icon":59},"PostgreSQL","i-simple-icons-postgresql",{"name":61,"icon":62},"Redis","i-simple-icons-redis",{"name":64,"icon":65},"Vue","i-simple-icons-vuedotjs",{"name":67,"icon":68},"MCP","i-heroicons-cpu-chip","uk\u002Fprojects\u002Fdigipulse",[71,49,55,72,67,61,73],"SaaS","Monitoring","Event-driven","jNmJS9kMabUQ04ggukPIRPMSLui7xNAbE9Nsuuw99ag",{"data":76,"body":77},{},{"type":78,"children":79},"root",[80,88,95,100,106,111,117],{"type":81,"tag":82,"props":83,"children":84},"element","p",{},[85],{"type":86,"value":87},"text","Terraform описує інфраструктуру у файлах конфігурації та керує ресурсами через провайдери. Я використовую його в інфраструктурі DigiPulse, щоб налаштування сервісів було легше переглядати й відтворювати.",{"type":81,"tag":89,"props":90,"children":92},"h2",{"id":91},"конфігурація-та-план-змін",[93],{"type":86,"value":94},"Конфігурація та план змін",{"type":81,"tag":82,"props":96,"children":97},{},[98],{"type":86,"value":99},"Docker-провайдер дає Terraform доступ до Docker-ресурсів. Спільна конфігурація може описувати схожі середовища з різними змінними. Для кожного потрібен власний план з урахуванням поточного стану: збережений plan не є шаблоном для іншого середовища.",{"type":81,"tag":89,"props":101,"children":103},{"id":102},"робочі-простори-й-секрети",[104],{"type":86,"value":105},"Робочі простори й секрети",{"type":81,"tag":82,"props":107,"children":108},{},[109],{"type":86,"value":110},"CLI workspaces розділяють стан, але не права доступу. Файли стану й плану можуть містити секрети навіть для значень із позначкою sensitive. Якщо середовища потребують суворішої ізоляції, потрібні окремі облікові дані, захищене сховище стану та належні права доступу.",{"type":81,"tag":89,"props":112,"children":114},{"id":113},"інфраструктура-та-випуски-застосунку",[115],{"type":86,"value":116},"Інфраструктура та випуски застосунку",{"type":81,"tag":82,"props":118,"children":119},{},[120],{"type":86,"value":121},"Конфігурація інфраструктури описує ресурси та зв'язки між ними, а випуски застосунку можуть проходити через окремий процес CI\u002FCD. Terraform виявляє відмінності між описаним і фактичним станом під час створення плану, але не запобігає ручним змінам постійно. План потрібно переглядати перед застосуванням, особливо якщо він передбачає заміну чи видалення ресурсів."]