mirror of
				https://github.com/geerlingguy/ansible-role-docker.git
				synced 2025-10-24 11:16:46 +02:00 
			
		
		
		
	Initial commit.
This commit is contained in:
		
						commit
						da3eb9cf1c
					
				
							
								
								
									
										42
									
								
								.travis.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								.travis.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | ||||
| --- | ||||
| services: docker | ||||
| 
 | ||||
| env: | ||||
|   - distro: centos7 | ||||
|     init: /usr/lib/systemd/systemd | ||||
|     run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro" | ||||
|   - distro: ubuntu1604 | ||||
|     init: /lib/systemd/systemd | ||||
|     run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro" | ||||
|   - distro: ubuntu1404 | ||||
|     init: /sbin/init | ||||
|     run_opts: "" | ||||
| 
 | ||||
| before_install: | ||||
|   # Pull container. | ||||
|   - 'docker pull geerlingguy/docker-${distro}-ansible:latest' | ||||
| 
 | ||||
| script: | ||||
|   - container_id=$(mktemp) | ||||
|   # Run container in detached state. | ||||
|   - 'docker run --detach --volume="${PWD}":/etc/ansible/roles/role_under_test:ro ${run_opts} geerlingguy/docker-${distro}-ansible:latest "${init}" > "${container_id}"' | ||||
| 
 | ||||
|   # Ansible syntax check. | ||||
|   - 'docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml --syntax-check' | ||||
| 
 | ||||
|   # Test role. | ||||
|   - 'docker exec "$(cat ${container_id})" ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml' | ||||
| 
 | ||||
|   # Test role idempotence. | ||||
|   - idempotence=$(mktemp) | ||||
|   - docker exec "$(cat ${container_id})" ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml | tee -a ${idempotence} | ||||
|   - > | ||||
|     tail ${idempotence} | ||||
|     | grep -q 'changed=0.*failed=0' | ||||
|     && (echo 'Idempotence test: pass' && exit 0) | ||||
|     || (echo 'Idempotence test: fail' && exit 1) | ||||
| 
 | ||||
|   # TODO: Test whether Docker is running correctly. | ||||
| 
 | ||||
| notifications: | ||||
|   webhooks: https://galaxy.ansible.com/api/v1/notifications/ | ||||
							
								
								
									
										35
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | ||||
| # Ansible Role: Docker | ||||
| 
 | ||||
