Apply custom Data Grid Server configuration to your deployments.
Customizing Data Grid Server configuration
Apply custom deploy.infinispan
values to Data Grid clusters that configure the Cache Manager and underlying server mechanisms like security realms or Hot Rod and REST endpoints.
You must always provide a complete Data Grid Server configuration when you modify deploy.infinispan
values.
Do not modify or remove the default "metrics" configuration if you want to use monitoring capabilities for your Data Grid cluster.
Modify Data Grid Server configuration as required:
-
Specify configuration values for the Cache Manager with
deploy.infinispan.cacheContainer
fields.For example, you can create caches at startup with any Data Grid configuration or add cache templates and use them to create caches on demand.
-
Configure security authorization to control user roles and permissions with the
deploy.infinispan.cacheContainer.security.authorization
field. -
Select one of the default JGroups stacks or configure cluster transport with the
deploy.infinispan.cacheContainer.transport
fields. -
Configure Data Grid Server endpoints with the
deploy.infinispan.server.endpoints
fields. -
Configure Data Grid Server network interfaces and ports with the
deploy.infinispan.server.interfaces
anddeploy.infinispan.server.socketBindings
fields. -
Configure Data Grid Server security mechanisms with the
deploy.infinispan.server.security
fields.The Data Grid chart does not currently support TLS/SSL security realms and encrypted client connections.
Data Grid Server configuration values
Data Grid Server configuration values let you customize the Cache Manager and modify server instances that run in OpenShift pods.
deploy:
infinispan:
cacheContainer:
# [USER] Add cache, template, and counter configuration.
name: default
# [USER] Specify `security: null` to disable security authorization.
security:
authorization: {}
transport:
cluster: ${infinispan.cluster.name:cluster}
node-name: ${infinispan.node.name:}
stack: kubernetes
server:
endpoints:
# [USER] Hot Rod and REST endpoints.
- securityRealm: default
socketBinding: default
# [METRICS] Metrics endpoint for cluster monitoring capabilities.
- connectors:
rest:
restConnector:
authentication:
mechanisms: BASIC
securityRealm: metrics
socketBinding: metrics
interfaces:
- inetAddress:
value: ${infinispan.bind.address:127.0.0.1}
name: public
security:
credentialStores:
- clearTextCredential:
clearText: secret
name: credentials
path: credentials.pfx
securityRealms:
# [USER] Security realm for the Hot Rod and REST endpoints.
- name: default
# [USER] Comment or remove this properties realm to disable authentication.
propertiesRealm:
groupProperties:
path: groups.properties
groupsAttribute: Roles
userProperties:
path: users.properties
# [METRICS] Security realm for the metrics endpoint.
- name: metrics
propertiesRealm:
groupProperties:
path: metrics-groups.properties
relativeTo: infinispan.server.config.path
groupsAttribute: Roles
userProperties:
path: metrics-users.properties
plainText: true
relativeTo: infinispan.server.config.path
socketBindings:
defaultInterface: public
portOffset: ${infinispan.socket.binding.port-offset:0}
socketBinding:
# [USER] Socket binding for the Hot Rod and REST endpoints.
- name: default
port: 11222
# [METRICS] Socket binding for the metrics endpoint.
- name: metrics
port: 11223
deploy:
infinispan:
cacheContainer:
distributedCache:
name: "mycache"
mode: "SYNC"
owners: "2"
segments: "256"
capacityFactor: "1.0"
statistics: "true"
encoding:
mediaType: "application/x-protostream"
expiration:
lifespan: "5000"
maxIdle: "1000"
memory:
maxCount: "1000000"
whenFull: "REMOVE"
partitionHandling:
whenSplit: "ALLOW_READ_WRITES"
mergePolicy: "PREFERRED_NON_NULL"
#Provide additional Cache Manager configuration.
server:
#Provide configuration for server instances.
deploy:
infinispan:
cacheContainer:
distributedCacheConfiguration:
name: "my-dist-template"
mode: "SYNC"
statistics: "true"
encoding:
mediaType: "application/x-protostream"
expiration:
lifespan: "5000"
maxIdle: "1000"
memory:
maxCount: "1000000"
whenFull: "REMOVE"
#Provide additional Cache Manager configuration.
server:
#Provide configuration for server instances.
deploy:
infinispan:
cacheContainer:
transport:
#Specifies the name of a default JGroups stack.
stack: kubernetes
#Provide additional Cache Manager configuration.
server:
#Provide configuration for server instances.