Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issue for Removal of node.js dependency #3543

Open
Martin-Zeithaml opened this issue Aug 2, 2023 · 9 comments
Open

Tracking issue for Removal of node.js dependency #3543

Martin-Zeithaml opened this issue Aug 2, 2023 · 9 comments
Labels
Config Manager Related to the config manager component Epic zwe

Comments

@Martin-Zeithaml
Copy link
Contributor

Create an Epic or use this issue to record what was done, what is in progress and what is missing related to Removal of Node.js dependency.

This whole task is little bit disorganized, spread across several people and squads and there are popping the questions like "Will it be this Friday done?" over and over.

@Martin-Zeithaml
Copy link
Contributor Author

Martin-Zeithaml commented Aug 24, 2023

Config-converter: #3544
In progress: #3135

@1000TurquoisePogs
Copy link
Member

replacing curl.js is tracked in #3569

@Martin-Zeithaml
Copy link
Contributor Author

Update 2023/10/02

  • fconv
    • More research to be done
  • config-converter
    • Seems not to be used during installation
  • jq
    • Possibly replaceable byfakejq (already part of zowe/bin/libs)
    • Or microjq, which is implemented in zowe-common-c
    • More research to be done
  • curl
    • Joe has some C (or Java?) implementation, which needs to be tested
  • zwe init
    • Needs to be merged

@Martin-Zeithaml
Copy link
Contributor Author

Update 2023/10/27

  • fconv
    • More research to be done
  • config-converter
    • Seems not to be used during installation
  • jq
    • Possibly replaceable byfakejq (already part of zowe/bin/libs)
    • Or microjq, which is implemented in zowe-common-c
      • Does not support arrays to be returned
    • More research to be done
  • curl
    • Joe has some C (or Java?) implementation, which needs to be tested
  • zwe init
    • Needs to be merged
  • zwe install
    • Because of unrelated bug, proper testing is required

@Martin-Zeithaml
Copy link
Contributor Author

Martin-Zeithaml commented Jan 8, 2024

Update 2024/01/08

Why Node.js removal?

  • node.js is required for zowe installation
  • Not every customer has node.js
    • Such customer will typically use only API ML
  • There is a good reason why to remove node.js dependency for installation process

Components using node.js

fconv

jq

curl

Independent components

  • Possible replacement with z/OS Open tools
    • jq - licence MIT?
    • yq - Apache-2.0 license
    • curl - Apache-2.0 license
  • Pros:
    • Tools are ready for use as executable, no dependency
      • Writing own components is time consuming (first attempt 07/2021)
    • Also contains yq, which allows to get rid of fconv
  • Cons:
    • Support not guaranteed directly by zowe guys
      • Similar to node packages (angular, webpack, ...)

Done or in progress

@Martin-Zeithaml Martin-Zeithaml changed the title Tracking issue or epic for Removal of node.js dependency Tracking issue for Removal of node.js dependency Aug 7, 2024
@Martin-Zeithaml
Copy link
Contributor Author

Martin-Zeithaml commented Aug 7, 2024

Update 2024/08/07

Note: this update includes #3718.

  • curl.js
    • Mysterious usage in internal start prepare
      • ZOSMF_HOST and ZOSMF_PORT environment variables must be used
      • discovery | jobs-api | files-api enabled
      • Or components.gateway.apiml.security.auth.provider=zosmf
    • Currently not used by default, because the code logic is obsolete or something
  • ncert
    • /bin/libs/certificate.sh
    • Seems to be used only for migrate for kubernetes
  • fconv + njq
    • /bin/libs/json.sh
      • read_yaml (a lot of occurrences...)
  • config-converter
    • update_zowe_yaml and delete_zowe_yaml
    • Mostly in /bin/libs/certificate.sh
  • Priorities
    • High
      • certificates commands
    • Medium
      • zwe install
    • Low
      • zwe support

Note: It is expected to use zowe.useConfigmgr=true.

@JoeNemo
Copy link
Contributor

JoeNemo commented Oct 23, 2024

Re curl.js, there is work that could be finished, but this is not the highest priority of the Node.js removal issues.

@1000TurquoisePogs
Copy link
Member

1000TurquoisePogs commented Oct 30, 2024

You can use curl if it is found on PATH.
There was an announcement that curl is now free of charge and supported by ibm on z/os
I believe the intention was to either have it pre-installed in the next version of zos or to have it via a ptf to 3.1 or something, so over time the likelihood that curl exists will increase.

Or you could use java.

@armstro
Copy link

armstro commented Oct 30, 2024

I don't see in this thread the info about curl support from IBM - info is here https://www.ibm.com/products/open-enterprise-foundation-zos Note is delivered via Shopz. If the community needs additional info let me know and I can track down someone inside IBM to explain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Config Manager Related to the config manager component Epic zwe
Projects
Status: No status
Development

No branches or pull requests

5 participants