Skip to content

Commit 706cf8f

Browse files
committed
Change admin secret to projected volume
This removes the logic for copying over from the initContainer, which makes this author a very happy bunny.
1 parent df0fab0 commit 706cf8f

File tree

4 files changed

+55
-70
lines changed

4 files changed

+55
-70
lines changed

controllers/rabbitmqcluster_controller_test.go

+18-16
Original file line numberDiff line numberDiff line change
@@ -1206,21 +1206,6 @@ var _ = Describe("RabbitmqclusterController", func() {
12061206

12071207
Expect(sts.Spec.Template.Spec.HostNetwork).To(BeFalse())
12081208
Expect(sts.Spec.Template.Spec.Volumes).To(ConsistOf(
1209-
corev1.Volume{
1210-
Name: "rabbitmq-admin",
1211-
VolumeSource: corev1.VolumeSource{
1212-
Secret: &corev1.SecretVolumeSource{
1213-
DefaultMode: &defaultMode,
1214-
SecretName: "rabbitmq-sts-override-rabbitmq-admin",
1215-
Items: []corev1.KeyToPath{
1216-
{
1217-
Key: "default_user.conf",
1218-
Path: "default_user.conf",
1219-
},
1220-
},
1221-
},
1222-
},
1223-
},
12241209
corev1.Volume{
12251210
Name: "additional-config",
12261211
VolumeSource: corev1.VolumeSource{
@@ -1235,7 +1220,24 @@ var _ = Describe("RabbitmqclusterController", func() {
12351220
corev1.Volume{
12361221
Name: "rabbitmq-confd",
12371222
VolumeSource: corev1.VolumeSource{
1238-
EmptyDir: &corev1.EmptyDirVolumeSource{},
1223+
Projected: &corev1.ProjectedVolumeSource{
1224+
Sources: []corev1.VolumeProjection{
1225+
{
1226+
Secret: &corev1.SecretProjection{
1227+
LocalObjectReference: corev1.LocalObjectReference{
1228+
Name: "rabbitmq-sts-override-rabbitmq-admin",
1229+
},
1230+
Items: []corev1.KeyToPath{
1231+
{
1232+
Key: "default_user.conf",
1233+
Path: "default_user.conf",
1234+
},
1235+
},
1236+
},
1237+
},
1238+
},
1239+
DefaultMode: &defaultMode,
1240+
},
12391241
},
12401242
},
12411243
corev1.Volume{

internal/resource/admin_secret_test.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -65,24 +65,23 @@ var _ = Describe("AdminSecret", func() {
6565

6666
By("creating a rabbitmq username that is base64 encoded and 24 characters in length", func() {
6767
username, ok = secret.Data["username"]
68-
Expect(ok).NotTo(BeFalse())
68+
Expect(ok).NotTo(BeFalse(), "Failed to find a key \"username\" in the generated Secret")
6969
decodedUsername, err := b64.URLEncoding.DecodeString(string(username))
7070
Expect(err).NotTo(HaveOccurred())
7171
Expect(len(decodedUsername)).To(Equal(24))
72-
7372
})
7473

7574
By("creating a rabbitmq password that is base64 encoded and 24 characters in length", func() {
7675
password, ok = secret.Data["password"]
77-
Expect(ok).NotTo(BeFalse())
76+
Expect(ok).NotTo(BeFalse(), "Failed to find a key \"password\" in the generated Secret")
7877
decodedPassword, err := b64.URLEncoding.DecodeString(string(password))
7978
Expect(err).NotTo(HaveOccurred())
8079
Expect(len(decodedPassword)).To(Equal(24))
8180
})
8281

8382
By("creating a default_user.conf file that contains the correct sysctl config format to be parsed by RabbitMQ", func() {
8483
defaultUserConf, ok := secret.Data["default_user.conf"]
85-
Expect(ok).NotTo(BeFalse())
84+
Expect(ok).NotTo(BeFalse(), "Failed to find a key \"default_user.conf\" in the generated Secret")
8685

8786
cfg, err := ini.Load(defaultUserConf)
8887
Expect(err).NotTo(HaveOccurred())

internal/resource/statefulset.go

+17-25
Original file line numberDiff line numberDiff line change
@@ -258,20 +258,6 @@ func (builder *StatefulSetBuilder) podTemplateSpec(annotations, labels map[strin
258258
terminationGracePeriod := defaultGracePeriodTimeoutSeconds
259259

260260
volumes := []corev1.Volume{
261-
{
262-
Name: "rabbitmq-admin",
263-
VolumeSource: corev1.VolumeSource{
264-
Secret: &corev1.SecretVolumeSource{
265-
SecretName: builder.Instance.ChildResourceName(AdminSecretName),
266-
Items: []corev1.KeyToPath{
267-
{
268-
Key: "default_user.conf",
269-
Path: "default_user.conf",
270-
},
271-
},
272-
},
273-
},
274-
},
275261
{
276262
Name: "server-conf",
277263
VolumeSource: corev1.VolumeSource{
@@ -301,7 +287,23 @@ func (builder *StatefulSetBuilder) podTemplateSpec(annotations, labels map[strin
301287
{
302288
Name: "rabbitmq-confd",
303289
VolumeSource: corev1.VolumeSource{
304-
EmptyDir: &corev1.EmptyDirVolumeSource{},
290+
Projected: &corev1.ProjectedVolumeSource{
291+
Sources: []corev1.VolumeProjection{
292+
{
293+
Secret: &corev1.SecretProjection{
294+
LocalObjectReference: corev1.LocalObjectReference{
295+
Name: builder.Instance.ChildResourceName(AdminSecretName),
296+
},
297+
Items: []corev1.KeyToPath{
298+
{
299+
Key: "default_user.conf",
300+
Path: "default_user.conf",
301+
},
302+
},
303+
},
304+
},
305+
},
306+
},
305307
},
306308
},
307309
{
@@ -511,8 +513,6 @@ func (builder *StatefulSetBuilder) podTemplateSpec(annotations, labels map[strin
511513
"&& chown 999:999 /etc/rabbitmq/advanced.config ; " +
512514
"cp /tmp/rabbitmq/rabbitmq-env.conf /etc/rabbitmq/rabbitmq-env.conf " +
513515
"&& chown 999:999 /etc/rabbitmq/rabbitmq-env.conf ; " +
514-
"cp /tmp/rabbitmq-admin/default_user.conf /etc/rabbitmq/conf.d/default_user.conf " +
515-
"&& chown 999:999 /etc/rabbitmq/conf.d/*.conf ; " +
516516
"cp /tmp/erlang-cookie-secret/.erlang.cookie /var/lib/rabbitmq/.erlang.cookie " +
517517
"&& chown 999:999 /var/lib/rabbitmq/.erlang.cookie " +
518518
"&& chmod 600 /var/lib/rabbitmq/.erlang.cookie ; " +
@@ -539,18 +539,10 @@ func (builder *StatefulSetBuilder) podTemplateSpec(annotations, labels map[strin
539539
Name: "plugins-conf",
540540
MountPath: "/tmp/rabbitmq-plugins/",
541541
},
542-
{
543-
Name: "rabbitmq-admin",
544-
MountPath: "/tmp/rabbitmq-admin/",
545-
},
546542
{
547543
Name: "rabbitmq-etc",
548544
MountPath: "/etc/rabbitmq/",
549545
},
550-
{
551-
Name: "rabbitmq-confd",
552-
MountPath: "/etc/rabbitmq/conf.d/",
553-
},
554546
{
555547
Name: "rabbitmq-erlang-cookie",
556548
MountPath: "/var/lib/rabbitmq/",

internal/resource/statefulset_test.go

+17-25
Original file line numberDiff line numberDiff line change
@@ -815,20 +815,6 @@ var _ = Describe("StatefulSet", func() {
815815
Expect(stsBuilder.Update(statefulSet)).To(Succeed())
816816

817817
Expect(statefulSet.Spec.Template.Spec.Volumes).To(ConsistOf(
818-
corev1.Volume{
819-
Name: "rabbitmq-admin",
820-
VolumeSource: corev1.VolumeSource{
821-
Secret: &corev1.SecretVolumeSource{
822-
SecretName: instance.ChildResourceName("admin"),
823-
Items: []corev1.KeyToPath{
824-
{
825-
Key: "default_user.conf",
826-
Path: "default_user.conf",
827-
},
828-
},
829-
},
830-
},
831-
},
832818
corev1.Volume{
833819
Name: "server-conf",
834820
VolumeSource: corev1.VolumeSource{
@@ -858,7 +844,23 @@ var _ = Describe("StatefulSet", func() {
858844
corev1.Volume{
859845
Name: "rabbitmq-confd",
860846
VolumeSource: corev1.VolumeSource{
861-
EmptyDir: &corev1.EmptyDirVolumeSource{},
847+
Projected: &corev1.ProjectedVolumeSource{
848+
Sources: []corev1.VolumeProjection{
849+
{
850+
Secret: &corev1.SecretProjection{
851+
LocalObjectReference: corev1.LocalObjectReference{
852+
Name: builder.Instance.ChildResourceName("admin"),
853+
},
854+
Items: []corev1.KeyToPath{
855+
{
856+
Key: "default_user.conf",
857+
Path: "default_user.conf",
858+
},
859+
},
860+
},
861+
},
862+
},
863+
},
862864
},
863865
},
864866
corev1.Volume{
@@ -955,8 +957,6 @@ var _ = Describe("StatefulSet", func() {
955957
"&& chown 999:999 /etc/rabbitmq/advanced.config ; "+
956958
"cp /tmp/rabbitmq/rabbitmq-env.conf /etc/rabbitmq/rabbitmq-env.conf "+
957959
"&& chown 999:999 /etc/rabbitmq/rabbitmq-env.conf ; "+
958-
"cp /tmp/rabbitmq-admin/default_user.conf /etc/rabbitmq/conf.d/default_user.conf "+
959-
"&& chown 999:999 /etc/rabbitmq/conf.d/*.conf ; "+
960960
"cp /tmp/erlang-cookie-secret/.erlang.cookie /var/lib/rabbitmq/.erlang.cookie "+
961961
"&& chown 999:999 /var/lib/rabbitmq/.erlang.cookie "+
962962
"&& chmod 600 /var/lib/rabbitmq/.erlang.cookie ; "+
@@ -973,18 +973,10 @@ var _ = Describe("StatefulSet", func() {
973973
Name: "plugins-conf",
974974
MountPath: "/tmp/rabbitmq-plugins/",
975975
},
976-
corev1.VolumeMount{
977-
Name: "rabbitmq-admin",
978-
MountPath: "/tmp/rabbitmq-admin/",
979-
},
980976
corev1.VolumeMount{
981977
Name: "rabbitmq-etc",
982978
MountPath: "/etc/rabbitmq/",
983979
},
984-
corev1.VolumeMount{
985-
Name: "rabbitmq-confd",
986-
MountPath: "/etc/rabbitmq/conf.d/",
987-
},
988980
corev1.VolumeMount{
989981
Name: "rabbitmq-erlang-cookie",
990982
MountPath: "/var/lib/rabbitmq/",

0 commit comments

Comments
 (0)