Gateway
This chart deploys and executes a stateful set of API gateways using gradle run command with build.gradle and application.properties files populated using given value parameters.
Gateway definition values are typically loaded from a url when calling this chart. The chart also deploys a headless service as well as a load balancer service for external access.
Containers
Init Container
Chart contains an initialization container, which retrieves certifications required.
Main Container
Main container of this chart is a Java based process, which executes actual gateway and typically has liveness probes enabled.
Configuration
Local Configuration
Chart contains:
1 x config map containing build/execution files mounted on /app/config
1 x environment config map that can be used to add environment variables
1 x secret that can be used to add secret files mounted on /app/secrets
1 x environment secret that can be used to add environment variables
Global Configuration
Chart containers also have access to:
global-config: Mounted on /app/globalconfig including key-value pairs and extra lines to include in application.properties files
global-config-env: A config map that can be used to add environment variables for all namespace deployments
global-secrets: Mounted on /app/globalsecrets including key-secret pairs and extra lines to include in application.properties files
global-secrets-env: A secret that can be used to add environment variables for all namespace deployments
Configuration
The following table lists the configurable parameters of the Controller-gateway chart and their default values.
id
unique id of the gateway
"x"
namespace
namespace to deploy on
"controller"
tier
tier annotation to use for deployment
"controller"
unit
unit annotation to use for deployment
"gateway"
scope
scope annotation to use for deployment
"admin"
language
language annotation to use for deployment
"java"
image
docker image to use for main container
"gradle:openj9"
imagePullPolicy
"IfNotPresent"
cloud
cloud vendor to use for deployment (e.g. gcp, aws)
"TBD"
poolSelector
node pool selector annotation specific to cloud vendor
"TBD"
pool
node pool to deploy on
"admin-gateway-pool"
strategyType
deployment strategy to use
"Recreate"
replicaCount
number of replicas to deploy
1
podManagementPolicy
policy for launching / terminating stateful set pods
"Parallel"
useProbes
whether main container should use liveness, etc. probes
true
useOTLP
whether opentelemetry should be enabled
false
otlpInstrument
opentelemetry auto-instrumentation
"monitoring/grpc-instrumentation"
lbPort
port for load balancer service
443
lbAnnotations.dummy
"yes"
jvmArgs
JVM parameters such as -Xms128m
""
initMemoryRequest
memory request for init container
"256Mi"
initCpuRequest
cpu request for init container
"250m"
initDiskRequest
ephemeral storage request for init container
"0"
initMemoryLimit
memory limit for init container
"512Mi"
initCpuLimit
cpu limit for init container
"500m"
initDiskLimit
ephemeral storage limit for init container
"0"
memoryRequest
memory request for main container
"256Mi"
cpuRequest
cpu request for main container
"250m"
diskRequest
ephemeral storage request for main container
"0"
memoryLimit
memory limit for main container
"512Mi"
cpuLimit
cpu limit for main container
"500m"
diskLimit
ephemeral storage limit for main container
"0"
disableMavenCentral
whether gradle should access maven central
false
mavenUrl
url for Rierino maven packages
"https://maven.pkg.github.com/rierino/maven"
rierinoVersion
Rierino package version to deploy
"0.1.1"
application
application name to use
"TBD"
gatewayId
gateway id to use (as used in gateway system, channel, etc. configurations)
"TBD"
logLevel
logging level for the main container
"ERROR"
port
port to use for web services
0
scheme
scheme to use for web services
"HTTP"
useDiscovery
whether the gateway should use service discovery to access some runners
false
consulHost
Consul host (if useDiscovery)
"${dollar}{{rierino.system.consul.main.host}}"
consulPort
Consul port (if useDiscovery)
"${dollar}{{rierino.system.consul.main.port}}"
useCert
whether the gateway should generate and use a certificate (requires additional parameters)
false
valueLoaderClass
Java class name for key-value lookups
"com.rierino.runner.loader.PropertiesKVLoader"
valueLoaderProperties.path
File path for key-value lookups
"/app/globalconfig/properties"
valueLoaderProperties.dynamic
Whether key-values can change over time
"true"
secretLoaderClass
Java class name for key-secret lookups
"com.rierino.runner.loader.PropertiesKVLoader"
secretLoaderProperties.path
File path for key-secret lookups
"/app/globalsecrets/properties"
secretLoaderProperties.dynamic
Whether key-secrets can change over time
"true"
adminCoreBaseUrl
url for admin core runner to load gateway configurations
"${dollar}{{rierino.system.admincore.url}}"
adminCoreSecure
whether admin core runner uses service discovery
"${dollar}{{rierino.system.admincore.balanced}}"
adminCoreBalanced
whether admin core runner uses https protocol
"${dollar}{{rierino.system.admincore.secure}}"
authEnabled
whether gateway should service authentication APIs
true
requestEnabled
whether gateway should service request APIs
true
commandEnabled
whether gateway should service command APIs
true
controlEnabled
whether gateway should service control APIs
true
fileEnabled
whether gateway should service file APIs
true
trackerEnabled
whether gateway should service tracker APIs
true
gateway_extra_properties
extra application.properties to include
"# No extra properties"
quiet
whether gradle run should be quiet or not
false
Last updated