aspera-cli 4.9.0 → 4.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/BUGS.md +20 -0
  4. data/CHANGELOG.md +509 -0
  5. data/CONTRIBUTING.md +118 -0
  6. data/README.md +1241 -916
  7. data/bin/ascli +4 -4
  8. data/bin/asession +11 -11
  9. data/docs/test_env.conf +32 -21
  10. data/examples/aoc.rb +4 -4
  11. data/examples/dascli +16 -9
  12. data/examples/faspex4.rb +8 -8
  13. data/examples/node.rb +12 -12
  14. data/examples/server.rb +10 -10
  15. data/lib/aspera/aoc.rb +273 -266
  16. data/lib/aspera/ascmd.rb +56 -54
  17. data/lib/aspera/ats_api.rb +4 -4
  18. data/lib/aspera/cli/basic_auth_plugin.rb +15 -12
  19. data/lib/aspera/cli/extended_value.rb +5 -5
  20. data/lib/aspera/cli/formater.rb +64 -64
  21. data/lib/aspera/cli/info.rb +2 -2
  22. data/lib/aspera/cli/listener/line_dump.rb +1 -1
  23. data/lib/aspera/cli/listener/logger.rb +1 -1
  24. data/lib/aspera/cli/listener/progress.rb +5 -6
  25. data/lib/aspera/cli/listener/progress_multi.rb +14 -19
  26. data/lib/aspera/cli/main.rb +66 -67
  27. data/lib/aspera/cli/manager.rb +112 -110
  28. data/lib/aspera/cli/plugin.rb +57 -36
  29. data/lib/aspera/cli/plugins/alee.rb +4 -4
  30. data/lib/aspera/cli/plugins/aoc.rb +309 -670
  31. data/lib/aspera/cli/plugins/ats.rb +44 -46
  32. data/lib/aspera/cli/plugins/bss.rb +10 -10
  33. data/lib/aspera/cli/plugins/config.rb +497 -378
  34. data/lib/aspera/cli/plugins/console.rb +12 -12
  35. data/lib/aspera/cli/plugins/cos.rb +18 -20
  36. data/lib/aspera/cli/plugins/faspex.rb +112 -114
  37. data/lib/aspera/cli/plugins/faspex5.rb +71 -46
  38. data/lib/aspera/cli/plugins/node.rb +379 -283
  39. data/lib/aspera/cli/plugins/orchestrator.rb +46 -46
  40. data/lib/aspera/cli/plugins/preview.rb +122 -114
  41. data/lib/aspera/cli/plugins/server.rb +137 -83
  42. data/lib/aspera/cli/plugins/shares.rb +30 -29
  43. data/lib/aspera/cli/plugins/sync.rb +13 -33
  44. data/lib/aspera/cli/transfer_agent.rb +60 -59
  45. data/lib/aspera/cli/version.rb +1 -1
  46. data/lib/aspera/colors.rb +3 -3
  47. data/lib/aspera/command_line_builder.rb +27 -27
  48. data/lib/aspera/cos_node.rb +22 -20
  49. data/lib/aspera/data_repository.rb +1 -1
  50. data/lib/aspera/environment.rb +35 -15
  51. data/lib/aspera/fasp/agent_base.rb +15 -15
  52. data/lib/aspera/fasp/agent_connect.rb +23 -21
  53. data/lib/aspera/fasp/agent_direct.rb +66 -64
  54. data/lib/aspera/fasp/agent_httpgw.rb +141 -78
  55. data/lib/aspera/fasp/agent_node.rb +23 -21
  56. data/lib/aspera/fasp/agent_trsdk.rb +20 -20
  57. data/lib/aspera/fasp/error.rb +3 -2
  58. data/lib/aspera/fasp/error_info.rb +11 -8
  59. data/lib/aspera/fasp/installation.rb +79 -79
  60. data/lib/aspera/fasp/listener.rb +1 -1
  61. data/lib/aspera/fasp/parameters.rb +86 -71
  62. data/lib/aspera/fasp/parameters.yaml +7 -4
  63. data/lib/aspera/fasp/resume_policy.rb +8 -8
  64. data/lib/aspera/fasp/transfer_spec.rb +35 -2
  65. data/lib/aspera/fasp/uri.rb +7 -7
  66. data/lib/aspera/faspex_gw.rb +7 -5
  67. data/lib/aspera/hash_ext.rb +3 -3
  68. data/lib/aspera/id_generator.rb +5 -5
  69. data/lib/aspera/keychain/encrypted_hash.rb +38 -105
  70. data/lib/aspera/keychain/macos_security.rb +128 -57
  71. data/lib/aspera/log.rb +7 -7
  72. data/lib/aspera/nagios.rb +19 -18
  73. data/lib/aspera/node.rb +209 -35
  74. data/lib/aspera/oauth.rb +37 -36
  75. data/lib/aspera/open_application.rb +19 -11
  76. data/lib/aspera/persistency_action_once.rb +4 -4
  77. data/lib/aspera/persistency_folder.rb +16 -15
  78. data/lib/aspera/preview/file_types.rb +8 -8
  79. data/lib/aspera/preview/generator.rb +67 -67
  80. data/lib/aspera/preview/utils.rb +27 -27
  81. data/lib/aspera/proxy_auto_config.js +41 -41
  82. data/lib/aspera/proxy_auto_config.rb +21 -14
  83. data/lib/aspera/rest.rb +72 -67
  84. data/lib/aspera/rest_call_error.rb +2 -1
  85. data/lib/aspera/rest_error_analyzer.rb +18 -17
  86. data/lib/aspera/rest_errors_aspera.rb +16 -16
  87. data/lib/aspera/secret_hider.rb +15 -13
  88. data/lib/aspera/ssh.rb +11 -10
  89. data/lib/aspera/sync.rb +158 -44
  90. data/lib/aspera/temp_file_manager.rb +2 -2
  91. data/lib/aspera/uri_reader.rb +4 -4
  92. data/lib/aspera/web_auth.rb +14 -13
  93. data.tar.gz.sig +0 -0
  94. metadata +11 -36
  95. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3e2f918183f0c2eb62309f27271244bfc81ed1c931cfc9d0779e4ed9817fdd6
