diff --git a/pkg/apis/vault/v1alpha1/types.go b/pkg/apis/vault/v1alpha1/types.go index 87128b7..bed0ae2 100644 --- a/pkg/apis/vault/v1alpha1/types.go +++ b/pkg/apis/vault/v1alpha1/types.go @@ -57,6 +57,9 @@ type VaultServiceSpec struct { // Base image to use for a Vault deployment. BaseImage string `json:"baseImage"` + + // custom etcd image to use instead of 'quay.io/coreos/etcd' + EtcdRepository string `json: "etcdRepository"` // Version of Vault to be deployed. Version string `json:"version"` diff --git a/pkg/util/k8sutil/vault.go b/pkg/util/k8sutil/vault.go index 44c6cb8..fc2c509 100644 --- a/pkg/util/k8sutil/vault.go +++ b/pkg/util/k8sutil/vault.go @@ -104,6 +104,12 @@ func DeployEtcdCluster(etcdCRCli etcdCRClient.Interface, v *api.VaultService) er }, }, } + + // Allow custom etcd image to be used in cases where default quay.io/coreos/etcd is not usable. + if v.Spec.EtcdRepository != nil { + etcdCluster.Spec.Repository = v.Spec.EtcdRepository + } + if v.Spec.Pod != nil { etcdCluster.Spec.Pod.Resources = v.Spec.Pod.Resources }