@@ -29,7 +29,8 @@ def _propagate_changes(myret, theirret):
29
29
myret ["pchanges" ][theirret ["name" ]] = theirret ["pchanges" ]
30
30
31
31
32
- def managed (name , listfile_name , signing_key_url , signed_by , dearmor = True , arch = None , require = None ):
32
+ def managed (name , listfile_name , signing_key_url , signed_by , dearmor = True , arch = None , require = None ,
33
+ download_method = None ):
33
34
ret = {
34
35
"name" : name ,
35
36
"changes" : {},
@@ -97,15 +98,20 @@ def managed(name, listfile_name, signing_key_url, signed_by, dearmor=True, arch=
97
98
if not __salt__ ["file.file_exists" ](signed_by ):
98
99
tmp = salt .utils .files .mkstemp ()
99
100
log .debug ("downloading signed-by keyfile to %s from %s" , tmp , signing_key_url )
100
- keyfile_ret = __states__ ['file.managed' ](name = tmp ,
101
- source = signing_key_url ,
102
- require = require ,
103
- skip_verify = skip_verify )
101
+ if download_method is not None and download_method == "curl" :
102
+ keyfile_ret = __states__ ['cmd.run' ](name = f"/usr/bin/curl --no-progress-meter -f -S -o '{ tmp } ' '{ signing_key_url } '" )
103
+ req_cmd = require .append ({"file" : f"/usr/bin/curl --no-progress-meter -f -S -o '{ tmp } ' '{ signing_key_url } '" }) if require \
104
+ else [{"file" : tmp }]
105
+ else :
106
+ keyfile_ret = __states__ ['file.managed' ](name = tmp ,
107
+ source = signing_key_url ,
108
+ require = require ,
109
+ skip_verify = skip_verify )
110
+ req_cmd = require .append ({"file" : tmp }) if require else [{"file" : tmp }]
111
+
104
112
log .debug (keyfile_ret )
105
113
_propagate_changes (ret , keyfile_ret )
106
-
107
114
log .debug ("dearmoring %s to %s" , tmp , signed_by )
108
- req_cmd = require .append ({"file" : tmp }) if require else [{"file" : tmp }]
109
115
dearmor_ret = __states__ ['cmd.run' ](name = "/usr/bin/gpg --dearmor -o '%s' '%s'" % (signed_by , tmp ),
110
116
creates = signed_by ,
111
117
require = req_cmd )
@@ -115,9 +121,12 @@ def managed(name, listfile_name, signing_key_url, signed_by, dearmor=True, arch=
115
121
else :
116
122
if not __salt__ ["file.file_exists" ](signed_by ):
117
123
log .debug ("storing dearmored key %s in %s" , signing_key_url , signed_by )
118
- keyfile_ret = __states__ ['file.managed' ](name = signed_by ,
119
- source = signing_key_url ,
120
- skip_verify = skip_verify )
124
+ if download_method is not None and download_method == "curl" :
125
+ keyfile_ret = __states__ ['cmd.run' ](name = f"/usr/bin/curl --no-progress-meter -f -S -o '{ tmp } ' '{ signing_key_url } '" )
126
+ else :
127
+ keyfile_ret = __states__ ['file.managed' ](name = signed_by ,
128
+ source = signing_key_url ,
129
+ skip_verify = skip_verify )
121
130
log .debug (keyfile_ret )
122
131
_propagate_changes (ret , keyfile_ret )
123
132
0 commit comments