-
Notifications
You must be signed in to change notification settings - Fork 52
Upgrading to Empire Daemon
With https://github.com/remind101/stacker_blueprints/pull/22, the recommended way of running the Empire Controller has changed.
Previously, the majority of the configuration for the Controller took place within https://github.com/remind101/empire_ami. Every time you wanted to upgrade Empire, you had to rebuild the AMI, deploy the new AMI to the Controller's autoscaling group, and replace existing instances to activate the new AMI. This made upgrading Empire more painful than it should be.
Eric came up with the new architecture, which sets up an ECS Cluster for the Controller and deploys the Empire Controller as an ECS Task on top of that cluster. That moves the configuration of the Controller within Stacker, which means upgrading only results in a new task definition vs. having to deal with updating any AMI and replacing instances.
Note: This upgrade affects the Empire Controller and does result in downtime for the Empire Controller. This means while the new stack is coming up, Empire management commands won't be available. The Minion Cluster will be unaffected so your running apps will have no downtime.
Empire Minion
If you've defined MinSize
or MaxSize
, these are now MinHosts
and MaxHosts
to maintain consistency with the controller.
Empire Controller
The following is a list of parameters that have been removed from the EmpireController blueprint with the corresponding parameter in the EmpireDaemon blueprint.
ExternalDomain -> ExternalDomain
InternalZoneId -> InternalZoneId
PublicSubnets -> PublicSubnets
TrustedNetwork -> TrustedNetwork
ControllerELBCertName -> ELBCertName
ControllerELBCertType -> ELBCertType
PublicEmpireAppELBSG -> PublicAppELBSG
PrivateEmpireAppELBSG -> PrivateAppELBSG
EmpireDBSecurityGroup -> DBSecurityGroup
EmpireDatabaseUser -> DatabaseUser
EmpireDatabasePassword -> DatabasePassword
EmpireDatabaseHost -> DatabaseHost
EmpireMinionCluster -> MinionCluster
EmpireGithubClientId -> GitHubClientId
EmpireGithubClientSecret -> GitHubClientSecret
EmpireGithubOrganization -> GitHubOrganization
EmpireGithubWebhooksSecret -> GitHubWebhooksSecret
EmpireGithubDeploymentsEnvironment -> GitHubDeploymentsEnvironment
EmpireTokenSecret -> TokenSecret
DisableStreamingLogs -> Moved to empire minion only
You can also check out this commit, which upgraded the example empire stack.