Update IDEA backend resource (idea-admin.sh deploy)

Update IDEA backend resource

This page covers different methods for updating your IDEA cluster infrastructure.

Individual Module Updates (idea-admin.sh deploy)

Use the Deploy command if you have made an architecture update outside of core IDEA codebase (e.g: update Lambda function codebase, change ALB listeners, update filesystem mount ..). Refer to Update IDEA configuration (idea-admin.sh config) for other types of updates.

Standard Upgrade Procedure

After you have made your infrastructure change, run ./idea-admin.sh cdk diff <STACK> command to preview what infrastructure changes will be performed during the upcoming upgrade deployment.

./idea-admin.sh cdk diff cluster \
  --cluster-name <CLUSTER_NAME> \
  --aws-region us-east-2
re-use code assets for lambda: idea_custom_resource_self_signed_certificate ...
re-use code assets for lambda: idea_custom_resource_update_cluster_settings ...
re-use code assets for lambda: idea_custom_resource_update_cluster_prefix_list ...
re-use code assets for lambda: idea_ec2_state_event_transformation_lambda ...
re-use code assets for lambda: idea_custom_resource_cluster_endpoints ...
source updated for idea_solution_metrics...
building code assets for lambda: idea_solution_metrics ...

Stack <CLUSTER_NAME>-cluster
Resources
[~] AWS::Lambda::Function solution-metrics solutionmetricsAE489078
 β”œβ”€ [~] Code
 β”‚   └─ [~] .S3Key:
 β”‚       β”œβ”€ [-] cdk/cbd8b4dd2b809b410fd75ab3d6c95d8746c69decbab8c117f04dfebb9120a006.zip
 β”‚       └─ [+] cdk/b25e3a038f6877199484a5531e47bfd984d7850dd69ff0d0e72cfc5c4f90c2ab.zip
 └─ [~] Metadata
     └─ [~] .aws:asset:path:
         β”œβ”€ [-] asset.cbd8b4dd2b809b410fd75ab3d6c95d8746c69decbab8c117f04dfebb9120a006
         └─ [+] asset.b25e3a038f6877199484a5531e47bfd984d7850dd69ff0d0e72cfc5c4f90c2ab
[~] Custom::ClusterSettings <CLUSTER_NAME>-cluster-settings ideapatchuclustersettings

Once you have reviewed your changes and everything looks correct, run ./idea-admin.sh deploy cluster --upgrade to update your AWS environment by triggering a CloudFormation ChangeSet to the stack you are upgrading (cluster in this example).

You can validate your upgrade by looking at the AWS CloudFormation console. The stack you are being updating should be listed as "UPDATE_IN_PROGRESS".

Once the stack is updated, you can verify the resources have been upgraded correctly. In my example, I have changed the codebase of one Lambda function. I can confirm the function has been updated successfully by looking at the new code and confirming the timestamp under "Last Modified Time" match my ./idea-admin.sh deploy command.

Global Settings Backup and Upgrade

Overview

The backup-update-global-settings command performs only the global settings portion of the upgrade process:

  1. Exporting current configuration to a directory

  2. Creating a backup of the configuration with date stamp

  3. Regenerating configuration files from values.yml

  4. Updating global settings in DynamoDB

This is especially useful during development, or when you want to update global settings without performing a full upgrade of the cluster.

Usage

The basic syntax for the command is:

Required Parameters

  • --cluster-name: Name of your IDEA cluster

  • --aws-region: AWS region where the cluster is deployed

Optional Parameters

  • --aws-profile: AWS profile to use for the operation

  • --force: Skip all confirmation prompts

  • --module-set: Name of the module set to use (default: default)

Examples

Basic Usage

With AWS Profile and Force Options

When to Use This Command

This command is particularly useful in the following scenarios:

  1. During development: When you're making changes to global settings and want to test them without going through a full upgrade cycle.

  2. Configuration updates: When you need to update global settings configuration but don't want to change the base OS or update AMIs.

  3. Troubleshooting: When you need to regenerate the configuration files to resolve configuration issues.

  4. Before upgrades: To create a backup of your current configuration before performing a full upgrade.

Notes

  • This command will create a backup of your current configuration in a directory with a date stamp.

  • The backup will be stored in the path: ~/.idea/clusters/<cluster-name>/<aws-region>/config.golden.<date>

  • If you need to rollback, you can manually copy the backup directory to restore your previous configuration.

Last updated