# Required vars: # registry: # host: "{{ ansible_host }}" # port: 5000 # username: zuul # password: testpassword # container_command: docker - name: Install container system include_role: name: "ensure-{{ container_command }}" - name: Create temporary registry working directory tempfile: state: directory register: registry_tempdir - name: Create auth directory file: path: "{{ registry_tempdir.path }}/auth" state: directory - name: Install passlib for htpasswd become: true package: name: - python3-passlib - python3-bcrypt state: present - name: Write htpasswd file htpasswd: create: true crypt_scheme: bcrypt path: "{{ registry_tempdir.path }}/auth/htpasswd" name: "{{ registry.username }}" password: "{{ registry.password }}" - name: Start registry with basic auth command: >- {{ container_command }} run -d \ -p {{ registry.port }}:5000 --restart=always -v {{ registry_tempdir.path }}/auth:/auth \ -e "REGISTRY_AUTH=htpasswd" \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \ registry:2 args: chdir: "{{ registry_tempdir.path }}"