# op inject और Templates — डेवलपर्स के लिए 1Password और Secrets Hygiene

Source: https://www.geekswithgeeks.com/hi/secrets-hygiene/op-inject

> जब ऐप सिर्फ़ files पढ़ता हो तब template से config फ़ाइल बनाएँ।

## जब फ़ाइल ज़रूरी हो

कुछ tools को असली मानों वाली config फ़ाइल चाहिए। `op inject` template में `{{ op://... }}` placeholders बदलकर नतीजा लिखता है। Output को secret मानें: उसे Git से बाहर रखें, permissions सीमित करें और काम होने पर हटा दें।

## Template से फ़ाइल

Template commit करें, बनी हुई फ़ाइल कभी नहीं। `chmod 600` उसे सिर्फ़ आपके लिए पढ़ने योग्य बनाता है।

```bash
# config.yml.tpl
# db:
#   password: {{ op://Dev/Postgres/password }}

op inject -i config.yml.tpl -o config.yml
chmod 600 config.yml
echo "config.yml" >> .gitignore
```

## हो सके तो op run

`op run` disk पर कुछ नहीं छोड़ता, जबकि `op inject` सादे text की फ़ाइल बनाता है। `inject` तभी उपयोग करें जब tool environment variables न पढ़ सके।

**Quiz:** Git में कौन-सी फ़ाइल commit होनी चाहिए?

- [ ] असली passwords वाली config.yml
- [ ] op inject का बना हुआ output
- [x] op:// placeholders वाली config.yml.tpl
- [ ] Vault का screenshot

*Answer:* op:// placeholders वाली config.yml.tpl. Template में सिर्फ़ references हैं, इसलिए साझा करना सुरक्षित है।
