AI Class

Membangun Otomatisasi Dokumentasi Infrastruktur dengan n8n + AI: Dari Terraform Plan hingga Dokumentasi Terstruktur

· 4 menit baca

Membangun Otomatisasi Dokumentasi Infrastruktur dengan n8n + AI: Dari Terraform Plan hingga Dokumentasi Terstruktur

Ringkasan: Panduan praktis untuk membuat workflow n8n yang otomatis menghasilkan dokumentasi infrastruktur (Terraform, CloudFormation, dsb) menggunakan AI—mulai dari parsing plan, mengekstrak perubahan, membuat penjelasan human-readable, hingga commit ke repo dokumentasi.

Kenapa Dokumentasi Infrastruktur Perlu Diotomasi?

Dokumentasi infrastruktur seringkali ketinggalan—karena perubahan cepat, pull request yang banyak, dan waktu tim yang terbatas. Dengan mengotomatiskan proses dokumentasi, tim DevOps/Platform bisa mendapatkan:

  • Konsistensi deskripsi perubahan
  • Kecepatan publish dokumentasi setelah deploy atau review
  • Traceability antara Terraform plan/changeset dan human-readable notes

Gambaran Arsitektur Workflow

Workflow yang akan kita bangun terdiri dari beberapa tahap:

  1. Trigger: on PR atau on CI pipeline ketika ada Terraform plan/apply
  2. Ingest: ambil output Terraform plan (JSON / text) atau CloudFormation change set
  3. Parsing & Enrichment: ekstrak resource yang berubah, tipe perubahan (add/change/delete), atribut penting
  4. Summarization dengan AI: buat penjelasan singkat per resource dan ringkasan perubahan
  5. Generate Markdown: bangun halaman dokumentasi terstruktur (YAML frontmatter, TOC, dsb)
  6. Commit & Publish: push ke repo docs (GitHub/GitLab) atau CMS (Docs Site)

Kenapa Memilih n8n + AI?

n8n menyediakan visual workflow builder yang mudah diintegrasikan dengan Git, CI, dan sumber data lain. Dengan menambahkan AI (LLM) untuk summarization dan natural language generation, Anda mendapatkan dokumentasi yang:

  • Lebih mudah dipahami oleh non-teknis
  • Terstruktur otomatis sesuai template tim
  • Dapat diubah prompt-nya saat gaya penulisan berubah

Contoh Workflow n8n: Step-by-step

1) Trigger

Gunakan node Webhook (GitHub/GitLab webhook) atau Schedule untuk memicu workflow saat ada plan/PR. Payload idealnya berisi path ke file plan.json atau output CLI.

2) Ambil Output Plan

Jika CI menyimpan terraform plan -out=plan.tfplan && terraform show -json plan.tfplan, ambil file JSON itu dengan node HTTP Request / S3 dan simpan sebagai input.

3) Parsing & Ekstraksi

Gunakan node Function atau Code (JavaScript) untuk men-scan objek JSON dan ekstrak daftar resource yang berubah:

// contoh pseudocode
const changes = input.plan.resource_changes.map(rc => ({
  address: rc.address,
  type: rc.type,
  change: rc.change.actions, // add, update, delete
  before: rc.change.before,
  after: rc.change.after
}));
return changes;

4) Enrichment: Ambil Owner, Tags, Link ke Repo

Tambahkan metadata seperti service owner, cost center, atau link ke modul Terraform. Bisa ambil dari tagging konvensi atau mapping file YAML di repo.

5) Summarization dengan AI

Gunakan node HTTP Request atau node OpenAI/Hugging Face untuk memanggil LLM. Kirim prompt terstruktur untuk menghasilkan satu paragraf untuk setiap resource dan ringkasan global.

Contoh prompt (ringkas):

"You are an infrastructure documentation assistant. Explain the following change in simple Indonesian, include why it matters, impact, and recommended follow-up.

Resource: aws_ec2_instance.web
Change: update
Before: instance_type t3.micro
After: instance_type t3.small
Tags: env=prod

Output format: - title: ... - description: ... - impact: ... - action: ..."

6) Generate Markdown & Frontmatter

Gabungkan hasil summarization menjadi file Markdown standar yang mudah di-render oleh Docs site (misal MkDocs atau Hugo). Sertakan frontmatter YAML seperti date, author, related PR.

7) Commit & Publish

Gunakan node Git atau Execute Command untuk commit file ke branch docs otomatis, dan buat PR jika diperlukan. Opsi lain: langsung push ke storage CMS atau trigger pipeline deploy docs.

Contoh Struktur Markdown

---
title: "Perubahan Infrastruktur: Swagger Service - 2025-11-23"
author: infra-bot
related_pr: 123
---

# Ringkasan Perubahan

- Jumlah resource: 4
- Perubahan utama: scale-out instance web

## Detail Resource

### aws_ec2_instance.web
**Status**: Updated
**Deskripsi**: ...

Tips Prompt Engineering untuk Dokumentasi Infrastruktur

  • Berikan contoh output yang diinginkan (few-shot) untuk konsistensi gaya.
  • Batasi panjang output per resource untuk mencegah verbosity.
  • Sertakan konteks organisasi (naming standard, compliance highlight).

Keamanan & Compliance

Perhatian penting:

  • Jangan kirim secrets/credentials ke LLM. Filter sensitive fields (password, secret_key).
  • Audit trail: simpan raw plan dan generated docs di append-only storage (log) untuk traceability.
  • Gunakan model on-premise atau private instance jika ada kebijakan data sensitif.

Testing & Validasi

Beberapa langkah validasi otomatis:

  • Unit test untuk parser plan (pastikan field tetap sesuai versi Terraform yang dipakai)
  • Sanity check pada teks AI: deteksi kata-kata yang ambigu atau rekomendasi berbahaya
  • Review manual (gate) untuk perubahan besar—automasi harus membantu, bukan menggantikan review manusia

Template & Reusable Components

Bangun komponen reusable di n8n:

  • Node parsing sebagai sub-workflow
  • Prompt template stored in Git/DB
  • Snippet commit & PR untuk berbagai repo docs

Studi Kasus Singkat

Sebuah tim platform menggunakan workflow ini untuk setiap PR Terraform. Hasilnya:

  • Waktu pembuatan dokumentasi turun dari 2 jam menjadi 5 menit
  • Ditemukan 12% perubahan yang tidak memiliki owner—berkat enrichment otomatis
  • Dokumentasi selalu sinkron dengan state karena di-generate pas tiap apply

Kesimpulan & Langkah Berikutnya

Mengotomasi dokumentasi infrastruktur dengan n8n + AI memberi tim DevOps kemampuan untuk menjaga dokumentasi tetap relevan, cepat, dan actionable. Mulailah dengan proof-of-concept:

  1. Buat webhook trigger & ambil sample plan JSON
  2. Bangun parser sederhana dan integrasikan LLM untuk summarization
  3. Iterasi prompt & template, lalu tambahkan audit & security checks

Keterangan akhir: Artikel ini bisa dikembangkan menjadi template workflow n8n yang lengkap; jika Anda ingin, saya bisa sediakan JSON export n8n contoh, prompt library, dan template Markdown yang siap dipakai.

Artikel terkait