Apiml modulith start script does not consume components.apiml.* properties
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 92
- Forks
- 81
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 46
Description
The apiml-package/src/main/resources/bin/start.sh was derived from the gateway start script, but most configuration variable references still use ZWE_components_gateway_* instead of ZWE_components_apiml_*. Users cannot independently configure the modulith via components.apiml.* in zowe.yaml — they must use components.gateway.*.
Already fixed (2 properties)
debug(line 143)spring.profiles.active(lines 144-145)
Still missing — 68 lines across 55 properties
All use the pattern ${ZWE_components_gateway_<prop>:-<default>} which should become ${ZWE_components_apiml_<prop>:-${ZWE_components_gateway_<prop>:-<default>}}.
Heap & Port
line 220: heap.init, heap.max (-Xms/-Xmx)line 319: port (also embedded in 4 URL defaults: lines 283, 289, 301, 302, 309)
Server & WebSocket
line 169, 352: server.ssl.enabledline 348: server.maxConnectionsPerRouteline 349: server.maxTotalConnectionsline 362: server.webSocket.asyncWriteTimeoutline 363: server.webSocket.connectTimeoutline 364: server.webSocket.maxIdleTimeoutline 365: server.webSocket.requestBufferSize
Connection Pool
line 240: connection.idleConnectionTimeoutSecondsline 241: connection.timeoutline 242: connection.timeToLive
Discovery
line 244: discovery.passwordline 247: discovery.userid
Gateway Routing & Rate Limiting
line 248: gateway.cachePeriodSecline 250: gateway.maxSimultaneousRequestsline 251: gateway.rateLimiterCapacityline 252: gateway.rateLimiterRefillDurationline 253: gateway.rateLimiterTokensline 254: gateway.refresh-interval-msline 255: gateway.registry.enabledline 256: gateway.registry.metadata-key-allow-listline 257: gateway.servicesToDisableRetryline 258: gateway.servicesToLimitRequestRate
Health
line 259: health.protected
Security — Auth Core
line 151: security.auth.uniqueCookieline 274: security.allowTokenRefreshline 276: security.auth.jwt.customAuthHeaderline 277: security.auth.passticket.customAuthHeaderline 278: security.auth.passticket.customUserHeaderline 279: security.auth.providerline 280: security.auth.zosmf.jwtAutoconfigurationline 281: security.auth.zosmf.serviceId
Security — OIDC
line 288: security.oidc.enabledline 289: security.oidc.identityMapperUrlline 290: security.oidc.identityMapperUserline 291: security.oidc.jwks.refreshInternalHoursline 292: security.oidc.jwks.uriline 293: security.oidc.registryline 294: security.oidc.userIdFieldline 295: security.oidc.userInfo.uriline 296: security.oidc.validationType
Security — X.509
line 306: security.x509.acceptForwardedCertline 307: security.x509.certificatesUrls, security.x509.certificatesUrlline 308, 317: security.x509.enabledline 309: security.x509.externalMapperUrlline 310: security.x509.externalMapperUserline 311: security.x509.registry.allowedUsers
Security — Authorization
line 282: security.authorization.endpoint.enabledline 283: security.authorization.endpoint.urlline 284: security.authorization.providerline 285: security.authorization.resourceClassline 286: security.authorization.resourceNamePrefix
Security — SAF
line 300: security.saf.providerline 301: security.saf.urls.authenticateline 302: security.saf.urls.verify
Security — PAT, Rauditx & Other
line 287: security.jwtInitializerTimeoutline 297: security.personalAccessToken.enabledline 298: security.rauditx.oidcSourceUserPathsline 299: security.rauditx.onOidcUserIsMappedline 305: security.useInternalMapper
Service Config
line 313: service.allowEncodedSlashesline 314: service.apimlIdline 315: service.corsAllowedMethodsline 316: service.corsEnabledline 317: service.forwardClientCertEnabled
SSL Debug
line 332: sslDebug
Acceptance Criteria
- All 68 listed references are updated to accept
ZWE_components_apiml_*as primary withZWE_components_gateway_*fallback -
components.apiml.heap.init/components.apiml.heap.maxwork viazowe.yaml -
components.apiml.portworks viazowe.yaml - All other
components.apiml.*properties work viazowe.yaml - Existing configurations using
components.gateway.*continue to work (backward compatible)
Related
- zowe/docs-site#5070 — documentation blocked on this fix
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with apiml-package/src/main/resources/bin/start.sh and inspect the listed references, comparing the existing gateway environment-variable fallbacks. Update the 68 references so components.apiml.* takes precedence while components.gateway.* remains a fallback, then verify heap, port, and other properties through zowe.yaml without breaking existing gateway configurations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100