adobe / aio-cli-plugin-aem-rde Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Similar to adobe/aio-cli-plugin-cloudmanager#215 all commands should indicate failures also via the exit code in order to ease using the commands in automation scripts. Currently failures just lead to log messages (e.g. in
aio-cli-plugin-aem-rde/src/commands/aem/rde/install.js
Lines 189 to 200 in e60e09e
It would be good to reuse the exit code categories defined in https://github.com/adobe/aio-cli-plugin-cloudmanager#exit-codes.
If you look at #27, you'll see that the git checkout fails, with the following.
/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +refs/heads/SKYOPS-46671*:refs/remotes/origin/SKYOPS-46671* +refs/tags/SKYOPS-46671*:refs/tags/SKYOPS-46671*
The process '/usr/bin/git' failed with exit code 1
That change is on a branch on a fork
#28 is the same change but then on a 'local' branch where it works.
So the PR action doesn't work if the branch is on a fork.
A customer is trying to run aio aem:rde:status
and getting below error.
PROTO EC400000 :error: 0A000152:SSL routines:final_renegotiate:unsafe legacy renegotiation disabled
This is an issue on certain windows machines running node 18/20 which disables unsafe legacy TLS renegotiation.
possible resolution here:
https://dev.to/johnnyreilly/nodejs-18-axios-and-unsafe-legacy-renegotiation-disabled-18ki
Update dependencies to latest compatible versions and allow the use of modern node js versions.
We would like to use the RDE env in a CI / CD environment, where we need to know if the environment is available before installing a next package.
The aem:rde:status is a textual description, it is non-parseable for an automated system.
Feature request:
Triggering the aio aem:rde reset
command in a CI / CD pipeline is commonly the last command to be executed. The build status could already be set to succeeded or failed independently of the reset of the environment. It should be possible to trigger a reset without waiting for the finishing of that reset
Currently the reset command is always blocking
Currently the code in getTokenAndKey silently catches all exceptions and falls back to the context cli
.
That makes it close to impossible to debug issues with the context aio-cli-plugin-cloudmanager
. Therefore I would suggest the following:
Only fall back to cli
if there is no config at all for aio-cli-plugin-cloudmanager
and pass the original exception to the caller otherwise.
Similar to https://github.com/adobe/aio-cli-plugin-cloudmanager/blob/dc09c0b78b70d58bc9d0e4378fe33053b69bcdea/src/common-flags.js#L16 please make the imsContext
configurable (which is currently hardcoded in
Some API endpoints return status code 404 in case an ID was not found.
In example:
$ aio aem rde inspect inventory foobar
which then results in an API error message, which it actually is not.
› Error: [RDECLI:UNEXPECTED_API_ERROR] There was an unexpected API error code 404 with message Not Found. Please, try again later and if the error persists, report it. › Code: UNEXPECTED_API_ERROR
Check all API calls (when provided with an ID) to be handled correctly.
Please document if standalone usage like for https://github.com/adobe/aio-cli-plugin-cloudmanager#standalone-use is supported, as AIO comes with a big overhead.
Although in
the CLI argumentsprogramId
and environmentId
are stored as global flags, those are not considered in
. Please only fallback to the Config values in case no CLI flags are given.I would like to see the log output e.g. from https://github.com/adobe/aio-lib-ims/blob/d45606dec20577ba953b3968aa0ae1e518ab3855/src/token-helper.js#L111C1-L111C1.
I tried setting environment variable AIO_LOG_LEVEL=debug (as described in https://github.com/adobe/aio-lib-core-logging#configuration) but although some debug messages are now logged, the one listed above is not.
Please extend the readme on how to enable debug level logging for all modules!
The output of tailing logs is currently very choppy, because a batch of log lines is fetched every 1500ms and dumped onto the console in one go. When using the real "tail" command, lines are output as they arrive, which makes the output feel more fluid, and easier to track with the eyes. This ticket aims at achieving this effect.
Different colors for log lines of different severities would also be nice.
Please clarify which roles the users needs to have for which API in order to reset and deploy to an RDE. Particularly as only resetRde
is documented at https://developer.adobe.com/experience-cloud/cloud-manager/guides/getting-started/permissions/.
Similarly to the API Key extraction (
) also the organization id should be extracted from the IMS Config Context (it is contained in fieldims_org_id
) instead of requiring that to be explicitly configured.In the package.json I see the following requirements (
aio-cli-plugin-aem-rde/package.json
Line 6 in e60e09e
"engines": {
"npm": "^8.0.0",
"node": "^16.13 || >=18"
},
This leads to warning during installation, as newer versions of node (e.g. the latest LTS) ship with NPM 9.x. (https://nodejs.org/en/download/releases/):
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@adobe/[email protected]',
npm WARN EBADENGINE required: { npm: '^8.0.0', node: '^16.13 || >=18' },
npm WARN EBADENGINE current: { node: 'v19.6.0', npm: '9.4.0' }
npm WARN EBADENGINE }
I think that adding a requirement on the node version is sufficient.
As JWT service authentication is gonna be deprecated the new OAuth authentication should be supported in parallel. It is described in https://developer.adobe.com/developer-console/docs/guides/authentication/ServerToServerAuthentication/implementation/.
When I call e.g. aem:rde:reset
I get back the output Error: 403 - Forbidden
however the CLI exits with the success exit code (0). In case of errors always indicate that with an exit code != 0 to ease automatically evaluating the outcome. This is related to #18 .
In order to reduce code duplication and to ease dealing with all CloudManager APIs in a single client this project should be merged into https://github.com/adobe/aio-cli-plugin-cloudmanager
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.