Skip to content

Releases: Cox-Automotive/alks-cli

v3.24.6

26 Feb 19:49

Choose a tag to compare

Summary

  • Displays a yellow bordered warning banner every time a command runs using basic auth (password), directing users to migrate to OAuth2
  • Adds the same deprecation warning at the start of alks developer login
  • Updates the password choice label in alks developer configure to reflect the May 3rd retirement date
  • Adds a "did you mean?" tip when a user has configured https://alks.coxautoinc.com without the required /rest path

Test plan

Basic auth deprecation warning

  • Run any alks command (e.g. sessions open) configured with basic auth — confirm the yellow deprecation warning banner appears in the terminal
  • Run alks developer login — confirm warning appears before credential prompts
  • Run alks developer configure — confirm password choice shows "(DEPRECATED - retiring May 3rd, not recommended)"
  • Run any command configured with OAuth2 (refresh token) — confirm no warning appears

"Did you mean?" server URL hint

  • Set ALKS_SERVER=https://alks.coxautoinc.com and run alks sessions open — confirm the yellow tip appears: "Did you mean https://alks.coxautoinc.com/rest?"
  • Set ALKS_SERVER=https://alks.coxautoinc.com/ (trailing slash) and run alks sessions open — confirm tip still appears
  • Set ALKS_SERVER=https://alks.coxautoinc.com/rest and run alks sessions open — confirm no tip appears
  • Set a completely different server URL — confirm no tip appears

Rally

US1879500: Create warning for ALKS CLI basic auth deprecation

v3.24.5

25 Feb 20:13

Choose a tag to compare

Replace the static inquirer list with inquirer-autocomplete-prompt so users can type to filter accounts in real-time using fuzzy matching rather than scrolling through the full list.

Change Log Items

  • A short note to be used in a change log

Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

Rally:

v3.24.3

29 Jan 20:23

Choose a tag to compare

Summary

Fixes three path resolution errors that prevented the metadata server from starting properly.

Changes

  1. Metadata server path: Changed from '../lib/metadata-server.js' to '../metadata-server.js'
  2. Forever daemon root: Fixed from '../' to '../../../../' to properly resolve to project root
  3. Service files path: Updated from '../service' to '../../../../service'

These paths must resolve correctly from the dist/src/lib/handlers/ directory context after TypeScript compilation.

Additional changes by Dave:

  • Added .npmrc to .gitignore and removed it from the repo.
  • Fixed the flaky metadata server. It needed exception handling.
  • Fixed the mac os operational setup for starting the server.
  • Fixed src/lib/getMetadata.ts return type to Promise<Metadata | undefined>
  • Created tear down and re-test from scratch testing scripts in a new scripts directory at project root. The testing scripts are focused around the metadata server.
  • I commented out the e2e tests since they were failing on pulling with jfrog from artifactory. I don't have time to deal with that so I will make a separate story to address that.
  • Updated the README.md calling out that users should be pulling alks-cli from artifactory and notes how to setup their ~/.npmrc on how to do so.
  • I also removed the contents of the dist/ directory from the repo and added the directory to .gitignore. Those contents should be dynamically generated every time. Build consistency is ensured by npm-shrinkwrap.json.

Testing Instructions

  1. Build the project: npm run build
  2. Start the metadata server: node dist/src/bin/alks.js server start
  3. Verify server is running: curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
    • Should return: alks
  4. Test full credentials endpoint: curl http://169.254.169.254/latest/meta-data/iam/security-credentials/alks
    • Should return JSON with AWS credentials

Note: Testing must use 169.254.169.254 (not 127.0.0.1:45000) as the pf rules redirect traffic.

Related

  • Resolves Rally Defect: DE565327
  • Functionally equivalent to PR #291 but with no merge conflicts

v3.24.2

06 Jan 21:50

Choose a tag to compare

Change Log Items

  • Fixed issues with favorites accounts filter not being displayed

Rally: DE585168: ALKS cli: Favorites broken in 3.22.0

v3.24.1

06 Jan 19:54

Choose a tag to compare

Change Log Items

  • Updated alks.js dependency to latest version (2.14.9) with bug fixes and improvements.
  • Updated CI/CD workflows to use Artifactory for npm package dependency resolution.
  • Update to node 24

Rally: US1816358: ALKS CLI - Move Repo to GHE & Pull from Artifactory

v3.24.0

16 Oct 18:21

Choose a tag to compare

Change Log Items

Original work was done by @samsolaimani . I am picking up the QA and will deploy beta package.

Description

Code presents new command line switches that supports session open and session console commands to participate in ChangeMinder.

Rally:

US1626026: Update CLI to use new ALKS JS and new params

v3.22.1

03 Oct 15:04

Choose a tag to compare

That was easy

v3.22.0

27 Jun 14:41

Choose a tag to compare

This just restructures the code a bit from #284 to match some of our code patterns like each function getting its own file and generalizing the code for parsing the account Id, alias, and role out of ALKS account strings to make it available for future work. I also swapped out the test data values with fake data to provide a little more security by obscurity

Big thanks to @KennyS-Cox for contributing the bulk of this work and also just for having the idea to do it in the first place. it really makes a difference in the readability of the output

closes #284

v3.21.2

24 Feb 17:28

Choose a tag to compare

Change Log Items

  • Adds more logs around the output format

Description

Logs the output format and warns users that generating env var credentials isn't enough (you have to paste them in the terminal

v3.21.1

13 Jan 16:31

Choose a tag to compare

Change Log Items

  • Remove alks-node dependency.
  • Remove node-fetch/request in favor for axios

Description

Because prior to node 18, node did not provide an http fetch api so we had to use a 3rd party library for that functionality (request/node-fetch). These 3rd party packages rely on punycode which is being deprecated in node >= v21. This PR will switch over to axios since that will relieve us of the punycode deprecation warnings.

Rally:

US1504256: [Continued] [Continued] alks-cli: Clean deprecation warnings