| [](https://travis-ci.org/geerlingguy/ansible-role-docker) | ||||
| 
 | ||||
| An Ansible Role that installs [Docker](https://www.docker.com) on Debian/Ubuntu. | ||||
| 
 | ||||
| ## Requirements | ||||
| 
 | ||||
| None. | ||||
| 
 | ||||
| ## Role Variables | ||||
| 
 | ||||
| Available variables are listed below, along with default values (see `defaults/main.yml`): | ||||
| 
 | ||||
|     TODO. | ||||
| 
 | ||||
| TODO. | ||||
| 
 | ||||
| ## Dependencies | ||||
| 
 | ||||
| None. | ||||
| 
 | ||||
| ## Example Playbook | ||||
| 
 | ||||
|     - hosts: all | ||||
|       roles: | ||||
|         - geerlingguy.docker | ||||
| 
 | ||||
| ## License | ||||
| 
 | ||||
| MIT / BSD | ||||
| 
 | ||||
| ## Author Information | ||||
| 
 | ||||
| This role was created in 2017 by [Jeff Geerling](https://www.jeffgeerling.com/), author of [Ansible for DevOps](https://www.ansiblefordevops.com/). | ||||
							
								
								
									
										5
									
								
								defaults/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								defaults/main.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| --- | ||||
| docker_package: "docker-engine" | ||||
| 
 | ||||
| # Used only for Debian/Ubuntu. Add 'testing' if you don't want stable. | ||||
| docker_apt_repository: "deb https://apt.dockerproject.org/repo {{ ansible_distribution|lower }}-{{ ansible_distribution_release }} main" | ||||
							
								
								
									
										3
									
								
								handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| --- | ||||
| - name: restart docker | ||||
|   service: name=docker state=restarted | ||||
							
								
								
									
										29
									
								
								meta/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								meta/main.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | ||||
| --- | ||||
| dependencies: [] | ||||
| 
 | ||||
| galaxy_info: | ||||
|   author: geerlingguy | ||||
|   description: Docker for Linux. | ||||
|   company: "Midwestern Mac, LLC" | ||||
|   license: "license (BSD, MIT)" | ||||
|   min_ansible_version: 2.0 | ||||
|   platforms: | ||||
|   - name: EL | ||||
|     versions: | ||||
|     - 6 | ||||
|     - 7 | ||||
|   - name: Debian | ||||
|     versions: | ||||
|     - jessie | ||||
|   - name: Ubuntu | ||||
|     versions: | ||||
|     - trusty | ||||
|     - xenial | ||||
|   galaxy_tags: | ||||
|     - web | ||||
|     - system | ||||
|     - containers | ||||
|     - docker | ||||
|     - orchestration | ||||
|     - compose | ||||
|     - server | ||||
							
								
								
									
										15
									
								
								tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| --- | ||||
| - include: setup-RedHat.yml | ||||
|   when: ansible_os_family == 'RedHat' | ||||
| 
 | ||||
| - include: setup-Debian.yml | ||||
|   when: ansible_os_family == 'Debian' | ||||
| 
 | ||||
| - name: Install Docker. | ||||
|   package: name={{ docker_package }} state=present | ||||
| 
 | ||||
| - name: Ensure Docker is started and enabled at boot. | ||||
|   service: | ||||
|     name: docker | ||||
|     state: started | ||||
|     enabled: yes | ||||
							
								
								
									
										20
									
								
								tasks/setup-Debian.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								tasks/setup-Debian.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| --- | ||||
| - name: Ensure depdencies are installed. | ||||
|   apt: | ||||
|     name: "{{ item }}" | ||||
|     state: present | ||||
|   with_items: | ||||
|     - apt-transport-https | ||||
|     - ca-certificates | ||||
| 
 | ||||
| - name: Add Docker apt key. | ||||
|   apt_key: | ||||
|     url: https://apt.dockerproject.org/gpg | ||||
|     id: 58118E89F3A912897C070ADBF76221572C52609D | ||||
|     state: present | ||||
| 
 | ||||
| - name: Add Docker repository. | ||||
|   apt_repository: | ||||
|     repo: "{{ docker_apt_repository }}" | ||||
|     state: present | ||||
|     update_cache: yes | ||||
							
								
								
									
										13
									
								
								tasks/setup-RedHat.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								tasks/setup-RedHat.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | ||||
| --- | ||||
| # - name: Add Docker GPG key. | ||||
| #   rpm_key: | ||||
| #     key: https://apt.dockerproject.org/gpg | ||||
| #     state: present | ||||
| 
 | ||||
| - name: Add Docker repository. | ||||
|   yum_repository: | ||||
|     name: docker | ||||
|     description: Docker repository. | ||||
|     baseurl: https://docs.docker.com/engine/installation/linux/repo_files/centos/docker.repo | ||||
|     gpgkey: https://apt.dockerproject.org/gpg | ||||
|     gpgcheck: yes | ||||
							
								
								
									
										13
									
								
								tests/test.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								tests/test.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | ||||
| --- | ||||
| - hosts: all | ||||
| 
 | ||||
|   pre_tasks: | ||||
|     - name: Update apt cache. | ||||
|       apt: update_cache=yes cache_valid_time=600 | ||||
|       when: ansible_os_family == 'Debian' | ||||
| 
 | ||||
|     - name: Install test dependencies. | ||||
|       package: name=curl state=present | ||||
| 
 | ||||
|   roles: | ||||
|     - role_under_test | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user