Skip to content

v3.0.0

Compare
Choose a tag to compare
@philipws philipws released this 10 Sep 11:40
· 88 commits to main since this release
ff58291

Highlights

  • GitHub is now the only supported source code provider, removing AWS CodeCommit (See docs)
  • Automated updates are configurable with manual approval control
  • Configuration options are now stored in AWS Parameter Store (See docs)
  • An installation wizard tool has been created to simplify deployment (See docs)

AWS CodeCommit Removal

AWS CodeCommit is no longer accepting new customers. Previous versions of this project used CodeCommit to store the source code within your AWS account for deployment. Going forward, GitHub will be the sole source code provider.

Automated Updates

Deployments will now track an upstream Git repository branch for updates. This can be the upstream project's repository or your own fork. Release branches will be maintained following the semver naming convention.

  • Tracking v3: include updates matching v3.*.*. E.g. v3.0.1, v3.0.2, v3.1.0.
  • Tracking v3.0: include updates matching v3.0.*. E.g. v3.0.1, v3.0.2.
  • Tracking v3.0.0: do not include any updates, stick to only v3.0.0.

A manual approval step has been added at the start of the pipeline to provide control over when automated updates are performed.

Manual Approval

A manual approval step has been introduced at the start of the pipeline. This will allow an administrator to halt the pipeline execution until the update is approved. This gives you control over when updates are rolled out or the ability to prevent them completely.

In some cases, the manual approval will repeat. This is because the approval step occurs before the CDK Synth step. If the CDK mutates the pipeline, a new request for the updated pipeline will trigger the approval process again.

Configuration Storage

Configuration options are now stored in AWS Parameter Store. These values are saved to Parameter Store by the new installation wizard tool. They follow a pattern of /doctran/${instanceName}/app/webUi/enable. During deployment these are mapped to a config.json file used by the CDK. Similarly, the installation tool generates this config.json file.

Configuration options can be modified in AWS Parameter Store. To apply the changes the pipeline should be executed.

Installation Wizard

The installation wizard in the documentation has been replaced by a new installation wizard tool. This tool will gather your configuration inputs and perform the common necessary prerequisites on your behalf, such as saving configurations to Parameter Store and ensuring LogGroups exist.

Customizations

For customizations like logo and footer links, the previous approach of adding additional files to the source repository is no longer feasible, as you may not own the upstream project repository. Customization options will be reintroduced in a way that allows using the upstream project repository. You are still able to fork the repository to one that you maintain and perform any modifications you want.

Breaking Changes

  1. AWS CodeCommit Removal: AWS CodeCommit is no longer accepting new customers. CodeCommit was a dependency for this project. Going forward, GitHub will be used instead of CodeCommit for all deployments. You must have a GitHub account and generate a GitHub token with at least public_repo permission. (See docs)

  2. Configuration Storage: Configuration options are now stored in AWS Parameter Store. These values are saved to Parameter Store by the installation wizard tool. (See docs)

  3. Resource Naming: Resource naming used the Git branch as a placeholder (e.g., main). This will now be specifically set by the parameter /doctran/${instanceName}/common/instance/name. Release branches will be created, with branch tracking, to allow for more automated updates. (See docs)

Upgrading from v2

  1. Use the new installation wizard tool as per the updated documentation. (See docs)
  2. For the Instance Name, use the previous branch name (e.g., if your CloudFormation has doctran-main-pipeline/doctran-main-app, then your previous branch was main). The default was main.
  3. The installer will prompt you for all your configuration values. You can find the current values in CodePipeline > doctran-main-pipeline-xxxx > Synth / AWS CodeBuild > Environment Variables.

Test

Please perform appropriate tests to ensure you're happy with the changes. If in doubt please raise an issue.