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

Update dependencies in all components #107

Open
40 of 75 tasks
binarymist opened this issue Dec 15, 2021 · 1 comment
Open
40 of 75 tasks

Update dependencies in all components #107

binarymist opened this issue Dec 15, 2021 · 1 comment
Projects

Comments

@binarymist
Copy link
Member

binarymist commented Dec 15, 2021

SUT

System

Project

Update CommonJS to ESM

  • purpleteam-build-test-cli
    • convert to ESM
  • purpleteam-logger
    • convert to ESM
    • gitlab-ci node version
    • Upgrade as many dependencies as possible and convert to ESM
    • The best way to reference the logger package is by pushing the changes to a git feature branch, then just keep git commit --amending, --force pushing. In the consuming projects:
      • In the dependencies object of package.json of projects that consume purpleteam-logger set "purpleteam-logger": "purpleteam-labs/purpleteam-logger.git#binarymist/upgrade"
      • On each change to logger:
        • Delete the package-lock.json and node_modules and npm install again
    • test via purpleteam
    • test via purpleteam-orchestraiter
    • test via purpleteam-app-scanner
    • test via purpleteam-tls-scanner
    • publish to NPM and update orchestrator and app-scanner deps
    • test locally via cloud SUT
  • mocksse
    • Change test lib as lab doesn't support ESM
    • Convert to ESM
  • purpleteam (CLI)
    • convert to ESM
    • gitlab-ci node version
    • Upgrade as many dependencies as possible
    • Change test lib as lab doesn't support ESM
    • got is going to require some work
    • test local
    • test local with cloud sut
    • test cloud
  • purpleteam-lambda
    • Upgrade as many dependencies as possible
    • test local
    • test local with cloud sut
    • test cloud
    • got in Lambda functions can not currently be upgraded past 11.8.2 due to lack of AWS support of ESM
  • purpleteam-orchestrator
    • convert to ESM
    • github ci action - node version
    • Dockerfile node version
    • Upgrade as many dependencies as possible
    • test local
    • test local with cloud sut
    • test cloud
  • purpleteam-app-scanner
    • convert to ESM
    • github ci action - node version
    • Dockerfile node version
    • Upgrade as many dependencies as possible
    • test local
    • test local with cloud sut
    • test cloud
  • purpleteam-tls-scanner
    • convert to ESM
    • github ci action - node version
    • Dockerfile node version
    • Upgrade as many dependencies as possible
    • Upgrade testssl.sh
  • purpleteam-server-scanner
    • github ci action - node version
    • Update all dependencies
  • purpleteam-s2-containers

Zaproxy Upgrade URLs

@binarymist
Copy link
Member Author

binarymist commented Feb 27, 2022

Unfortunatly due to the fact that we consume a number of sindresorhus packages, and @sindresorhus decided to move their packages to (ESM only), we were forced to also make this move. This move had a good number of unanticipated side effects.

Waiting on:

Sywac

We were forced to fork sywac to make some changes so that our CLI which uses sywac (which doesn't yet support ESM) to consume our now ESM code would still work. The Pull Request is still waiting on feedback from maintainers (@nexdrew, @elliot-nelson)

docker-compose-ui

To be forked and support the latest docker-compose version. Currently we're locked to versions of docker-compose before v2. @paularah is working on replacing the docker-compose-ui functionality we use to support stage two containers in the local environment with kubernetes jobs.

URLs currently looking at:

Another option instead of forking and maintaining docker-compose-ui could be to move from docker-compose-ui to k8s, something like Minikube and k8s jobs for stage two containers.

If we went the k8s route we'd have to make sure that the stage two containers can be brought up and down during a test run based on the number of Test Sessions in a given Job file.

Further thoughts on the GSoC ideas page

Fixed:

redis

Issue that covers the problem and fix

Redis is now fixed, rebased and pushed

node-redis was currently broken: redis/node-redis#1870 (comment)

For our Testers upgraded to 4.0.2, but orchestrator is currently stuck on 3.1.2. Anything later is currently producing errors.

URLs we're currently watching:

We currently have a branch in orchestrator "binarymist/upgrade-incl-redis" that we will be rebasing on main and continuing to work on until we can move to a later version of redis that is fixed. If this doesn't happen, we'll consider changing to ioredis.

Cucumber

We have been depending on undocumented API features for years because we needed the functionality.
In version 8 many undocumented API features were removed, the Cucumber CLI's getConfiguration was one of these.
This means that retreiving the testplan is now broken until Cucumber reinstates the functionality.

Issues tracking this are at:

The above is now fixed. Now the colours are broken. Issue specifically for broken colours is here. As a temporary measure we've added the environment variable (FORCE_COLOR=1) to the app-scanner and tls-scanner Dockerfiles. This needs to be removed once cucumber has provided a fix.

Tested and all good.

binarymist added a commit to purpleteam-labs/purpleteam-app-scanner that referenced this issue May 29, 2022
This was the last issue with cucumber in updating it:
purpleteam-labs/purpleteam#107 (comment)

This change addressed the broken colours.
binarymist added a commit to purpleteam-labs/purpleteam-tls-scanner that referenced this issue May 29, 2022
This was the last issue with cucumber in updating it:
purpleteam-labs/purpleteam#107 (comment)

This change addressed the broken colours.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development
In progress
Development

No branches or pull requests

1 participant