Browse Source

added optional parameter `onion_service_container_state`

Fabian Peter Hammerle 3 years ago
parent
commit
2329eb1e0d
3 changed files with 7 additions and 1 deletions
  1. 1 0
      README.md
  2. 2 0
      defaults/main.yml
  3. 4 1
      tasks/main.yml

+ 1 - 0
README.md

@@ -14,6 +14,7 @@ onion_service_network_name: webserver
 
 ```yaml
 onion_service_container_image: docker.io/fphammerle/onion-service@sha256:788c7a8065cea26d7a029449a49f7c41143a35513617b9ff8db8d67687e87c5b
+onion_service_container_state: started
 ```
 
 ## Returned Variables

+ 2 - 0
defaults/main.yml

@@ -2,3 +2,5 @@
 # object 48c53ae15c2780b3ac97ac55a91748e947a55ead
 # tag docker/3.1.0-tor0.4.4.8r0-amd64
 onion_service_container_image: docker.io/fphammerle/onion-service@sha256:788c7a8065cea26d7a029449a49f7c41143a35513617b9ff8db8d67687e87c5b
+
+onion_service_container_state: started

+ 4 - 1
tasks/main.yml

@@ -29,16 +29,19 @@
     cpu_period: 10000
     memory: 128M
     restart_policy: unless-stopped
-    state: started
+    state: '{{ onion_service_container_state }}'
   register: _container
 - name: wait for onion service address
   wait_for:
     path: "{{ (_container.container.Mounts | items2dict(key_name='Destination', value_name='Source'))['/onion-service'] }}/hostname"
   register: _address_file
+  when: _container.container.State.Running | default(False)
 - name: read onion service address
   slurp:
     src: '{{ _address_file.path }}'
   register: _address_base64
+  when: not (_address_file.skipped | default(False))
 - name: decode onion service address
   set_fact:
     onion_service_address: '{{ _address_base64.content | b64decode | trim }}'
+  when: not (_address_base64.skipped | default(False))