Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ All notable changes to the Zlux App Server package will be documented in this fi
## v3.5.0
- Bugfix: App-server was not respecting property "components.app-server.zowe.network.server.tls.attls". Instead, property "zowe.network.server.tls.attls" was taking priority. [(#357)](https://github.com/zowe/zlux-app-server/pull/357)
- Bugfix: SSH and TELNET port detection may fail due to a lack of necessary permissions. [(#356)](https://github.com/zowe/zlux-app-server/pull/356)
- Enhancement: app-server can do static registration to APIML instead of eureka registration if desired. To opt-in to this behavior, set YAML property "components.app-server.node.mediationLayer.static: true" [(#???)]()

## v3.4.0
- Enhancement: Built-in apps such as 'zlux-editor', 'tn3270-ng2', 'vt-ng2' can now be enabled or disabled using the Zowe YAML with the same syntax as seen in other apps such as 'explorer-jes'. [(#346)](https://github.com/zowe/zlux-app-server/pull/346)
Expand Down
28 changes: 28 additions & 0 deletions app-server.apiml_static_reg.yaml.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
services:
- serviceId: zlux
title: App Server
description: 'An HTTPS and Websocket server built on NodeJS and ExpressJS. It serves static content via "Plugins", and is extensible by REST and Websocket "Dataservices" optionally present within Plugins. It hosts the Zowe Desktop.'
catalogUiTileId: zlux
instanceBaseUrls:
- https://${ZWE_haInstance_hostname}:${ZWE_components_app_server_port}/
homePageRelativeUrl: /
routedServices:
- gatewayUrl: api/v1
serviceRelativeUrl: /
- gatewayUrl: ui/v1
serviceRelativeUrl: /
- gatewayUrl: ws/v1
serviceRelativeUrl: /
apiInfo:
- apiId: org.zowe.zlux
gatewayUrl: api/v1
swaggerUrl: https://${ZWE_haInstance_hostname}:${ZWE_components_app_server_port}/api-docs/server
version: ${APP_SERVER_VERSION}
defaultApi: true
authentication:
scheme: zoweJwt

catalogUiTiles:
zlux:
title: App Server
description: "Zowe's App Server is the component of Zowe which serves the Zowe Desktop. It is an extensible webserver for HTTPS and Websocket APIs written using ExpressJS. Extensions are delivered as 'App Framework Plugins', and several are included by default."
17 changes: 17 additions & 0 deletions bin/configure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,23 @@ elif [ "$ZWE_components_apiml_enabled" = "true" ]; then
fi

if [ "$apiml_enabled" = "true" ]; then
app_server_static="${ZWE_components_app_server_node_mediationLayer_static:-false}"
app_server_registration_yaml=${ZWE_STATIC_DEFINITIONS_DIR}/app-server.apiml_static_reg_yaml_template.${ZWE_CLI_PARAMETER_HA_INSTANCE}.yml
if [ "$app_server_static" = "true" ] && [ -n "${ZWE_STATIC_DEFINITIONS_DIR}" ]; then
app_server_def_template="app-server.apiml_static_reg.yaml.template"
app_server_def="../${app_server_def_template}"
export APP_SERVER_VERSION=$(grep '^version:' "${COMPONENT_HOME}/manifest.yaml" | head -1 | sed 's/^version: *//; s/"//g')
app_server_parsed_def=$( ( echo "cat <<EOF" ; cat "${app_server_def}" ; echo ; echo EOF ) | sh 2>&1)
echo "${app_server_parsed_def}" > "${app_server_registration_yaml}.1047"
iconv -f 1047 -t 819 "${app_server_registration_yaml}.1047" > "${app_server_registration_yaml}"
rm "${app_server_registration_yaml}.1047"
chtag -r "${app_server_registration_yaml}"
chmod 770 "${app_server_registration_yaml}"
unset APP_SERVER_VERSION
elif [ -n "${ZWE_STATIC_DEFINITIONS_DIR}" ] && [ -f "${app_server_registration_yaml}" ]; then
rm -f "${app_server_registration_yaml}"
fi

if [ "$ZWE_components_zss_enabled" = "true" ]; then
if [ "${ZWE_RUN_ON_ZOS}" != "true" ]; then
zss_def_template="zss.apiml_static_reg.yaml.template"
Expand Down
1 change: 1 addition & 0 deletions defaults/serverConfig/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ components:
cachingService:
enabled: ${{ components['app-server'].node.mediationLayer.enabled && (components.apiml?.enabled || components['caching-service']?.enabled) }}
enabled: ${{ components.apiml?.enabled || (components.gateway?.enabled && components.discovery?.enabled) }}
static: false
headers:
X-frame-Options:
override: true
Expand Down
5 changes: 5 additions & 0 deletions schemas/app-server-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,11 @@
"type": "boolean",
"description": "Enable API Mediation Layer onboarding and SSO capability",
"default": false
},
"static": {
"type": "boolean",
"description": "Controls whether the app-server static APIML registration definition is written to the Zowe workspace api-mediation/api-defs directory during configure. When true, the app-server is registered with the API Mediation Layer via a static definition file.",
"default": false
}
}
},
Expand Down
Loading