New to KubeVault? Please start here.

VaultServerVersion

What is VaultServerVersion

VaultServerVersion is a Kubernetes Custom Resource Definitions (CRD). It is a non-namespaced CRD. The name of this CRD will be used in .spec.version field of VaultServer CRD. It provides a way to specify the docker images for Vault, Unsealer, and Exporter.

Using a separate CRD for specifying respective docker images allows us to modify the images independently of the KubeVault operator. This also allows users to use their custom images.

apiVersion: catalog.kubevault.com/v1alpha1
kind: VaultServerVersion
metadata:
  name: '1.10.3'
spec:
  version: 1.10.3
  exporter:
    image: kubevault/vault-exporter:v0.1.1
  unsealer:
    image: kubevault/vault-unsealer:v0.8.0
  vault:
    image: vault:1.10.3

VaultServerVersion Spec

VaultServerVersion .spec contains image information.

apiVersion: catalog.kubevault.com/v1alpha1
kind: VaultServerVersion
metadata:
  name: '1.10.3'
spec:
  version: 1.10.3
  exporter:
    image: kubevault/vault-exporter:v0.1.1
  unsealer:
    image: kubevault/vault-unsealer:v0.8.0
  vault:
    image: vault:1.10.3

.spec contains following fields:

spec.version

spec.version is a required field that specifies the original version of Vault that has been used to build the docker image specified in spec.vault.image field.

spec.deprecated

spec.deprecated is an optional field that specifies whether the specified docker images are supported by the current KubeVault operator. The default value of this field is false.

spec.vault.image

spec.vault.image is a required field that specifies the docker image which will be used for Vault.

spec:
  vault:
    image: vault:1.10.3

spec.unsealer.image

spec.unsealer.image is a required field that specifies the docker image which will be used for Unsealer.

spec:
  unsealer:
    image: kubevault/vault-unsealer:0.8.0

spec.exporter.image

spec.exporter.image is a required field that specifies the docker image which will be used to export Prometheus metrics.

spec:
  exporter:
    image: kubevault/vault-exporter:0.1.1