LLM Apps in Production (RAG + Vector DB + Caching) · Pelajaran

Mengelola Konfigurasi dan Rahasia saat Penerapan

Pelajari cara memisahkan konfigurasi dan memasukkan rahasia seperti kunci API dengan aman ke aplikasi LLM yang diterapkan menggunakan variabel lingkungan, peta konfigurasi, dan pengelola rahasia.

Pelajaran 4 dari 413 langkah

Mengelola Konfigurasi dan Rahasia saat Penerapan adalah pelajaran LLM Apps in Production (RAG + Vector DB + Caching) gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar LLM Apps in Production (RAG + Vector DB + Caching), dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus LLM Apps in Production (RAG + Vector DB + Caching) mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Config Belongs Outside Code

The same LLM app image runs in dev, staging, and production. The only difference should be configuration, not the code. Hard-coding endpoints or keys forces a rebuild for every environment.

This is the core idea of config externalization.

Config vs Secrets

Two related but distinct concepts:

  • Config — non-sensitive settings: model name, temperature, log level
  • Secrets — sensitive values: API keys, DB passwords, tokens

Secrets need stricter handling and must never be logged.

Environment Variables

The simplest portable mechanism is environment variables.

import os

model = os.environ.get('LLM_MODEL', 'gpt-mini')
temp = float(os.environ.get('LLM_TEMPERATURE', '0.2'))
print('Using', model, 'at temp', temp)

The Twelve-Factor Approach

The twelve-factor methodology says store config in the environment. This keeps the build artifact identical across environments and avoids accidentally committing secrets into version control.

Kubernetes ConfigMaps

In Kubernetes, non-sensitive config lives in a ConfigMap and is injected as env vars or files.

apiVersion: v1
kind: ConfigMap
metadata:
  name: llm-config
data:
  LLM_MODEL: 'gpt-mini'
  LLM_TEMPERATURE: '0.2'

Kubernetes Secrets

Sensitive values go in a Secret object, kept separate from ConfigMaps and mounted with tighter access controls. Base64 encoding is not encryption, so enable encryption at rest.

apiVersion: v1
kind: Secret
metadata:
  name: llm-secrets
type: Opaque
stringData:
  OPENAI_API_KEY: 'set-via-pipeline'

Dedicated Secret Managers

For production, use a dedicated secret manager:

  • HashiCorp Vault
  • AWS Secrets Manager
  • GCP Secret Manager

They offer rotation, audit logs, and fine-grained access far beyond plain env vars.

Fetching Secrets at Runtime

Apps can pull secrets at startup from a manager instead of baking them in. This centralizes rotation.

def load_secret(name):
    store = {'OPENAI_API_KEY': 'sk-demo'}
    if name not in store:
        raise KeyError('missing secret: ' + name)
    return store[name]

print(load_secret('OPENAI_API_KEY')[:7])

Validating Config at Startup

Fail fast: validate that all required config and secrets are present when the app boots, not when the first request arrives. A clear startup error beats a confusing 500 in production.

Avoiding Secret Leaks

Common leak vectors to guard against:

  • Logging full request objects that include keys
  • Echoing env vars in debug endpoints
  • Committing .env files
  • Exposing secrets in error stack traces

Rotation and Per-Environment Keys

Use separate keys per environment and rotate them on a schedule. With a secret manager, rotation updates one place and all instances pick it up without a redeploy.

Quick Check

Test your understanding of Kubernetes config.

Recap

You learned to externalize config from code and separate it from secrets. Use environment variables and ConfigMaps for settings, Secrets and dedicated managers for sensitive values, validate everything at startup, and rotate keys per environment without leaking them in logs.

Gratis untuk memulai

Belajar LLM Apps in Production (RAG + Vector DB + Caching) dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
12
Pelajaran
48

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengelola Konfigurasi dan Rahasia saat Penerapan” gratis?

Ya — teks lengkap “Mengelola Konfigurasi dan Rahasia saat Penerapan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus LLM Apps in Production (RAG + Vector DB + Caching), upgrade ke CoddyKit PRO. Kursus LLM Apps in Production (RAG + Vector DB + Caching) mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mengelola Konfigurasi dan Rahasia saat Penerapan”?

Pelajari cara memisahkan konfigurasi dan memasukkan rahasia seperti kunci API dengan aman ke aplikasi LLM yang diterapkan menggunakan variabel lingkungan, peta konfigurasi, dan pengelola rahasia. Kamu berlatih LLM Apps in Production (RAG + Vector DB + Caching) dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai LLM Apps in Production (RAG + Vector DB + Caching)?

Tidak diperlukan pengalaman sebelumnya. LLM Apps in Production (RAG + Vector DB + Caching) di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Mengelola Konfigurasi dan Rahasia saat Penerapan” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran LLM Apps in Production (RAG + Vector DB + Caching) ini?

Ya. Setiap pelajaran LLM Apps in Production (RAG + Vector DB + Caching) menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membuat Aplikasi LLM Menjadi Kontainer dengan Docker
  2. Orkestrasi dengan Kubernetes untuk Skalabilitas
  3. CI/CD untuk Penerapan Aplikasi LLM
  4. Mengelola Konfigurasi dan Rahasia saat Penerapan
← Kembali ke LLM Apps in Production (RAG + Vector DB + Caching)