<p>Imagine a complex deployment with many dependencies that needs to connect to lots of things, and where the secrets is only used this current namespace with this one complex deployment.</p>

<p>Would you recommend having many secrets:</p>

<ul>
<li><code>certificates.yaml</code></li>
<li><code>redis-password.yaml</code></li>
<li><code>gcp-credentials.yaml</code></li>
<li>etc....</li>
</ul>

<p>Or one secret for the deployment with lots of keys:</p>

<pre><code>apiVersion: v1
kind: Secret
metadata:
  name: all-the-secrets
data:
  redis-password: asdfa
  certificate-key: asdfadf
  certificatee-crt: adfadf
  ...
</code></pre>

<p>The secrets will be used as environment variables:</p>

<pre><code>name: redis-password
valueFrom:
  secretKeyRef:
    name: secret-name
    key: key-name

</code></pre>

<p>And why is one better than the other?</p>

<p>Ps. They will all be encrypted with kubeseal</p>

<p>There is no difference for your pod whether its many secrets or one. Whenever there's a change your pod needs to know about it. The suggestion is if your files are independent then keep them separate to avoid changing the same secret again even if there's a change in one single file. This will only help you in managing your secrets. This will also help if you want to have different RBAC for different secrets.
If you are not planning to change them, then one secret is also fine.</p>
