Skip to content

Separate runtime and instance data

Petr Plavjanik edited this page Apr 2, 2019 · 5 revisions

Proposal - Separate runtime and instance data

Hills:

Note:

Goals:

  • Separate read-only artifacts ("runtime") and instance data (configuration files + user data)
  • Reorganize it and unify some conventions

Structure:

  • /usr/lpp/zowe/runtime/v1 (read-only zFS filesystem created as a result of SMP/E installation or new zowe-extract.sh script before we will have SMP/E installation, each directory can be a different FMID or we can how one for Zowe core?)

    • api-mediation
      • api-catalog (? - Zowe Desktop app)
      • apiml-auth (? - zLUX authentication plugin)
      • scripts
        • apiml-cm.sh (? - move to install)
      • templates
        • api-mediation-start-gateway.sh
        • ...
      • jars
        • *.jar
    • core-services
      • jes-explorer
      • ...
    • install
      • zowe-configure.sh - "Zowe configuration script" that creates a new instance of Zowe from this deployed runtime
      • templates
        • zowe-start.sh
        • ...
      • internal
        • api-mediation-configure.sh
        • explorers-configure.sh
        • zlux-configure.sh
    • zlux
      • zlux-app-server
        • bin
        • doc
        • lib
        • node_modules
      • zlux-server-framework
      • ...
    • apps - place where other apps can add (mount) their runtimes
      • vendor-appid
    • manifest.json - metadata about the installed version
  • /usr/lpp/zowe/instance/test (instance directory - per instance - with configuration and user data, this is new zFS file system)

    • runtime (symlink to the runtime directory: /usr/lpp/zowe/runtime/v1)
    • api-mediation
      • keystore (it can be overridden by config/zowe.json to enable shared keystore)
      • api-defs (Zowe core API services)
      • scripts
        • api-mediation-start-gateway.sh
        • ...
    • jcls - ?
    • scripts
      • internal
        • ...
      • zowe-start.sh
      • zowe-stop.sh
      • zowe-certificate-management.sh (a smart version that is connected to the current instance keystore)
    • config - configuration parameter shared by Zowe instance
      • zowe.json
        • appPath - list of directories where apps can be installed to
        • keystorePath - directory with Zowe keystore (or keyring name in future)
        • in the future, all the configurable parameters for Zowe kernel and core can be there
    • apps - a place where other apps can place their configuration when they are added/installed to the Zowe instance (multiple directories can be added to "APP_PATH" list in config/zowe.json)
      • api-defs - static definitions
        • vendor-appid.yml
        • ...
      • plugins
        • vendor-appid.json
        • ...
      • config - configuration of the apps?
      • data - a place where apps can mount their zFS filesystems for large data
    • zlux
      • server-config
        • zluxserver.json
        • zlux.keystore.*
        • ...
      • plugins - Zowe kernel and core plugins
        • org.zowe.api.catalog.json
        • ...
      • plugin-storage
        • org.zowe.zlux.ng2desktop
        • ...
        • all apps that are used in this instance ?
Clone this wiki locally