Operations grimoire/Odderon: Difference between revisions

From Nasqueron Agora
No edit summary
No edit summary
 
Line 38: Line 38:


[[Category:IRC]]
[[Category:IRC]]
[[Category:Operations grimoire|Odderon]]

Latest revision as of 21:54, 24 October 2024

Odderon is hosted on Eglide, runs as odderon.

Deployment

Deployment is managed by SaltStack, with code update from Git.

  1. Commit code generic change to master, code specific to Odderon to production
  2. If needed, rebase production against master
  3. To update the repository against production branch: salt eglide state.apply roles/shellserver/odderon/

The darkbot is in written in C, so it must be compiled.

Upgrade code

  1. Forward the production branch against the desired commit.
    1. For example to rebase against the master branch: git fetch && git checkout production && git rebase origin/master
    2. Push to DevCentral: git push origin production
  2. Deploy and restart the bot:
    1. Deploy with salt eglide state.apply roles/shellserver/odderon/code
    2. When happy, you can restart the bot through %restart on IRC or through sudo service restart odderon

Ensure /opt/odderon/LOCKED doesn't exist during the upgrade process: it blocks the states to run

Allow user access top code

Users in nasqueron-irc group can sudo -u odderon. This group is managed at pillar/users/shellgroups.sls.

Block deployment

Code update doesn't occur if a LOCKED file exists.

So to block update from Git: touch /opt/odderon/LOCKED

To resume update: rm /opt/odderon/LOCKED

Reference

A walkthrough to prepare this SaltStack role has been documented: