Skip to content

Conversation

@JPRuskin
Copy link
Member

@JPRuskin JPRuskin commented Mar 12, 2025

Description Of Changes

  • Updates to use Jenkins Job packages
  • Uses NexuShell instead of cribbed functions
  • Updates ClientSetup to match Azure changes
  • Updates Jenkins, Nexus, and CCM scripts to deploy correctly at setup (as in Ansible)
  • Removes SSL-unrelated scripts from Set-SSL
  • Renames Start-C4bSetup, Start-C4bValidation, and Set-SslSecurity scripts
  • Removes use of Web::GeneratePassword

Motivation and Context

This environment had several key differences to the other environments that could be brought into line, resulting in a more cohesive set of environments.

Testing

  • Deployed with self-signed certificate
  • Deployed with wildcard
  • Deployed with single-CN SSL certificate
  • Deployed unattended
  • Deployed piecemeal

It's worth noting that this requires the latest NexuShell, chocolatey-licensed-jenkins-jobs, and chocolatey-licensed-jenkins-scripts packages available to succeed.

Operating Systems Testing

  • Windows Server 2022
  • Windows Server 2019 (automated only)

Change Types Made

  • Bug fix (non-breaking change).
  • Feature / Enhancement (non-breaking change).
  • Breaking change (fix or feature that could cause existing functionality to change).
  • Documentation changes.
  • PowerShell code changes.

Change Checklist

  • Requires a change to the documentation.
  • Documentation has been updated.
  • Tests to cover my changes, have been added.
  • short.io link for qsg and qsg-go has been updated to point to Initialize- not Start-.
  • All new and existing tests passed?
  • [ ] PowerShell code changes: PowerShell v3 compatibility checked?

@JPRuskin JPRuskin force-pushed the hardenNexusOperations branch 2 times, most recently from 61042cf to 636ebfd Compare March 17, 2025 15:20
@JPRuskin
Copy link
Member Author

Realised that I meant to mention that the build will be broken until we merge in the build changes, due to the security-first approach we take. If we're happy with the code changes here, I can add the build changes as a commit and the tests will call the right filenames.

JPRuskin added 16 commits May 22, 2025 11:10
Additionally, hardens some flakey Nexus operations to improve reliability.
Configuring the Nexus users and (optionally) SSL earlier in the Nexus script allows us to use the correct users and FQDNs immediately, and result in a more immediately available environment.

Now that we are always doing these actions (e.g. securing the repositories), this should also reduce a lot of confusion with what the SSL script does.
Brings Jenkins configuration from the Set-SSL script to the Jenkins script, resulting in a correctly configured installation.
Customers are being confused by Set-SSL. This change removes remaining non-SSL-related operations from the script, which should allow it to be re-run if required (or accidentally) without issue.
This generator has no control over which characters are used and so was creating issues with our lazy replacements in the readme.

This removes all uses of it in favour of the method used in New-ServicePassword, which is more controlled.

Consequently, this commit also removes the New-CCMSalt function, which is now unused.
Previously, re-running could result in a user being in use and consequently not being dropped.
After discussion with Ryan, this results in a more obvious flow (and use) of script names.

The quicklink and docs will need to be updated.
We should no longer tempt customer's fates by providing multiple things to enter into the terminal. Instead, we have a single thing to run, and we can drill in if we need to.
The installer should allow for testing beta packages where available, as long as we've specified the version. This should control that more precisely.
...by successfully removing it.
This updates Chocolatey dependencies within the repository to the latest available versions.
@JPRuskin JPRuskin force-pushed the hardenNexusOperations branch from 0f17aef to 9b2def1 Compare May 22, 2025 11:24
I found this was missing when I trued up the docs PR.
@JPRuskin JPRuskin force-pushed the hardenNexusOperations branch from 6a292b3 to df2af33 Compare May 22, 2025 14:44
@ryanrichter94 ryanrichter94 merged commit b2e59b8 into main May 27, 2025
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment