Skip to content

आरंभिक सेटअप

Ironloom environment variables और encrypted local setup file से setup values accept करता है। Environment variables हमेशा precedence लेते हैं।

Setup Resolution Flow

Required Setup Variables

VariablePurpose
IRONLOOM_CONFIG_KEYBase64-encoded 32-byte key जो local setup file encrypt और decrypt करने के लिए उपयोग होती है।
IRONLOOM_INSTALLER_TOKENOperator-generated token जो setup changes submit करने के लिए required है।
IRONLOOM_STATE_ROOTRuntime state directory जिसमें encrypted setup state और .ironloom artifacts होते हैं।

Key और installer token generate करें:

sh
openssl rand -base64 32

Runtime Variables

VariablePurpose
IRONLOOM_PUBLIC_URLPublic runtime base URL.
IRONLOOM_DISCORD_APPLICATION_IDDiscord application ID जिससे server authorization URL बनता है।
IRONLOOM_DISCORD_TOKENDiscord token या secret reference.
IRONLOOM_DISCORD_PUBLIC_KEYDiscord public key या secret reference.
IRONLOOM_GITHUB_TOKENGitHub token या secret reference.
IRONLOOM_SONARCLOUD_TOKENSonarCloud token या secret reference.
IRONLOOM_SONARCLOUD_ORGANIZATIONSonarCloud organization.
IRONLOOM_SONARCLOUD_PROJECT_KEYSonarCloud project key.
IRONLOOM_OPENAI_API_KEYAPI-key authentication के लिए OpenAI API key.
IRONLOOM_OPENAI_OAUTH_SESSIONOAuth authentication के लिए OpenAI OAuth session reference.

IRONLOOM_OPENAI_API_KEY या IRONLOOM_OPENAI_OAUTH_SESSION provide करें।

Discord Authorization

Discord Developer Portal में Discord application बनाएं और उसका application ID IRONLOOM_DISCORD_APPLICATION_ID या setup page में copy करें। Setup page bot और applications.commands scopes वाली Discord authorization URL बना सकता है, ताकि server administrator Ironloom को target server में install कर सके।

Discord bot token और public key को संभव हो तो environment variables या secret bindings में रखें। अगर इन्हें /setup से enter किया जाता है, Ironloom उन्हें encrypted local setup file में save करता है।

Local Encrypted Setup

जब required runtime values environment में मौजूद नहीं हों, /setup installer token supplied होने के बाद उन्हें accept करता है। Ironloom encrypted setup state यहां लिखता है:

text
${IRONLOOM_STATE_ROOT}/setup/config.enc.json

File AES-GCM से encrypted होती है और Unix systems पर owner-only permissions से लिखी जाती है।

Precedence

Configuration resolution:

  1. Environment variable.
  2. IRONLOOM_STATE_ROOT के अंतर्गत encrypted setup file.
  3. Missing configuration error.

इससे Kubernetes और Docker secrets encrypted setup file delete किए बिना local state override कर सकते हैं।

Contributors

The avatar of contributor named as Vanna DiCatania Vanna DiCatania

Changelog

Discord, GitHub, SonarCloud और k3s के लिए ऑडिट योग्य इंजीनियरिंग ऑपरेशन.