Skip to content

Commit 8f6473f

Browse files
committed
[infinispan#2265] Add support for Infinispan 16.x.y servers
1 parent 15e2beb commit 8f6473f

File tree

6 files changed

+169
-7
lines changed

6 files changed

+169
-7
lines changed

config/manager/manager.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,10 @@ spec:
159159
{
160160
"upstream-version": "15.2.1",
161161
"image": "quay.io/infinispan/server:15.2.1.Final"
162+
},
163+
{
164+
"upstream-version": "16.0.0",
165+
"image": "quay.io/infinispan-test/server:main"
162166
}
163167
]
164168
- name: POD_NAME

pkg/infinispan/configuration/server/configuration.go

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ func GenerateZeroCapacity(operand version.Operand, spec *Spec) (string, error) {
127127
}
128128

129129
func supportedMajorVersion(v uint64) bool {
130-
return v >= 14 && v <= 15
130+
return v >= 14 && v <= 16
131131
}
132132

133133
func mapVersionsToSpec(operand version.Operand, spec *Spec) {
@@ -136,13 +136,16 @@ func mapVersionsToSpec(operand version.Operand, spec *Spec) {
136136
spec.Infinispan.Version = v
137137
spec.JGroups.Version.Major = 5
138138

139-
if v.Major <= 14 {
139+
switch {
140+
case v.Major == 14:
141+
spec.JGroups.Version.Minor = 2
142+
case v.Major == 15 && v.Minor <= 1:
143+
spec.JGroups.Version.Minor = 3
144+
case (v.Major == 15 && v.Minor >= 2) || v.Major >= 16:
140145
spec.JGroups.Version.Minor = 4
141-
} else if v.Minor <= 1 {
142-
spec.JGroups.Version.Minor = 5
143-
} else {
144-
spec.JGroups.Version.Minor = 6
145-
}
146+
default:
147+
// Optional: fallback case if version is unknown
148+
spec.JGroups.Version.Minor = 0
146149
}
147150

148151
func (xSite XSite) RemoteSites() string {
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<infinispan
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="urn:infinispan:config:16.0 https://infinispan.org/schemas/infinispan-config-16.0.xsd
4+
urn:infinispan:server:16.0 https://infinispan.org/schemas/infinispan-server-16.0.xsd"
5+
xmlns="urn:infinispan:config:16.0"
6+
xmlns:server="urn:infinispan:server:16.0">
7+
8+
<jgroups xsi:schemaLocation="http://www.jgroups.org/schema/jgroups-5.4.xsd">
9+
10+
<stack name="image-tcp" extends="kubernetes">
11+
<!-- overwrite diagnostics-->
12+
<TCP diag.enabled="${jgroups.diag.enabled:false}" stack.combine="COMBINE" />
13+
<!-- overwrite DNS query (only required attribute) -->
14+
<dns.DNS_PING dns_query="${jgroups.dns.query:-ping..svc.cluster.local}" stack.combine="COMBINE" />
15+
</stack>
16+
</jgroups>
17+
<server xmlns="urn:infinispan:server:16.0">
18+
<interfaces>
19+
<interface name="public">
20+
<inet-address value="${infinispan.bind.address}"/>
21+
</interface>
22+
</interfaces>
23+
<socket-bindings default-interface="public" port-offset="${infinispan.socket.binding.port-offset:0}">
24+
<socket-binding name="admin" port="11223"/>
25+
</socket-bindings>
26+
<security>
27+
<security-realms>
28+
<security-realm name="admin">
29+
<properties-realm groups-attribute="Roles">
30+
<user-properties path="cli-admin-users.properties" relative-to="infinispan.server.config.path"/>
31+
<group-properties path="cli-admin-groups.properties" relative-to="infinispan.server.config.path"/>
32+
</properties-realm>
33+
</security-realm>
34+
</security-realms>
35+
</security>
36+
<endpoints security-realm="admin">
37+
<endpoint socket-binding="admin" security-realm="admin">
38+
<rest-connector>
39+
<authentication mechanisms="BASIC DIGEST"/>
40+
</rest-connector>
41+
<hotrod-connector />
42+
</endpoint>
43+
</endpoints>
44+
</server>
45+
</infinispan>
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<infinispan
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="urn:infinispan:config:16.0 https://infinispan.org/schemas/infinispan-config-16.0.xsd
4+
urn:infinispan:server:16.0 https://infinispan.org/schemas/infinispan-server-16.0.xsd"
5+
xmlns="urn:infinispan:config:16.0"
6+
xmlns:server="urn:infinispan:server:16.0>
7+
8+
<cache-container name="default" statistics="true">
9+
<global-state unclean-shutdown-action="IGNORE" />
10+
11+
<security>
12+
<authorization group-only-mapping="false">
13+
<cluster-role-mapper />
14+
</authorization>
15+
</security>
16+
17+
<transport cluster="${infinispan.cluster.name:}" node-name="${infinispan.node.name:}" stack="image-tcp"/>
18+
</cache-container>
19+
<server xmlns="urn:infinispan:server:16.0">
20+
<socket-bindings default-interface="public" port-offset="${infinispan.socket.binding.port-offset:0}">
21+
<socket-binding name="default" port="${infinispan.bind.port:11222}"/>
22+
</socket-bindings>
23+
<security>
24+
<security-realms>
25+
<security-realm name="default">
26+
<server-identities>
27+
</server-identities>
28+
</security-realm>
29+
</security-realms>
30+
</security>
31+
<endpoints>
32+
<endpoint socket-binding="default" security-realm="default" require-ssl-client-auth="true" />
33+
</endpoints>
34+
</server>
35+
</infinispan>
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<infinispan
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="urn:infinispan:config:16.0 https://infinispan.org/schemas/infinispan-config-16.0.xsd
4+
urn:infinispan:server:16.0 https://infinispan.org/schemas/infinispan-server-16.0.xsd"
5+
xmlns="urn:infinispan:config:16.0"
6+
xmlns:server="urn:infinispan:server:16.0">
7+
8+
<jgroups xsi:schemaLocation="http://www.jgroups.org/schema/jgroups-5.4.xsd">
9+
10+
<stack name="image-tcp" extends="kubernetes">
11+
<!-- overwrite diagnostics-->
12+
<TCP diag.enabled="${jgroups.diag.enabled:false}" stack.combine="COMBINE" />
13+
<!-- overwrite DNS query (only required attribute) -->
14+
<dns.DNS_PING dns_query="${jgroups.dns.query:-ping..svc.cluster.local}" stack.combine="COMBINE" />
15+
</stack>
16+
</jgroups>
17+
<cache-container name="default" statistics="true" zero-capacity-node="true">
18+
19+
<security>
20+
<authorization group-only-mapping="false">
21+
<cluster-role-mapper />
22+
</authorization>
23+
</security>
24+
25+
<transport cluster="${infinispan.cluster.name:}" node-name="${infinispan.node.name:}" stack="image-tcp"
26+
/>
27+
</cache-container>
28+
<server xmlns="urn:infinispan:server:16.0">
29+
<interfaces>
30+
<interface name="public">
31+
<inet-address value="${infinispan.bind.address}"/>
32+
</interface>
33+
</interfaces>
34+
<socket-bindings default-interface="public" port-offset="${infinispan.socket.binding.port-offset:0}">
35+
<socket-binding name="admin" port="11223"/>
36+
</socket-bindings>
37+
<security>
38+
<security-realms>
39+
<security-realm name="admin">
40+
<properties-realm groups-attribute="Roles">
41+
<user-properties path="cli-admin-users.properties" relative-to="infinispan.server.config.path"/>
42+
<group-properties path="cli-admin-groups.properties" relative-to="infinispan.server.config.path"/>
43+
</properties-realm>
44+
</security-realm>
45+
46+
</security-realms>
47+
</security>
48+
<endpoints>
49+
<endpoint socket-binding="admin" security-realm="admin">
50+
<rest-connector>
51+
<authentication mechanisms="BASIC DIGEST"/>
52+
</rest-connector>
53+
<hotrod-connector />
54+
</endpoint>
55+
</endpoints>
56+
</server>
57+
</infinispan>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{{template "header.xml" . }}
2+
3+
<cache-container name="default" statistics="true">
4+
<global-state unclean-shutdown-action="IGNORE" />
5+
{{template "authorization.xml" . }}
6+
<transport cluster="${infinispan.cluster.name:{{ .ClusterName }}}" node-name="${infinispan.node.name:}" stack="image-tcp"
7+
{{- if .Transport.TLS.Enabled }}server:security-realm="transport"{{ end -}}/>
8+
</cache-container>
9+
<server xmlns="urn:infinispan:server:{{ .Infinispan.Version.Major }}.{{ .Infinispan.Version.Minor }}">
10+
<socket-bindings default-interface="public" port-offset="${infinispan.socket.binding.port-offset:0}">
11+
<socket-binding name="default" port="${infinispan.bind.port:11222}"/>
12+
</socket-bindings>
13+
{{template "security.xml" . }}
14+
<endpoints>
15+
<endpoint socket-binding="default" security-realm="default" {{ if ne .Endpoints.ClientCert "None" }}require-ssl-client-auth="true"{{ end }} />
16+
</endpoints>
17+
</server>
18+
</infinispan>

0 commit comments

Comments
 (0)