Updating Your Turbot Guardrails Installation Domain
In some situations, you may be required to change the URL for your workspace due to a domain name change, or a migration from internal DNS to Route 53. This guide outlines the full process of moving to a new URL/domain.
Limitations
Given a complete workspace URL like https://console.prod.turbot.customer.com
, an enterprise customer would be able to
change the installation domain of prod.turbot.customer.com
to something else. The console
portion cannot be
changed since it is also the name of the Postgresql table schema that stores the workspace data. If a workspace
absolutely requires a new name, then create a new workspace with the desired name. Migrate all cloud accounts from
the old workspace to the new.
Prerequisites
- Create a hosted zone for the new domain.
- Create a new matching TLS certificate and upload it to AWS Certificate
Manager. Your certificate names will need to include:
- Domain name
- Workspace URL (e.g.
{workspace_name}.{domain}
) - API Gateway (e.g.
gateway.{domain}
) -- only if applicable
Phase 1:
- Navigate to CloudFormation.
- Select the workspace stack and select "Update".
- When prompted, choose "Replace Workspace Template" and upload the latest workspace template.
- Do not change any values from your current workspace template.
- Apply the stack and wait for it to finish.
Phase 2:
- Navigate to Service Catalog > Provisioned Products.
- Select the Turbot Guardrails Enterprise Foundation (TEF) product and update using the same version as is currently deployed.
- Change the installation domain to the new domain.
- Change the certificate ARN to match the new certificate. Update and wait for it to complete.
Verification
- Verify that the SSM parameter
/turbot/enterprise/installation_domain
is set to the new domain in Systems Manager.
Phase 3:
- Navigate to Service Catalog > Provisioned Products.
- Open the Turbot Guardrails Enterprise (TE) product.
- Click Actions > Update.
- Scroll to the bottom and change the Parameter Deployment Trigger to the opposite of its current value. This will force the SSM parameters to be reevaluated.
- Run the update and wait for it to complete.
Verification
Verify that a CNAME record was created for
turbot-$version.your.new.domain.com
that points to the ALB in your new hosted zone.Verify that a CNAME record was created for
workspace_name.your.new.domain.com
that points toturbot-$version.your.new.domain.com
in your new hosted zone.Verify that a new SSM parameter
/turbot/tenant/workspace_name.your.new.domain.com
is created in Systems Manager.Test connectivity to the workspace.
Note: If you are not using Route53 for DNS management, you will need to create/update the above CNAME records manually.
If using API gateway:
- Complete the Prerequisites.
- Prior to Phase 2:
- Navigate to API Gateway in AWS. Open your API Gateway and delete any custom domain names that exist.
- Run an update to the TEF stack in Service Catalog, deprovisioning the API
gateway by setting the
Create public API gateway
parameter toDisabled
. - Run the update with no other changes.
- Verify that all events completed successfully via the linked Cloudformation stack.
- Complete Phase 2, making sure to set the API Gateway parameter to Enabled to provision the new API gateway.
- Complete Phase 3.
- Open your Guardrails workspace and update the policy
Turbot > Workspace > Gateway Domain Name
with the value from the API Gateway Invoke URL in AWS. (API gateway > Stages > Turbot) - Verify that any Event Handler policies/controls have been updated and re-ran successfully.