Skip to content

Commit 2df585c

Browse files
committed
Ref #26984: Use ingressClassName instead of annotation
1 parent 68150bb commit 2df585c

6 files changed

Lines changed: 15 additions & 51 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,3 +228,4 @@ buildNumber.properties
228228
.project
229229

230230
docs/deployment/overlays/0-dev/**
231+
build.sh

src/main/kotlin/eu/openanalytics/shinyproxyoperator/ingress/skipper/IngressFactory.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ class IngressFactory(private val kubeClient: KubernetesClient) {
5656

5757
val annotations = if (isLatest) {
5858
mapOf(
59-
"kubernetes.io/ingress.class" to "skipper",
6059
"zalando.org/skipper-predicate" to "True()",
6160
"zalando.org/skipper-filter" to
6261
"""setRequestHeader("X-ShinyProxy-Instance", "$hashOfSpec")""" +
@@ -70,7 +69,6 @@ class IngressFactory(private val kubeClient: KubernetesClient) {
7069
)
7170
} else {
7271
mapOf(
73-
"kubernetes.io/ingress.class" to "skipper",
7472
"zalando.org/skipper-predicate" to """True() && Cookie("sp-instance", "$hashOfSpec")""",
7573
"zalando.org/skipper-filter" to
7674
"""setRequestHeader("X-ShinyProxy-Instance", "$hashOfSpec")""" +
@@ -105,6 +103,7 @@ class IngressFactory(private val kubeClient: KubernetesClient) {
105103
.addToPaths(createPathV1(shinyProxy, shinyProxyInstance))
106104
.endHttp()
107105
.endRule()
106+
.withIngressClassName("skipper")
108107
.endSpec()
109108
.build()
110109
//@formatter:on

src/test/kotlin/eu/openanalytics/shinyproxyoperator/MainIntegrationTest.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -684,8 +684,9 @@ class MainIntegrationTest : IntegrationTestBase() {
684684
ingress.metadata.ownerReferences[0].name
685685
)
686686

687+
assertEquals(ingress.spec.ingressClassName, "skipper")
688+
687689
assertEquals(mapOf(
688-
"kubernetes.io/ingress.class" to "skipper",
689690
"zalando.org/skipper-predicate" to "True()",
690691
"zalando.org/skipper-filter" to
691692
"""setRequestHeader("X-ShinyProxy-Instance", "${sp.hashOfCurrentSpec}")""" +
@@ -757,8 +758,9 @@ class MainIntegrationTest : IntegrationTestBase() {
757758
ingress.metadata.ownerReferences[0].name
758759
)
759760

761+
assertEquals(ingress.spec.ingressClassName, "skipper")
762+
760763
assertEquals(mapOf(
761-
"kubernetes.io/ingress.class" to "skipper",
762764
"zalando.org/skipper-predicate" to "True()",
763765
"zalando.org/skipper-filter" to
764766
"""setRequestHeader("X-ShinyProxy-Instance", "${sp.hashOfCurrentSpec}")""" +
@@ -1080,7 +1082,7 @@ class MainIntegrationTest : IntegrationTestBase() {
10801082
fun `operator should properly handle 409 conflicts by replacing the resource`() =
10811083
setup(Mode.NAMESPACED) { namespace, shinyProxyClient, namespacedClient, stableClient, operator, reconcileListener ->
10821084
// 1. create conflicting resources
1083-
stableClient.load(this.javaClass.getResourceAsStream("/configs/conflict_v1_ingress.yaml")).createOrReplace()
1085+
stableClient.load(this.javaClass.getResourceAsStream("/config/conflict.yaml")).createOrReplace()
10841086

10851087
// 2. create a SP instance
10861088
val spTestInstance = ShinyProxyTestInstance(

src/test/kotlin/eu/openanalytics/shinyproxyoperator/helpers/ShinyProxyTestInstance.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,10 @@ class ShinyProxyTestInstance(private val namespace: String,
9898
assertEquals("apps/v1", ingress.metadata.ownerReferences[0].apiVersion)
9999
assertEquals("sp-${sp.metadata.name}-rs-${hash}".take(63), ingress.metadata.ownerReferences[0].name)
100100

101+
assertEquals(ingress.spec.ingressClassName, "skipper")
102+
101103
if (isLatest) {
102104
assertEquals(mapOf(
103-
"kubernetes.io/ingress.class" to "skipper",
104105
"zalando.org/skipper-predicate" to "True()",
105106
"zalando.org/skipper-filter" to
106107
"""setRequestHeader("X-ShinyProxy-Instance", "${sp.hashOfCurrentSpec}")""" +
@@ -113,7 +114,6 @@ class ShinyProxyTestInstance(private val namespace: String,
113114
), ingress.metadata.annotations)
114115
} else {
115116
assertEquals(mapOf(
116-
"kubernetes.io/ingress.class" to "skipper",
117117
"zalando.org/skipper-predicate" to """True() && Cookie("sp-instance", "$hash")""",
118118
"zalando.org/skipper-filter" to
119119
"""setRequestHeader("X-ShinyProxy-Instance", "$hash")""" +

src/test/resources/configs/conflict.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ spec:
2222
selector:
2323
app.kubernetes.io/name: myname
2424
---
25-
apiVersion: extensions/v1beta1
25+
apiVersion: networking.k8s.io/v1
2626
kind: Ingress
2727
metadata:
2828
name: sp-example-shinyproxy-ing-abfc24c726e9e87ea7c633384f2a659935249
@@ -33,6 +33,9 @@ spec:
3333
http:
3434
paths:
3535
- path: /
36+
pathType: ImplementationSpecific
3637
backend:
37-
serviceName: my-service-name
38-
servicePort: 8081
38+
service:
39+
name: my-service-name
40+
port:
41+
number: 8081

src/test/resources/configs/conflict_v1_ingress.yaml

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)