This article provides an example of how database and database users can be managed via the edX configuration repository
Change to the configuration/playbooks directory.
Create a database configuration file named, say db-config.yml, with the following structure. You will need to customize this for your own purposes including adding strong passwords. This also assumes that you already have a root account on the MySQL instance you will be using.
--- database_connection: &default_connection login_host: "localhost" login_user: "root" login_password: "secret" DEFAULT_ENCODING: "utf8" databases: edxapp: state: "present" encoding: "{{ DEFAULT_ENCODING }}" <<: *default_connection dashboard: state: "present" encoding: "{{ DEFAULT_ENCODING }}" <<: *default_connection database_users: migrate: state: "present" password: "migrate_secret" host: "%" privileges: - "edxapp%.*:SELECT,INSERT,UPDATE,DELETE,ALTER,CREATE,DROP,INDEX" - "dashboard%.*:SELECT,INSERT,UPDATE,DELETE,ALTER,CREATE,DROP,INDEX" <<: *default_connection dash: state: "present" password: "dash_secret" host: "%" privileges: - "dashboard.*:SELECT,INSERT,UPDATE,DELETE" <<: *default_connection |
Run ansible as follows
ansible-playbook -i 'localhost,' create_db_and_users.yml -e@/path/to/db-config.yml --ask-sudo-pass |
Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.
|