4
- data.tar.gz: cfb19c8d6d746b4fcdea4e2c886ab6a4d8a77fc7c8c0e331909af57f53e697a6
3
+ metadata.gz: '08292755646ee9ced95363ddb7b109cec20c3826a72d8df12e54cabc9cfab2dd'
4
+ data.tar.gz: 881782cb6655d6be4783ae34761bb44ffc84cb6972e223ec7cdde8020de6af1d
5
5
  SHA512:
6
- metadata.gz: 2e31f4ef2df4c1e3fb4856c67431640bbfe0d5ade15c67dfa99dda63e6fb5f453344392e1a071ab26eb8d7167d3d244a7d98a2c33e2f9f3a6b517b4b910c4929
7
- data.tar.gz: 9d5e53ac4513a8722cf46953524641f038697cd7c9a1f607e54e67df13275dc438ec33564486f866eb6adedd680b2404660df846e5524202e4a71b40c3072524
6
+ metadata.gz: d222717fdc4632b1d423b4df6479714135469ba2d5ddaa6fb6cac185eeba8f9d96db4adf4484872224c3c5b4e7afe5dcc48d7365e0933954d1eadc80b9951b6b
7
+ data.tar.gz: ca5b15ae38a0bd0841e5cb1aba74f75de99954d8ee09b8f86b0109bc11e58d4e54862b9c52afdca6da54808be17c6a778ae7000f8d2e6c8947a74eb66aac74a0
checksums.yaml.gz.sig CHANGED
Binary file
data/BUGS.md ADDED
@@ -0,0 +1,20 @@
1
+ # Reporting bugs and security vulnerabilities
2
+
3
+ Report bug, including vulnerability issues following this:
4
+
5
+ Please, make sure to include the following information:
6
+
7
+ * aspera-cli version number.
8
+ * Operating system name/version (uname -a if Unix)
9
+ * relevant section of output of error with option --log-level=debug
10
+ * Any other relevant information.
11
+
12
+ [Use Github (Public Issue Reporting)](https://github.com/IBM/aspera-cli/issues)
13
+
14
+
15
+ ## Security Policy
16
+
17
+ | Version | Supported |
18
+ | ------- | ------------------ |
19
+ | >= 4.0 | :white_check_mark: |
20
+ | < 4.0 | :x: |
data/CHANGELOG.md ADDED
@@ -0,0 +1,509 @@
1
+ # Changes (Release notes)
2
+
3
+ * 4.11.0
4
+
5
+ * new: vault: secret finder, migration from config file
6
+ * new: allow removal of transferspec parameter by setting value to `null`
7
+ * new: option `ascp_opts` allows to provide native `ascp` options on command line
8
+ * new: command `sync` added to `node` (gen4) and `server` plugins, also available in `aoc`
9
+ * fix: security: no shell interpolation
10
+ * fix: when WSS and node agent: no localhost (certificate)
11
+ * fix: #99 `aoc file download` for single shared folder
12
+ * fix: due to change of API in faspex 5 for send pakage (paths is mandatory for any type of transfer now)
13
+ * fix: Oauth web authentication was broken, fixed now
14
+ * change: (break) container image has entry point
15
+ * change: (break) `aoc admin res node` commands `v3` and `v4` replaced with `do` and command `v3` moved inside `do`
16
+ * change: (break) renamed options for `sync`
17
+ * change: node gen4 operations are moved from aoc plugin to node plugin but made available where gen4 is used
18
+ * change: if wss is enabled on server, use wss
19
+ * lots of cleanup and refactoring
20
+
21
+ * 4.10.0
22
+
23
+ * new: httpgw transfer agent: support api v2, support transfer through http proxy, including proxy password
24
+ * new: faspex5: get bearer token
25
+ * updates: for docker container version
26
+ * break: option `secrets` is renamed to `vault`
27
+
28
+ * 4.9.0
29
+
30
+ * new: shares: import of SAML users and LDAP users
31
+ * new: M1 apple silicon support SDK install (uses x86 ascp)
32
+ * new: support bulk operation more globally (create/delete), not all ops , though
33
+ * new: added missing transfer spec parameters, e.g. `src_base`, `password`
34
+ * new: improved documentation on faspex and aoc package send
35
+ * fix: `node do` command fixed
36
+ * fix: improved secret hiding from logs
37
+ * change: (break) removed rarely commands nodeadmin, configuration, userdata, ctl from plugin `server`
38
+ as well as option `cmd_prefix`
39
+ * change: `ascli` runs as user `cliuser` instead of `root` in container
40
+ * change: default access right for config folder is now user only, including private keys
41
+
42
+ * 4.8.0
43
+
44
+ * new: #76 add resource `group_membership` in `aoc`
45
+ * new: add resource `metadata_profile` in `faspex5`
46
+ * new: add command `user profile` in `faspex5`
47
+ * new: add config wizard for `faspex5`
48
+ * new: #75 gem is signed
49
+ * change: (break) removed dependency on gem `grpc` which is used only for the `trsdk` transfer agent. Users can install the gem manually if needed.
50
+ * change: (break) hash vault keys are string instead of symbol
51
+ * change: cleanup with rubocop, all strings are immutable now by default, list contants are frozen
52
+ * change: removed Hash.dig implemetation because it is by default in Ruby >= 2.3
53
+ * change: default is now to hide secrets on command output. Set option `show_secrets` to reveal secrets.
54
+ * change: option `insecure` displays a warning
55
+
56
+ * 4.7.0
57
+
58
+ * new: option to specify font used to generate image of text file in `preview`
59
+ * new: #66 improvement for content protection (support standard transfer spec options for direct agent)
60
+ * new: option `fpac` is now applicable to all ruby based HTTP connections, i.e. API calls
61
+ * new: option `show_secrets` to reveal secrets in command output
62
+ * new: added and updated commands for Faspex 5
63
+ * new: option `cache_tokens`
64
+ * new: Faspex4 dropbox packages can now be received by id
65
+ * change: (break) command `conf gem path` replaces `conf gem_path`
66
+ * change: (break) option `fpac` expects a value instead of URL
67
+ * change: (break) option `cipher` in transfer spec must have hyphen
68
+ * change: (break) renamed option `log_passwords` to `log_secrets`
69
+ * change: (break) removed plugin `shares2` as products is now EOL
70
+ * fix: After AoC version update, wizard did not detect AoC properly
71
+
72
+ * 4.6.0
73
+
74
+ * new: command `conf plugin create`
75
+ * new: global option `plugin_folder`
76
+ * new: global option `transpose_single`
77
+ * new: simplified metadata passing for shared inbox package creation in AoC
78
+ * change: (break) command `aoc packages shared_inboxes list` replaces `aoc user shared_inboxes`
79
+ * change: (break) command `aoc user profile` replaces `aoc user info`
80
+ * change: (break) command `aoc user workspaces list` replaces `aoc user workspaces`
81
+ * change: (break) command `aoc user workspaces current` replaces `aoc workspace`
82
+ * change: (break) command `conf plugin list` replaces `conf plugins`
83
+ * change: (break) command `conf connect` simplified
84
+ * fix: #60 ascli executable was not installed by default in 4.5.0
85
+ * fix: add password hiding case in logs
86
+
87
+ * 4.5.0
88
+
89
+ * new: support transfer agent: [Transfer SDK](README.md#agt_trsdk)
90
+ * new: support [http socket options](README.md#http_options)
91
+ * new: logs hide passwords and secrets, option `log_passwords` to enable logging secrets
92
+ * new: `config vault` supports encrypted passwords, also macos keychain
93
+ * new: `config preset` command for consistency with id
94
+ * new: identifier can be provided using either option `id` or directly after the command, e.g. `delete 123` is the same as `delete --id=123`
95
+ * change: when using wss, use [ruby's CA certs](README.md#certificates)
96
+ * change: unexpected parameter makes exit code not zero
97
+ * change: (break) options `id` and `name` cannot be specified at the same time anymore, use [positional identifer or name selection](README.md#res_select)
98
+ * change: (break) `aoc admin res node` does not take workspace main node as default node if no `id` specified.
99
+ * change: (break): `orchestrator workflow status` requires id, and supports special id `ALL`
100
+ * fix: various smaller fixes and renaming of some internal classes (transfer agents and few other)
101
+
102
+ * 4.4.0
103
+
104
+ * new: `aoc packages list` add possibility to add filter with option `query`
105
+ * new: `aoc admin res xxx list` now get all items by default #50
106
+ * new: `preset` option can specify name or hash value
107
+ * new: `node` plugin accepts bearer token and access key as credential
108
+ * new: `node` option `token_type` allows using basic token in addition to aspera type.
109
+ * change: `server`: option `username` not mandatory anymore: xfer user is by default. If transfer spec token is provided, password or keys are optional, and bypass keys are used by default.
110
+ * change: (break) resource `apps_new` of `aoc` replaced with `application` (more clear)
111
+
112
+ * 4.3.0
113
+
114
+ * new: parameter `multi_incr_udp` for option `transfer_info`: control if UDP port is incremented when multi-session is used on [`direct`](README.md#agt_direct) transfer agent.
115
+ * new: command `aoc files node_info` to get node information for a given folder in the Files application of AoC. Allows cross-org or cross-workspace transfers.
116
+
117
+ * 4.2.2
118
+
119
+ * new: `faspex package list` retrieves the whole list, not just first page
120
+ * new: support web based auth to aoc and faspex 5 using HTTPS, new dependency on gem `webrick`
121
+ * new: the error "Remote host is not who we expected" displays a special remediation message
122
+ * new: `conf ascp spec` displays supported transfer spec
123
+ * new: options `notif_to` and `notif_template` to send email notifications on transfer (and other events)
124
+ * fix: space character in `faspe:` url are precent encoded if needed
125
+ * fix: `preview scan`: if file_id is unknown, ignore and continue scan
126
+ * change: for commands that potentially execute several transfers (`package recv --id=ALL`), if one transfer fails then ascli exits with code 1 (instead of zero=success)
127
+ * change: (break) option `notify` or `aoc` replaced with `notif_to` and `notif_template`
128
+
129
+ * 4.2.1
130
+
131
+ * new: command `faspex package recv` supports link of type: `faspe:`
132
+ * new: command `faspex package recv` supports option `recipient` to specify dropbox with leading `*`
133
+
134
+ * 4.2.0
135
+
136
+ * new: command `aoc remind` to receive organization membership by email
137
+ * new: in `preview` option `value` to filter out on file name
138
+ * new: `initdemo` to initialize for demo server
139
+ * new: [`direct`](README.md#agt_direct) transfer agent options: `spawn_timeout_sec` and `spawn_delay_sec`
140
+ * fix: on Windows `conf ascp use` expects ascp.exe
141
+ * fix: (break) multi_session_threshold is Integer, not String
142
+ * fix: `conf ascp install` renames sdk folder if it already exists (leftover shared lib may make fail)
143
+ * fix: removed replace_illegal_chars from default aspera.conf causing "Error creating illegal char conversion table"
144
+ * change: (break) `aoc apiinfo` is removed, use `aoc servers` to provide the list of cloud systems
145
+ * change: (break) parameters for resume in `transfer-info` for [`direct`](README.md#agt_direct) are now in sub-key `"resume"`
146
+
147
+ * 4.1.0
148
+
149
+ * fix: remove keys from transfer spec and command line when not needed
150
+ * fix: default to create_dir:true so that sending single file to a folder does not rename file if folder does not exist
151
+ * new: update documentation with regard to offline and docker installation
152
+ * new: renamed command `nagios_check` to `health`
153
+ * new: agent `http_gw` now supports upload
154
+ * new: added option `sdk_url` to install SDK from local file for offline install
155
+ * new: check new gem version periodically
156
+ * new: the --fields= option, support -_fieldname_ to remove a field from default fields
157
+ * new: Oauth tokens are discarded automatically after 30 minutes (useful for COS delegated refresh tokens)
158
+ * new: mimemagic is now optional, needs manual install for `preview`, compatible with version 0.4.x
159
+ * new: AoC a password can be provided for a public link
160
+ * new: `conf doc` take an optional parameter to go to a section
161
+ * new: initial support for Faspex 5 Beta 1
162
+
163
+ * 4.0.0
164
+
165
+ * now available as open source (github) with general cleanup
166
+ * changed default tool name from `mlia` to `ascli`
167
+ * changed `aspera` command to `aoc`
168
+ * changed gem name from `asperalm` to `aspera-cli`
169
+ * changed module name from `Asperalm` to `Aspera`
170
+ * removed command `folder` in `preview`, merged to `scan`
171
+ * persistency files go to sub folder instead of main folder
172
+ * added possibility to install SDK: `config ascp install`
173
+
174
+ * 0.11.8
175
+
176
+ * Simplified to use `unoconv` instead of bare `libreoffice` for office conversion, as `unoconv` does not require a X server (previously using Xvfb
177
+
178
+ * 0.11.7
179
+
180
+ * rework on rest call error handling
181
+ * use option `display` with value `data` to remove out of extraneous information
182
+ * fixed option `lock_port` not working
183
+ * generate special icon if preview failed
184
+ * possibility to choose transfer progress bar type with option `progress`
185
+ * AoC package creation now output package id
186
+
187
+ * 0.11.6
188
+
189
+ * orchestrator : added more choice in auth type
190
+ * preview: cleanup in generator (removed and renamed parameters)
191
+ * preview: better documentation
192
+ * preview: animated thumbnails for video (option: `video_png_conv=animated`)
193
+ * preview: new event trigger: `trevents` (`events` seems broken)
194
+ * preview: unique tmp folder to avoid clash of multiple instances
195
+ * repo: added template for secrets used for testing
196
+
197
+ * 0.11.5
198
+
199
+ * added option `default_ports` for AoC (see manual)
200
+ * allow bulk delete in `aspera files` with option `bulk=yes`
201
+ * fix getting connect versions
202
+ * added section for Aix
203
+ * support all ciphers for [`direct`](README.md#agt_direct) agent (including gcm, etc..)
204
+ * added transfer spec param `apply_local_docroot` for [`direct`](README.md#agt_direct)
205
+
206
+ * 0.11.4
207
+
208
+ * possibility to give shared inbox name when sending a package (else use id and type)
209
+
210
+ * 0.11.3
211
+
212
+ * minor fixes on multi-session: avoid exception on progress bar
213
+
214
+ * 0.11.2
215
+
216
+ * fixes on multi-session: progress bat and transfer spec param for "direct"
217
+
218
+ * 0.11.1
219
+
220
+ * enhanced short_link creation commands (see examples)
221
+
222
+ * 0.11
223
+
224
+ * add transfer spec option (agent `direct` only) to provide file list directly to ascp: `EX_file_list`.
225
+
226
+ * 0.10.18
227
+
228
+ * new option in. `server` : `ssh_options`
229
+
230
+ * 0.10.17
231
+
232
+ * fixed problem on `server` for option `ssh_keys`, now accepts both single value and list.
233
+ * new modifier: `@list:<separator>val1<separator>...`
234
+
235
+ * 0.10.16
236
+
237
+ * added list of shared inboxes in workspace (or global), use `--query=@json:'{}'`
238
+
239
+ * 0.10.15
240
+
241
+ * in case of command line error, display the error cause first, and non-parsed argument second
242
+ * AoC : Activity / Analytics
243
+
244
+ * 0.10.14
245
+
246
+ * added missing bss plugin
247
+
248
+ * 0.10.13
249
+
250
+ * added Faspex5 (use option `value` to give API arguments)
251
+
252
+ * 0.10.12
253
+
254
+ * added support for AoC node registration keys
255
+ * replaced option : `local_resume` with `transfer_info` for agent [`direct`](README.md#agt_direct)
256
+ * Transfer agent is no more a Singleton instance, but only one is used in CLI
257
+ * `@incps` : new extended value modifier
258
+ * ATS: no more provides access keys secrets: now user must provide it
259
+ * begin work on "aoc" transfer agent
260
+
261
+ * 0.10.11
262
+
263
+ * minor refactor and fixes
264
+
265
+ * 0.10.10
266
+
267
+ * fix on documentation
268
+
269
+ * 0.10.9.1
270
+
271
+ * add total number of items for AoC resource list
272
+ * better gem version dependency (and fixes to support Ruby 2.0.0)
273
+ * removed aoc search_nodes
274
+
275
+ * 0.10.8
276
+
277
+ * removed option: `fasp_proxy`, use pseudo transfer spec parameter: `EX_fasp_proxy_url`
278
+ * removed option: `http_proxy`, use pseudo transfer spec parameter: `EX_http_proxy_url`
279
+ * several other changes..
280
+
281
+ * 0.10.7
282
+
283
+ * fix: ascli fails when username cannot be computed on Linux.
284
+
285
+ * 0.10.6
286
+
287
+ * FaspManager: transfer spec `authentication` no more needed for local transfer to use Aspera public keys. public keys will be used if there is a token and no key or password is provided.
288
+ * gem version requirements made more open
289
+
290
+ * 0.10.5
291
+
292
+ * fix faspex package receive command not working
293
+
294
+ * 0.10.4
295
+
296
+ * new options for AoC : `secrets`
297
+ * ACLI-533 temp file list folder to use file lists is set by default, and used by asession
298
+
299
+ * 0.10.3
300
+
301
+ * included user name in oauth bearer token cache for AoC when JWT is used.
302
+
303
+ * 0.10.2
304
+
305
+ * updated `search_nodes` to be more generic, so it can search not only on access key, but also other queries.
306
+ * added doc for "cargo" like actions
307
+ * added doc for multi-session
308
+
309
+ * 0.10.1
310
+
311
+ * AoC and node v4 "browse" works now on non-folder items: file, link
312
+ * initial support for AoC automation (do not use yet)
313
+
314
+ * 0.10
315
+
316
+ * support for transfer using IBM Cloud Object Storage
317
+ * improved `find` action using arbitrary expressions
318
+
319
+ * 0.9.36
320
+
321
+ * added option to specify file pair lists
322
+
323
+ * 0.9.35
324
+
325
+ * updated plugin `preview` , changed parameter names, added documentation
326
+ * fix in `ats` plugin : instance id needed in request header
327
+
328
+ * 0.9.34
329
+
330
+ * parser "@preset" can be used again in option "transfer_info"
331
+ * some documentation re-organizing
332
+
333
+ * 0.9.33
334
+
335
+ * new command to display basic token of node
336
+ * new command to display bearer token of node in AoC
337
+ * the --fields= option, support +_fieldname_ to add a field to default fields
338
+ * many small changes
339
+
340
+ * 0.9.32
341
+
342
+ * all Faspex public links are now supported
343
+ * removed faspex operation recv_publink
344
+ * replaced with option `link` (consistent with AoC)
345
+
346
+ * 0.9.31
347
+
348
+ * added more support for public link: receive and send package, to user or dropbox and files view.
349
+ * delete expired file lists
350
+ * changed text table gem from text-table to terminal-table because it supports multiline values
351
+
352
+ * 0.9.27
353
+
354
+ * basic email support with SMTP
355
+ * basic proxy auto config support
356
+
357
+ * 0.9.26
358
+
359
+ * table display with --fields=ALL now includes all column names from all lines, not only first one
360
+ * unprocessed argument shows error even if there is an error beforehand
361
+
362
+ * 0.9.25
363
+
364
+ * the option `value` of command `find`, to filter on name, is not optional
365
+ * `find` now also reports all types (file, folder, link)
366
+ * `find` now is able to report all fields (type, size, etc...)
367
+
368
+ * 0.9.24
369
+
370
+ * fix bug where AoC node to node transfer did not work
371
+ * fix bug on error if ED25519 private key is defined in .ssh
372
+
373
+ * 0.9.23
374
+
375
+ * defined REST error handlers, more error conditions detected
376
+ * commands to select specific ascp location
377
+
378
+ * 0.9.21
379
+
380
+ * supports simplified wizard using global client
381
+ * only ascp binary is required, other SDK (keys) files are now generated
382
+
383
+ * 0.9.20
384
+
385
+ * improved wizard (prepare for AoC global client id)
386
+ * preview generator: addedoption : --skip-format=&lt;png,mp4&gt;
387
+ * removed outdated pictures from this doc
388
+
389
+ * 0.9.19
390
+
391
+ * added command aspera bearer --scope=xx
392
+
393
+ * 0.9.18
394
+
395
+ * enhanced aspera admin events to support query
396
+
397
+ * 0.9.16
398
+
399
+ * AoC transfers are now reported in activity app
400
+ * new interface for Rest class authentication (keep backward compatibility)
401
+
402
+ * 0.9.15
403
+
404
+ * new feature: "find" command in aspera files
405
+ * sample code for transfer API
406
+
407
+ * 0.9.12
408
+
409
+ * add nagios commands
410
+ * support of ATS for IBM Cloud, removed old version based on aspera id
411
+
412
+ * 0.9.11
413
+
414
+ * Breaking change: @stdin is now @stdin:
415
+ * support of ATS for IBM Cloud, removed old version based on aspera id
416
+
417
+ * 0.9.10
418
+
419
+ * Breaking change: parameter transfer-node becomes more generic: transfer-info
420
+ * Display SaaS storage usage with command: aspera admin res node --id=nn info
421
+ * cleaner way of specifying source file list for transfers
422
+ * Breaking change: replaced download_mode option with http_download action
423
+
424
+ * 0.9.9
425
+
426
+ * Breaking change: "aspera package send" parameter deprecated, use the --value option instead with "recipients" value. See example.
427
+ * Now supports "cargo" for Aspera on Cloud (automatic package download)
428
+
429
+ * 0.9.8
430
+
431
+ * Faspex: use option once_only set to yes to enable cargo like function. id=NEW deprecated.
432
+ * AoC: share to share transfer with command "transfer"
433
+
434
+ * 0.9.7
435
+
436
+ * homogeneous transfer spec for `node` and [`direct`](README.md#agt_direct) transfer agents
437
+ * preview persistency goes to unique file by default
438
+ * catch mxf extension in preview as video
439
+ * Faspex: possibility to download all packages by specifying id=ALL
440
+ * Faspex: to come: cargo-like function to download only new packages with id=NEW
441
+
442
+ * 0.9.6
443
+
444
+ * Breaking change: `@param:`is now `@preset:` and is generic
445
+ * AoC: added command to display current workspace information
446
+
447
+ * 0.9.5
448
+
449
+ * new parameter: new_user_option used to choose between public_link and invite of external users.
450
+ * fixed bug in wizard, and wizard uses now product detection
451
+
452
+ * 0.9.4
453
+
454
+ * Breaking change: onCloud file list follow --source convention as well (plus specific case for download when first path is source folder, and other are source file names).
455
+ * AoC Package send supports external users
456
+ * new command to export AoC config to Aspera CLI config
457
+
458
+ * 0.9.3
459
+
460
+ * REST error message show host and code
461
+ * option for quiet display
462
+ * modified transfer interface and allow token re-generation on error
463
+ * async add admin command
464
+ * async add db parameters
465
+ * Breaking change: new option "sources" to specify files to transfer
466
+
467
+ * 0.9.2
468
+
469
+ * Breaking change: changed AoC package creation to match API, see AoC section
470
+
471
+ * 0.9.1
472
+
473
+ * Breaking change: changed faspex package creation to match API, see Faspex section
474
+
475
+ * 0.9
476
+
477
+ * Renamed the CLI from aslmcli to ascli
478
+ * Automatic rename and conversion of former config folder from aslmcli to ascli
479
+
480
+ * 0.7.6
481
+
482
+ * add "sync" plugin
483
+
484
+ * 0.7
485
+
486
+ * Breaking change: AoC package recv take option if for package instead of argument.
487
+ * Breaking change: Rest class and Oauth class changed init parameters
488
+ * AoC: receive package from public link
489
+ * select by col value on output
490
+ * added rename (AoC, node)
491
+
492
+ * 0.6.19
493
+
494
+ * change: (break) ats server list provisioned &rarr; ats cluster list
495
+ * change: (break) ats server list clouds &rarr; ats cluster clouds
496
+ * change: (break) ats server list instance --cloud=x --region=y &rarr; ats cluster show --cloud=x --region=y
497
+ * change: (break) ats server id xxx &rarr; ats cluster show --id=xxx
498
+ * change: (break) ats subscriptions &rarr; ats credential subscriptions
499
+ * change: (break) ats api_key repository list &rarr; ats credential cache list
500
+ * change: (break) ats api_key list &rarr; ats credential list
501
+ * change: (break) ats access_key id xxx &rarr; ats access_key --id=xxx
502
+
503
+ * 0.6.18
504
+
505
+ * some commands take now --id option instead of id command.
506
+
507
+ * 0.6.15
508
+
509
+ * Breaking change: "files" application renamed to "aspera" (for "Aspera on Cloud"). "repository" renamed to "files". Default is automatically reset, e.g. in config files and change key "files" to "aspera" in preset "default".
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,118 @@
1
+ # Contributing
2
+
3
+ ## Reporting Issues and Vulnerabilities
4
+
5
+ You can report issues at <https://github.com/IBM/aspera-cli/issues>
6
+
7
+ Before you go ahead please search existing issues for your problem.
8
+
9
+ To make sure that we can help you quickly please include and check the following information:
10
+
11
+ - Include the ascli version you are running in your report.
12
+ - If you are not running the latest version (please check), update.
13
+ - Include your `ruby -e "puts RUBY_DESCRIPTION"`.
14
+
15
+ Thanks!
16
+
17
+ ## Making Contributions
18
+
19
+ To fetch & test the gem for development, do:
20
+
21
+ ```bash
22
+ git clone https://github.com/IBM/aspera-cli.git
23
+ cd aspera-cli
24
+ bundle install
25
+ make test
26
+ ```
27
+
28
+ If you want to contribute, please:
29
+
30
+ - Fork the project.
31
+ - Make your feature addition or bug fix.
32
+ - Add tests for it. This is important so I don't break it in a future version unintentionally.
33
+ - **Bonus Points** go out to anyone who also updates `CHANGELOG.md` :)
34
+ - Send a pull request on GitHub.
35
+ - run Rubocop to comply for coding standards
36
+
37
+ ## Running Tests
38
+
39
+ First, a testing environment must be created:
40
+
41
+ ```bash
42
+ mkdir local
43
+ cp docs/test_env.conf local/.
44
+ ```
45
+
46
+ Fill `local/test_env.conf` with system URLs and credentials for tests.
47
+
48
+ This project uses a Makefile for tests:
49
+
50
+ ```bash
51
+ cd tests
52
+ make
53
+ ```
54
+
55
+ When new commands are added to the CLI, new tests shall be added to the test suite.
56
+
57
+ ## Coverage
58
+
59
+ A coverage report can be generated in folder `coverage` using gem `SimpleCov`.
60
+ Enable coverage monitoring using env var `ENABLE_COVERAGE`.
61
+
62
+ ```bash
63
+ ENABLE_COVERAGE=1 make test
64
+ ```
65
+
66
+ Once tests are completed, or during test, consult the page: [coverage/index.html](coverage/index.html)
67
+
68
+ ## Build
69
+
70
+ By default the gem is built signed: `make`.
71
+ The appropriate signing key is required, and its path must be set to env var `SIGNING_KEY`.
72
+ It is also possible to build a non-signed version for development purpose: `make unsigned_gem`.
73
+
74
+ ### Gem Signature
75
+
76
+ Refer to: <https://guides.rubygems.org/security/>
77
+
78
+ The gem is signed with the public certificate found in `certs` and a secret key (kept secret by maintainer).
79
+
80
+ To build the signed gem:
81
+
82
+ ```bash
83
+ SIGNING_KEY=/path/to/signing_key.pem make
84
+ ```
85
+
86
+ The user can activate gem signature verification on installation:
87
+
88
+ - Add the certificate to gem trusted certificates:
89
+
90
+ ```bash
91
+ curl https://raw.githubusercontent.com/IBM/aspera-cli/main/certs/aspera-cli-public-cert.pem -so aspera-cli-certificate.pem
92
+ gem cert --add aspera-cli-certificate.pem
93
+ rm aspera-cli-certificate.pem
94
+ ```
95
+
96
+ - Install the gem with `HighSecurity` or `MediumSecurity`: this will succeed only of the gem is trusted.
97
+
98
+ ```bash
99
+ gem install -P HighSecurity aspera-cli
100
+ ```
101
+
102
+ ## Docker image build
103
+
104
+ ### on MacOS using ubuntu multipass
105
+
106
+ Install [multipass](https://multipass.run/docs) with [brew](https://multipass.run/docs/installing-on-macos#heading--use-brew):
107
+
108
+ [Initialize the docker environment](https://multipass.run/docs/docker-tutorial).
109
+
110
+ Make sure the ubuntu user in container is part of the docker group.
111
+
112
+ ## Long Term Implementation and delivery improvements
113
+
114
+ - replace rest and oauth classes with ruby standard gems:
115
+ - <https://github.com/rest-client/rest-client>
116
+ - <https://github.com/oauth-xx/oauth2>
117
+ - use gem Thor <http://whatisthor.com/> (or other standard Ruby CLI manager)
118
+ - Package with <https://github.com/pmq20/ruby-packer> (rubyc)