add some missing config to pkg/install daemonset, deployment
Signed-off-by: Steve Kriss <krisss@vmware.com>pull/1370/head
parent
3ed97db550
commit
66c6d7a026
|
@ -40,6 +40,9 @@ func DaemonSet(namespace string, opts ...podTemplateOption) *appsv1.DaemonSet {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
userID := int64(0)
|
||||||
|
mountPropagationMode := corev1.MountPropagationHostToContainer
|
||||||
|
|
||||||
daemonSet := &appsv1.DaemonSet{
|
daemonSet := &appsv1.DaemonSet{
|
||||||
ObjectMeta: objectMeta(namespace, "restic"),
|
ObjectMeta: objectMeta(namespace, "restic"),
|
||||||
TypeMeta: metav1.TypeMeta{
|
TypeMeta: metav1.TypeMeta{
|
||||||
|
@ -60,6 +63,9 @@ func DaemonSet(namespace string, opts ...podTemplateOption) *appsv1.DaemonSet {
|
||||||
},
|
},
|
||||||
Spec: corev1.PodSpec{
|
Spec: corev1.PodSpec{
|
||||||
ServiceAccountName: "velero",
|
ServiceAccountName: "velero",
|
||||||
|
SecurityContext: &corev1.PodSecurityContext{
|
||||||
|
RunAsUser: &userID,
|
||||||
|
},
|
||||||
Volumes: []corev1.Volume{
|
Volumes: []corev1.Volume{
|
||||||
{
|
{
|
||||||
Name: "host-pods",
|
Name: "host-pods",
|
||||||
|
@ -69,6 +75,12 @@ func DaemonSet(namespace string, opts ...podTemplateOption) *appsv1.DaemonSet {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "scratch",
|
||||||
|
VolumeSource: corev1.VolumeSource{
|
||||||
|
EmptyDir: new(corev1.EmptyDirVolumeSource),
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Containers: []corev1.Container{
|
Containers: []corev1.Container{
|
||||||
{
|
{
|
||||||
|
@ -79,6 +91,11 @@ func DaemonSet(namespace string, opts ...podTemplateOption) *appsv1.DaemonSet {
|
||||||
{
|
{
|
||||||
Name: "host-pods",
|
Name: "host-pods",
|
||||||
MountPath: "/host_pods",
|
MountPath: "/host_pods",
|
||||||
|
MountPropagation: &mountPropagationMode,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "scratch",
|
||||||
|
MountPath: "/scratch",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Env: []corev1.EnvVar{
|
Env: []corev1.EnvVar{
|
||||||
|
@ -98,6 +115,14 @@ func DaemonSet(namespace string, opts ...podTemplateOption) *appsv1.DaemonSet {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "VELERO_SCRATCH_DIR",
|
||||||
|
Value: "/scratch",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "AZURE_CREDENTIALS_FILE",
|
||||||
|
Value: "/credentials/cloud",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: "GOOGLE_APPLICATION_CREDENTIALS",
|
Name: "GOOGLE_APPLICATION_CREDENTIALS",
|
||||||
Value: "/credentials/cloud",
|
Value: "/credentials/cloud",
|
||||||
|
@ -126,6 +151,14 @@ func DaemonSet(namespace string, opts ...podTemplateOption) *appsv1.DaemonSet {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
daemonSet.Spec.Template.Spec.Containers[0].VolumeMounts = append(
|
||||||
|
daemonSet.Spec.Template.Spec.Containers[0].VolumeMounts,
|
||||||
|
corev1.VolumeMount{
|
||||||
|
Name: "cloud-credentials",
|
||||||
|
MountPath: "/credentials",
|
||||||
|
},
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
daemonSet.Spec.Template.Spec.Containers[0].Env = append(daemonSet.Spec.Template.Spec.Containers[0].Env, c.envVars...)
|
daemonSet.Spec.Template.Spec.Containers[0].Env = append(daemonSet.Spec.Template.Spec.Containers[0].Env, c.envVars...)
|
||||||
|
|
|
@ -30,7 +30,7 @@ func TestDaemonSet(t *testing.T) {
|
||||||
assert.Equal(t, "velero", ds.ObjectMeta.Namespace)
|
assert.Equal(t, "velero", ds.ObjectMeta.Namespace)
|
||||||
|
|
||||||
ds = DaemonSet("velero", WithoutCredentialsVolume())
|
ds = DaemonSet("velero", WithoutCredentialsVolume())
|
||||||
assert.Equal(t, 1, len(ds.Spec.Template.Spec.Volumes))
|
assert.Equal(t, 2, len(ds.Spec.Template.Spec.Volumes))
|
||||||
|
|
||||||
ds = DaemonSet("velero", WithImage("gcr.io/heptio-images/velero:v0.11"))
|
ds = DaemonSet("velero", WithImage("gcr.io/heptio-images/velero:v0.11"))
|
||||||
assert.Equal(t, "gcr.io/heptio-images/velero:v0.11", ds.Spec.Template.Spec.Containers[0].Image)
|
assert.Equal(t, "gcr.io/heptio-images/velero:v0.11", ds.Spec.Template.Spec.Containers[0].Image)
|
||||||
|
|
|
@ -116,8 +116,16 @@ func Deployment(namespace string, opts ...podTemplateOption) *appsv1beta1.Deploy
|
||||||
Name: "plugins",
|
Name: "plugins",
|
||||||
MountPath: "/plugins",
|
MountPath: "/plugins",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "scratch",
|
||||||
|
MountPath: "/scratch",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Env: []corev1.EnvVar{
|
Env: []corev1.EnvVar{
|
||||||
|
{
|
||||||
|
Name: "VELERO_SCRATCH_DIR",
|
||||||
|
Value: "/scratch",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: "GOOGLE_APPLICATION_CREDENTIALS",
|
Name: "GOOGLE_APPLICATION_CREDENTIALS",
|
||||||
Value: "/credentials/cloud",
|
Value: "/credentials/cloud",
|
||||||
|
@ -136,6 +144,12 @@ func Deployment(namespace string, opts ...podTemplateOption) *appsv1beta1.Deploy
|
||||||
EmptyDir: &corev1.EmptyDirVolumeSource{},
|
EmptyDir: &corev1.EmptyDirVolumeSource{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "scratch",
|
||||||
|
VolumeSource: corev1.VolumeSource{
|
||||||
|
EmptyDir: new(corev1.EmptyDirVolumeSource),
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -32,13 +32,13 @@ func TestDeployment(t *testing.T) {
|
||||||
assert.Equal(t, "--restore-only", deploy.Spec.Template.Spec.Containers[0].Args[1])
|
assert.Equal(t, "--restore-only", deploy.Spec.Template.Spec.Containers[0].Args[1])
|
||||||
|
|
||||||
deploy = Deployment("velero", WithEnvFromSecretKey("my-var", "my-secret", "my-key"))
|
deploy = Deployment("velero", WithEnvFromSecretKey("my-var", "my-secret", "my-key"))
|
||||||
envSecret := deploy.Spec.Template.Spec.Containers[0].Env[2]
|
envSecret := deploy.Spec.Template.Spec.Containers[0].Env[3]
|
||||||
assert.Equal(t, "my-var", envSecret.Name)
|
assert.Equal(t, "my-var", envSecret.Name)
|
||||||
assert.Equal(t, "my-secret", envSecret.ValueFrom.SecretKeyRef.LocalObjectReference.Name)
|
assert.Equal(t, "my-secret", envSecret.ValueFrom.SecretKeyRef.LocalObjectReference.Name)
|
||||||
assert.Equal(t, "my-key", envSecret.ValueFrom.SecretKeyRef.Key)
|
assert.Equal(t, "my-key", envSecret.ValueFrom.SecretKeyRef.Key)
|
||||||
|
|
||||||
deploy = Deployment("velero", WithoutCredentialsVolume())
|
deploy = Deployment("velero", WithoutCredentialsVolume())
|
||||||
assert.Equal(t, 1, len(deploy.Spec.Template.Spec.Volumes))
|
assert.Equal(t, 2, len(deploy.Spec.Template.Spec.Volumes))
|
||||||
|
|
||||||
deploy = Deployment("velero", WithImage("gcr.io/heptio-images/velero:v0.11"))
|
deploy = Deployment("velero", WithImage("gcr.io/heptio-images/velero:v0.11"))
|
||||||
assert.Equal(t, "gcr.io/heptio-images/velero:v0.11", deploy.Spec.Template.Spec.Containers[0].Image)
|
assert.Equal(t, "gcr.io/heptio-images/velero:v0.11", deploy.Spec.Template.Spec.Containers[0].Image)
|
||||||
|
|
Loading…
Reference in New Issue