diff --git a/README.md b/README.md index 701f181..8ac06ba 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,13 @@ yunohost: args: # Provide here args. Path and domain are mandatory, other args depend of the app (cf manifest.json of app). path: /ttrss domain: example.com + # The list of users. + users: + - name: admin + pass: p@ssw0rd + firstname: admin + lastname: admin + mail: admin@example.com ``` Dependencies diff --git a/default/main.yml b/default/main.yml index f344a86..320dc21 100644 --- a/default/main.yml +++ b/default/main.yml @@ -5,3 +5,4 @@ yunohost: password: MYINSECUREPWD_PLZ_OVERRIDE_THIS ignore_dyndns: False apps: ~ + users: ~ diff --git a/tasks/main.yml b/tasks/main.yml index bdaf213..4ad3764 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -38,6 +38,10 @@ shell: yunohost domain cert-install changed_when: False +- name: Add users + include: users.yml + when: yunohost.users + - name: Install apps include: apps.yml when: yunohost.apps diff --git a/tasks/users.yml b/tasks/users.yml new file mode 100644 index 0000000..853accd --- /dev/null +++ b/tasks/users.yml @@ -0,0 +1,18 @@ +--- +- name: List users + shell: yunohost user list --output-as json + register: yunohost_registered_users_raw + changed_when: False + +- name: Format json of users + set_fact: yunohost_registered_users="{{ yunohost_registered_users_raw.stdout | from_json }}" + +- name: Create missing users + shell: | + yunohost user create {{ item.name }} --admin-password {{ yunohost.password }} \ + -f {{ item.firstname }} \ + -l {{ item.lastname }} \ + -m {{ item.mail }} \ + -p {{ item.pass }} + with_items: "{{ yunohost.users }}" + when: item.name not in yunohost_registered_users.users.keys()