<p>In most examples about using secrets in Kubernetes, you can find similar examples:</p>

<pre><code>apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  username: User
  password: **********
</code></pre>

<p>What is the purpose of <code>type: Opaque</code> in the definition above? What other types (and for which use cases) are possible to specify there?</p>

<p><code>type: Opaque</code> means that from kubernetes's point of view the contents of this Secret is unstructured, it can contain arbitrary key-value pairs.</p>

<p>In contrast, there is the Secret storing <code>ServiceAccount</code> credentials, or the ones used as <code>ImagePullSecret</code>. These have a constrained contents.</p>
