summaryrefslogtreecommitdiff
path: root/provider_base/services
diff options
context:
space:
mode:
Diffstat (limited to 'provider_base/services')
-rw-r--r--provider_base/services/obfsproxy.json7
1 files changed, 6 insertions, 1 deletions
diff --git a/provider_base/services/obfsproxy.json b/provider_base/services/obfsproxy.json
index 792a4183..d6771148 100644
--- a/provider_base/services/obfsproxy.json
+++ b/provider_base/services/obfsproxy.json
@@ -4,6 +4,11 @@
"password": "= base32_secret :scramblesuit_password",
"port" : "= rand_range :scramblesuit_port, 18000..32000"
},
- "gateway_address": "= nodes[:services => 'openvpn'].field('openvpn.gateway_address')[0]"
+ "gateway_address": "= self['openvpn'] ? openvpn.gateway_address : nodes_like_me[:services => 'openvpn'].field('openvpn.gateway_address').shuffle.first"
+ // Later, if we add a SafeNil class that looks and acts like nil
+ // but will allow you to call methods on it (each returning another SafeNil)
+ // without throwing an exception, we could do:
+ // "gateway_address": "= self['openvpn'] ? openvpn.gateway_address : (nodes_like_me[:services => 'openvpn']['location.name' => location.name].field('openvpn.gateway_address').shuffle.first || nodes_like_me[:services => 'openvpn'].field('openvpn.gateway_address').shuffle.first)"
+ // Perhaps we should also create a macro.
}
}