# Council daemon v2 deploy plan [MAINNET] ### Before voting enaction - [x] Review passed - [ ] RabbitMQ deployed - [ ] RabbitMQ dasboard ready - [ ] Docker image build on testnet and mainnet - [ ] CI works fine - [ ] Old version works normally before the upgrade - [ ] Deposits performs - [ ] No erros in logs - [ ] Seeing deposits and ping messages in Depositor bot in Kafka - [ ] Alerts are shared with guardians, [example](https://github.com/lidofinance/infra-mainnet/tree/master/ansible/roles/alerts_box/templates/tooling-alerts) - [ ] Grafana dashboard example is shared with guardians - [ ] Contracts deployed - [ ] Addresses are changed (maybe it will required changes in nestjs-modules or js-sdk) - [ ] Updated council daemon that deployed in our infra (in mainnet) - [ ] New version ready - [ ] Uploaded to the dockerhub with a some tag (With CI by merging to the main branch) - [ ] There is a guide for external guardians how to setup the daemon ([Example](https://hackmd.io/vGAN9r2FTne6FuDgxIUo7A?view)) and Keys API. Important ⚠️ we ask to run daemon by hash not a tag! - [ ] Guide shared with guardians in the tg chat room (ask Zuzu (Kate) to help) - [ ] All participants informed that we asked to run a **separate** instance of the daemon - [ ] There is an ansible role to help guardians to setup a daemon - [ ] Prepare credentials for Mainnet Rabbit MQ (separate creds for each member) - [ ] Share credentials through 1password with each guardian (ask Zuzu) - [ ] Recieve confirmations from all guardians that version is updated ### After voting enaction - [ ] Contracts checks - [ ] Staking module is not paused - [ ] Check that old daemon stopped sending messages - [ ] Ping messages (?) - [ ] Deposit messages - [ ] Check that we reciving messages in the new message broker - [ ] Check amount of guardians - [ ] Check daemon versions - [ ] Check signatures - [ ] Wait for deposits - [ ] Update addresses to Mainnet in e2e tests (may have Goerli + mainnet) - [ ] Update secrets for e2e tests in the repository - [ ] Run e2e tests - [ ] Inform guardians that everything went well - [ ] Ask guardians to turn off the old daemon - [ ] After a few weeks need to turn off the Kafka claster. Probably replace with the cheper one for fallback option.