Role Life-cycle Tags

Role Life-cycle Tags

This content is archived.

The Life-cycle Tags

  • install:base
    Creates

    • User

    • Directories

    • Virtual environments

  • install:code

    • Checks out code

  • install:system-requirements
    Installs OS dependencies

  • install:app-requirements
    pip install -r requirements.txt/bundle install

  • install:configuration
    Drops other configuration (such as supervisor, gunicorn, etc)

  • install:app-configuration
    Resolves vars and drops env.yml/auth.yml (useful for only generating the yml files for distributing config)

  • install:vhosts
    Builds nginx vhosts when relevant, can run locally or remotely

  • assets:pre-reqs
    Installs ruby/sass/grunt/node

  • assets:gather
    Processes assets

  • migrate:db
    Migrates the RDBMS using manage.py today, make migrate in the future

  • migrate:mongodb
    As above,  but for whichever nosql option

  • manage:app-users

  • manage:db
    create/ensure the database and db users exist

  • manage:monitoring

  • manage:start

  • manage:stop

  • test:unit

  • test:integration

  • test:acceptance

Notes

  • For the moment, we can implement "wildcard" tags by tagging tasks with tags: [install, install:vhosts]

  • In the future, we may want to move all of the supervisor- and linking-related stuff into a separate tag (including rereading supervisor). (It's currently in install:configuration, which seems wrong. Maybe it should just go in manage:start?)

 

Sample Application

https://github.com/edx/configuration/pull/2265