Skip to content

Commit 882d977

Browse files
authored
SPIRE-353: changing port names to avoid ambiguity (#93)
* changing port names to avoid ambiguity * keeping the length of port name to <= 15 chars * fixing e2e test * adding const section * revert changes * typo fix
1 parent e1faf0a commit 882d977

6 files changed

Lines changed: 37 additions & 33 deletions

File tree

pkg/controller/spire-server/controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ func (r *SpireServerReconciler) validateProxyConfiguration(statusMgr *status.Man
318318
func needsUpdate(current, desired appsv1.StatefulSet) bool {
319319
if current.Spec.Template.Annotations[spireServerStatefulSetSpireServerConfigHashAnnotationKey] != desired.Spec.Template.Annotations[spireServerStatefulSetSpireServerConfigHashAnnotationKey] {
320320
return true
321-
} else if current.Spec.Template.Annotations[spireServerStatefulSetSpireControllerMangerConfigHashAnnotationKey] != desired.Spec.Template.Annotations[spireServerStatefulSetSpireControllerMangerConfigHashAnnotationKey] {
321+
} else if current.Spec.Template.Annotations[spireServerStatefulSetSpireControllerManagerConfigHashAnnotationKey] != desired.Spec.Template.Annotations[spireServerStatefulSetSpireControllerManagerConfigHashAnnotationKey] {
322322
return true
323323
}
324324
return utils.ResourceNeedsUpdate(&current, &desired)

pkg/controller/spire-server/controller_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -446,8 +446,8 @@ func createStatefulSetWithConfigHashes(serverHash, ctrlMgrHash string) appsv1.St
446446
Template: corev1.PodTemplateSpec{
447447
ObjectMeta: metav1.ObjectMeta{
448448
Annotations: map[string]string{
449-
spireServerStatefulSetSpireServerConfigHashAnnotationKey: serverHash,
450-
spireServerStatefulSetSpireControllerMangerConfigHashAnnotationKey: ctrlMgrHash,
449+
spireServerStatefulSetSpireServerConfigHashAnnotationKey: serverHash,
450+
spireServerStatefulSetSpireControllerManagerConfigHashAnnotationKey: ctrlMgrHash,
451451
},
452452
},
453453
},

pkg/controller/spire-server/service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ func getSpireServerService(config *v1alpha1.SpireServerSpec) *corev1.Service {
248248

249249
// getSpireControllerManagerWebhookService returns the Controller Manager Service with proper labels and selectors
250250
func getSpireControllerManagerWebhookService(customLabels map[string]string) *corev1.Service {
251-
svc := utils.DecodeServiceObjBytes(assets.MustAsset(utils.SpireControllerMangerWebhookServiceAssetName))
251+
svc := utils.DecodeServiceObjBytes(assets.MustAsset(utils.SpireControllerManagerWebhookServiceAssetName))
252252
svc.Labels = utils.SpireControllerManagerLabels(customLabels)
253253
svc.Namespace = utils.GetOperatorNamespace()
254254
svc.Spec.Selector = map[string]string{

pkg/controller/spire-server/statefulset.go

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,12 @@ import (
2222
"github.com/openshift/zero-trust-workload-identity-manager/pkg/controller/utils"
2323
)
2424

25-
const spireServerStatefulSetSpireServerConfigHashAnnotationKey = "ztwim.openshift.io/spire-server-config-hash"
26-
const spireServerStatefulSetSpireControllerMangerConfigHashAnnotationKey = "ztwim.openshift.io/spire-controller-manager-config-hash"
25+
const (
26+
spireServerStatefulSetSpireServerConfigHashAnnotationKey = "ztwim.openshift.io/spire-server-config-hash"
27+
spireServerStatefulSetSpireControllerManagerConfigHashAnnotationKey = "ztwim.openshift.io/spire-controller-manager-config-hash"
28+
spireServerHealthPort = "server-healthz"
29+
spireCtrlMgrHealthPort = "ctrlmgr-healthz"
30+
)
2731

2832
// reconcileStatefulSet reconciles the Spire Server StatefulSet
2933
func (r *SpireServerReconciler) reconcileStatefulSet(ctx context.Context, server *v1alpha1.SpireServer, statusMgr *status.Manager, createOnlyMode bool, spireServerConfigMapHash, spireControllerManagerConfigMapHash string) error {
@@ -80,7 +84,7 @@ const (
8084

8185
func GenerateSpireServerStatefulSet(config *v1alpha1.SpireServerSpec,
8286
spireServerConfigMapHash string,
83-
spireControllerMangerConfigMapHash string) *appsv1.StatefulSet {
87+
SpireControllerManagerConfigMapHash string) *appsv1.StatefulSet {
8488

8589
// Generate standardized labels once and reuse them
8690
labels := utils.SpireServerLabels(config.Labels)
@@ -152,9 +156,9 @@ func GenerateSpireServerStatefulSet(config *v1alpha1.SpireServerSpec,
152156
Template: corev1.PodTemplateSpec{
153157
ObjectMeta: metav1.ObjectMeta{
154158
Annotations: map[string]string{
155-
"kubectl.kubernetes.io/default-container": "spire-server",
156-
spireServerStatefulSetSpireServerConfigHashAnnotationKey: spireServerConfigMapHash,
157-
spireServerStatefulSetSpireControllerMangerConfigHashAnnotationKey: spireControllerMangerConfigMapHash,
159+
"kubectl.kubernetes.io/default-container": "spire-server",
160+
spireServerStatefulSetSpireServerConfigHashAnnotationKey: spireServerConfigMapHash,
161+
spireServerStatefulSetSpireControllerManagerConfigHashAnnotationKey: SpireControllerManagerConfigMapHash,
158162
},
159163
Labels: labels,
160164
},
@@ -175,17 +179,17 @@ func GenerateSpireServerStatefulSet(config *v1alpha1.SpireServerSpec,
175179
},
176180
Ports: []corev1.ContainerPort{
177181
{Name: "grpc", ContainerPort: 8081, Protocol: corev1.ProtocolTCP},
178-
{Name: "healthz", ContainerPort: 8080, Protocol: corev1.ProtocolTCP},
182+
{Name: spireServerHealthPort, ContainerPort: 8080, Protocol: corev1.ProtocolTCP},
179183
},
180184
LivenessProbe: &corev1.Probe{
181-
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/live", Port: intstr.FromString("healthz")}},
185+
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/live", Port: intstr.FromString(spireServerHealthPort)}},
182186
InitialDelaySeconds: 15,
183187
PeriodSeconds: 60,
184188
TimeoutSeconds: 3,
185189
FailureThreshold: 2,
186190
},
187191
ReadinessProbe: &corev1.Probe{
188-
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/ready", Port: intstr.FromString("healthz")}},
192+
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/ready", Port: intstr.FromString(spireServerHealthPort)}},
189193
InitialDelaySeconds: 5,
190194
PeriodSeconds: 5,
191195
},
@@ -205,13 +209,13 @@ func GenerateSpireServerStatefulSet(config *v1alpha1.SpireServerSpec,
205209
},
206210
Ports: []corev1.ContainerPort{
207211
{Name: "https", ContainerPort: 9443},
208-
{Name: "healthz", ContainerPort: 8083},
212+
{Name: spireCtrlMgrHealthPort, ContainerPort: 8083},
209213
},
210214
LivenessProbe: &corev1.Probe{
211-
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/healthz", Port: intstr.FromString("healthz")}},
215+
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/healthz", Port: intstr.FromString(spireCtrlMgrHealthPort)}},
212216
},
213217
ReadinessProbe: &corev1.Probe{
214-
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/readyz", Port: intstr.FromString("healthz")}},
218+
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/readyz", Port: intstr.FromString(spireCtrlMgrHealthPort)}},
215219
},
216220
VolumeMounts: []corev1.VolumeMount{
217221
{Name: "spire-server-socket", MountPath: "/tmp/spire-server/private", ReadOnly: true},

pkg/controller/spire-server/statefulset_test.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,9 @@ func TestGenerateSpireServerStatefulSet(t *testing.T) {
8686
// Test Pod Template annotations
8787
t.Run("Validates Pod Template annotations", func(t *testing.T) {
8888
expectedAnnotations := map[string]string{
89-
"kubectl.kubernetes.io/default-container": "spire-server",
90-
spireServerStatefulSetSpireServerConfigHashAnnotationKey: serverConfigHash,
91-
spireServerStatefulSetSpireControllerMangerConfigHashAnnotationKey: controllerConfigHash,
89+
"kubectl.kubernetes.io/default-container": "spire-server",
90+
spireServerStatefulSetSpireServerConfigHashAnnotationKey: serverConfigHash,
91+
spireServerStatefulSetSpireControllerManagerConfigHashAnnotationKey: controllerConfigHash,
9292
}
9393

9494
for k, v := range expectedAnnotations {
@@ -504,7 +504,7 @@ func findContainerByName(containers []corev1.Container, name string) *corev1.Con
504504
// Helper function creating a reference implementation of the expected StatefulSet
505505
// This is essentially a copy of the function being tested, used to detect regressions
506506
func createReferenceStatefulSet(config *v1alpha1.SpireServerSpec, spireServerConfigMapHash string,
507-
spireControllerMangerConfigMapHash string) *appsv1.StatefulSet {
507+
SpireControllerManagerConfigMapHash string) *appsv1.StatefulSet {
508508
// Use the same standardized labeling as the actual implementation
509509
labels := utils.SpireServerLabels(config.Labels)
510510

@@ -537,9 +537,9 @@ func createReferenceStatefulSet(config *v1alpha1.SpireServerSpec, spireServerCon
537537
Template: corev1.PodTemplateSpec{
538538
ObjectMeta: metav1.ObjectMeta{
539539
Annotations: map[string]string{
540-
"kubectl.kubernetes.io/default-container": "spire-server",
541-
spireServerStatefulSetSpireServerConfigHashAnnotationKey: spireServerConfigMapHash,
542-
spireServerStatefulSetSpireControllerMangerConfigHashAnnotationKey: spireControllerMangerConfigMapHash,
540+
"kubectl.kubernetes.io/default-container": "spire-server",
541+
spireServerStatefulSetSpireServerConfigHashAnnotationKey: spireServerConfigMapHash,
542+
spireServerStatefulSetSpireControllerManagerConfigHashAnnotationKey: SpireControllerManagerConfigMapHash,
543543
},
544544
Labels: labels,
545545
},
@@ -557,17 +557,17 @@ func createReferenceStatefulSet(config *v1alpha1.SpireServerSpec, spireServerCon
557557
},
558558
Ports: []corev1.ContainerPort{
559559
{Name: "grpc", ContainerPort: 8081, Protocol: corev1.ProtocolTCP},
560-
{Name: "healthz", ContainerPort: 8080, Protocol: corev1.ProtocolTCP},
560+
{Name: spireServerHealthPort, ContainerPort: 8080, Protocol: corev1.ProtocolTCP},
561561
},
562562
LivenessProbe: &corev1.Probe{
563-
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/live", Port: intstr.FromString("healthz")}},
563+
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/live", Port: intstr.FromString(spireServerHealthPort)}},
564564
InitialDelaySeconds: 15,
565565
PeriodSeconds: 60,
566566
TimeoutSeconds: 3,
567567
FailureThreshold: 2,
568568
},
569569
ReadinessProbe: &corev1.Probe{
570-
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/ready", Port: intstr.FromString("healthz")}},
570+
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/ready", Port: intstr.FromString(spireServerHealthPort)}},
571571
InitialDelaySeconds: 5,
572572
PeriodSeconds: 5,
573573
},
@@ -588,13 +588,13 @@ func createReferenceStatefulSet(config *v1alpha1.SpireServerSpec, spireServerCon
588588
},
589589
Ports: []corev1.ContainerPort{
590590
{Name: "https", ContainerPort: 9443},
591-
{Name: "healthz", ContainerPort: 8083},
591+
{Name: spireCtrlMgrHealthPort, ContainerPort: 8083},
592592
},
593593
LivenessProbe: &corev1.Probe{
594-
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/healthz", Port: intstr.FromString("healthz")}},
594+
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/healthz", Port: intstr.FromString(spireCtrlMgrHealthPort)}},
595595
},
596596
ReadinessProbe: &corev1.Probe{
597-
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/readyz", Port: intstr.FromString("healthz")}},
597+
ProbeHandler: corev1.ProbeHandler{HTTPGet: &corev1.HTTPGetAction{Path: "/readyz", Port: intstr.FromString(spireCtrlMgrHealthPort)}},
598598
},
599599
VolumeMounts: []corev1.VolumeMount{
600600
{Name: "spire-server-socket", MountPath: "/tmp/spire-server/private", ReadOnly: true},

pkg/controller/utils/constants.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ const (
4040
SpireServerServiceAccountAssetName = "spire-server/spire-server-service-account.yaml"
4141

4242
// Service
43-
SpireOIDCDiscoveryProviderServiceAssetName = "spire-oidc-discovery-provider/spire-oidc-discovery-provider-service.yaml"
44-
SpireServerServiceAssetName = "spire-server/spire-server-service.yaml"
45-
SpireControllerMangerWebhookServiceAssetName = "spire-controller-manager/spire-controller-manager-webhook-service.yaml"
46-
SpireAgentServiceAssetName = "spire-agent/spire-agent-service.yaml"
43+
SpireOIDCDiscoveryProviderServiceAssetName = "spire-oidc-discovery-provider/spire-oidc-discovery-provider-service.yaml"
44+
SpireServerServiceAssetName = "spire-server/spire-server-service.yaml"
45+
SpireControllerManagerWebhookServiceAssetName = "spire-controller-manager/spire-controller-manager-webhook-service.yaml"
46+
SpireAgentServiceAssetName = "spire-agent/spire-agent-service.yaml"
4747

4848
// Validating Webhook Configurations
4949
SpireControllerManagerValidatingWebhookConfigurationAssetName = "spire-controller-manager/spire-controller-manager-webhook-validating-webhook.yaml"

0 commit comments

Comments
 (0)