aspera-cli 4.27.0 → 4.27.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +46 -1
- data/CONTRIBUTING.md +1 -7
- data/TODO.md +50 -0
- data/docs/README.md +709 -489
- data/lib/aspera/agent/base.rb +10 -2
- data/lib/aspera/agent/connect.rb +7 -7
- data/lib/aspera/agent/desktop.rb +3 -3
- data/lib/aspera/agent/direct.rb +48 -19
- data/lib/aspera/agent/factory.rb +3 -3
- data/lib/aspera/agent/httpgw.rb +55 -14
- data/lib/aspera/agent/node.rb +2 -2
- data/lib/aspera/agent/transferd.rb +12 -12
- data/lib/aspera/api/aoc.rb +28 -28
- data/lib/aspera/api/cos_node.rb +10 -9
- data/lib/aspera/api/faspex.rb +2 -2
- data/lib/aspera/api/httpgw.rb +20 -20
- data/lib/aspera/api/node.rb +31 -53
- data/lib/aspera/ascmd.rb +13 -13
- data/lib/aspera/ascp/installation.rb +43 -36
- data/lib/aspera/ascp/management.rb +6 -6
- data/lib/aspera/assert.rb +12 -13
- data/lib/aspera/cli/ascp_actions.rb +7 -7
- data/lib/aspera/cli/async_transfer_store.rb +49 -5
- data/lib/aspera/cli/bootstrapper.rb +9 -9
- data/lib/aspera/cli/command_registry.rb +1 -1
- data/lib/aspera/cli/command_spec.rb +6 -3
- data/lib/aspera/cli/context.rb +3 -3
- data/lib/aspera/cli/extended_value.rb +26 -26
- data/lib/aspera/cli/formatter.rb +76 -54
- data/lib/aspera/cli/gem_checker.rb +1 -1
- data/lib/aspera/cli/hints.rb +2 -2
- data/lib/aspera/cli/http.rb +22 -29
- data/lib/aspera/cli/mailer.rb +7 -7
- data/lib/aspera/cli/mcp_tool.rb +31 -4
- data/lib/aspera/cli/option_declarator.rb +77 -0
- data/lib/aspera/cli/options.schema.yaml +273 -3
- data/lib/aspera/cli/parser.rb +539 -280
- data/lib/aspera/cli/plugins/alee.rb +1 -1
- data/lib/aspera/cli/plugins/aoc.rb +303 -314
- data/lib/aspera/cli/plugins/ats.rb +25 -21
- data/lib/aspera/cli/plugins/base.rb +357 -186
- data/lib/aspera/cli/plugins/basic_auth.rb +0 -12
- data/lib/aspera/cli/plugins/config.rb +76 -73
- data/lib/aspera/cli/plugins/console.rb +8 -8
- data/lib/aspera/cli/plugins/cos.rb +4 -3
- data/lib/aspera/cli/plugins/factory.rb +2 -2
- data/lib/aspera/cli/plugins/faspex5.rb +259 -248
- data/lib/aspera/cli/plugins/faspio.rb +7 -2
- data/lib/aspera/cli/plugins/httpgw.rb +1 -1
- data/lib/aspera/cli/plugins/mcp.rb +11 -11
- data/lib/aspera/cli/plugins/node.rb +227 -283
- data/lib/aspera/cli/plugins/orchestrator.rb +23 -23
- data/lib/aspera/cli/plugins/preview.rb +61 -64
- data/lib/aspera/cli/plugins/server.rb +36 -31
- data/lib/aspera/cli/plugins/shares.rb +174 -135
- data/lib/aspera/cli/preset_actions.rb +39 -19
- data/lib/aspera/cli/preset_manager.rb +74 -32
- data/lib/aspera/cli/result.rb +18 -16
- data/lib/aspera/cli/runner.rb +75 -39
- data/lib/aspera/cli/secret_finder.rb +1 -1
- data/lib/aspera/cli/sync_actions.rb +36 -35
- data/lib/aspera/cli/terminal_formatter.rb +2 -2
- data/lib/aspera/cli/transfer_actions.rb +17 -10
- data/lib/aspera/cli/transfer_agent.rb +44 -44
- data/lib/aspera/cli/transfer_progress.rb +7 -7
- data/lib/aspera/cli/vault_manager.rb +34 -12
- data/lib/aspera/cli/version.rb +1 -1
- data/lib/aspera/cli/wizard.rb +17 -20
- data/lib/aspera/colors.rb +3 -3
- data/lib/aspera/command_line_builder.rb +17 -16
- data/lib/aspera/command_line_converter.rb +1 -1
- data/lib/aspera/coverage.rb +1 -2
- data/lib/aspera/data_repository.rb +1 -1
- data/lib/aspera/dot_container.rb +8 -8
- data/lib/aspera/environment.rb +13 -13
- data/lib/aspera/faspex_gw.rb +4 -4
- data/lib/aspera/faspex_postproc.rb +14 -9
- data/lib/aspera/graphql.rb +4 -2
- data/lib/aspera/hash_ext.rb +2 -2
- data/lib/aspera/json_rpc/client.rb +1 -1
- data/lib/aspera/keychain/base.rb +10 -3
- data/lib/aspera/keychain/encrypted_hash.rb +92 -17
- data/lib/aspera/keychain/factory.rb +17 -5
- data/lib/aspera/keychain/hashicorp_vault.rb +1 -1
- data/lib/aspera/keychain/macos_security.rb +23 -25
- data/lib/aspera/keychain/one_password_api.rb +86 -0
- data/lib/aspera/keychain/one_password_base.rb +34 -0
- data/lib/aspera/keychain/one_password_cli.rb +98 -0
- data/lib/aspera/link_header.rb +2 -2
- data/lib/aspera/log.rb +13 -13
- data/lib/aspera/markdown.rb +5 -5
- data/lib/aspera/nagios.rb +8 -8
- data/lib/aspera/node_simulator.rb +33 -27
- data/lib/aspera/oauth/base.rb +4 -5
- data/lib/aspera/oauth/boot.rb +3 -3
- data/lib/aspera/oauth/factory.rb +5 -5
- data/lib/aspera/oauth/jwt.rb +5 -7
- data/lib/aspera/oauth/web.rb +4 -4
- data/lib/aspera/persistency_action_once.rb +4 -4
- data/lib/aspera/persistency_folder.rb +8 -8
- data/lib/aspera/preview/file_types.rb +4 -4
- data/lib/aspera/preview/generator.rb +49 -46
- data/lib/aspera/preview/options.rb +3 -2
- data/lib/aspera/preview/terminal.rb +5 -5
- data/lib/aspera/preview/utils.rb +65 -18
- data/lib/aspera/products/connect.rb +2 -2
- data/lib/aspera/products/desktop.rb +1 -1
- data/lib/aspera/products/other.rb +2 -2
- data/lib/aspera/products/transferd.rb +3 -3
- data/lib/aspera/proxy_auto_config.rb +10 -10
- data/lib/aspera/rest.rb +149 -115
- data/lib/aspera/rest_error_analyzer.rb +3 -3
- data/lib/aspera/rest_list.rb +10 -9
- data/lib/aspera/schema/IBM Aspera Node API-4.4.6.yaml +6232 -0
- data/lib/aspera/schema/IBM Aspera faspio Gateway API-1.0.0.yaml +249 -0
- data/lib/aspera/schema/IBM Aspera on Cloud API-0.2.6-enhanced.yaml +39 -0
- data/lib/aspera/schema/IBM_Aspera_Shares.yaml +4653 -0
- data/lib/aspera/schema/documentation.rb +17 -11
- data/lib/aspera/schema/reader.rb +78 -4
- data/lib/aspera/schema/registry.rb +26 -7
- data/lib/aspera/secret_hider.rb +5 -5
- data/lib/aspera/ssh.rb +64 -31
- data/lib/aspera/ssl.rb +3 -3
- data/lib/aspera/sync/database.rb +2 -2
- data/lib/aspera/sync/operations.rb +13 -13
- data/lib/aspera/temp_file_manager.rb +24 -4
- data/lib/aspera/transfer/faux_file.rb +2 -2
- data/lib/aspera/transfer/parameters.rb +15 -15
- data/lib/aspera/transfer/resumer.rb +9 -9
- data/lib/aspera/transfer/spec.rb +1 -1
- data/lib/aspera/transfer/spec.schema.yaml +1 -0
- data/lib/aspera/uri_reader.rb +52 -15
- data/lib/aspera/web_auth.rb +6 -5
- data/lib/aspera/web_server_simple.rb +9 -9
- data/lib/aspera/yaml.rb +4 -4
- data.tar.gz.sig +0 -0
- metadata +10 -4
- metadata.gz.sig +0 -0
- data/lib/aspera/cli/plugins/faspex.rb +0 -576
- data/lib/aspera/transfer/uri.rb +0 -56
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0175000526a4dcbc1766f07f8bcf6124912dff8505663e7ee2b1f871f6a42380
|
|
4
|
+
data.tar.gz: d67d6fd5871c17d440255a158de02e5112fdf3c57a512bc5ff1d93e7d9cff846
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 65980ab8cddeae594ec2889baf99712827e521dd0070f66b3a74eb0c4030e99bee8c08f5b56914d5a32c7069c1d80247db3a3c974d53b95387a6989a3fc5c90d
|
|
7
|
+
data.tar.gz: 73b0b4ebbbf8eefcab707cf72fa890be96ebed21a59deb4b8b1a6023e442efc191b70fa1a324e47afb417bd0f223a562339cda8743acd282ed203408dfb6ad33
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,50 @@
|
|
|
1
1
|
# Changes (Release notes)
|
|
2
2
|
|
|
3
|
+
## 4.27.2
|
|
4
|
+
|
|
5
|
+
Released: 2026-09-18
|
|
6
|
+
|
|
7
|
+
### New Features
|
|
8
|
+
|
|
9
|
+
* `aoc`: Added `admin node update_status` to tell AoC to scan the node and get a new status.
|
|
10
|
+
* **Windows**: Zip installer supports per-user or global installation.
|
|
11
|
+
* **general**: Harden single file executable generation with `ocran`.
|
|
12
|
+
|
|
13
|
+
### Issues Fixed
|
|
14
|
+
|
|
15
|
+
* `direct`: Fixed #263: Boolean transfer spec parameter `preserve_times` was incorrectly generating ascp option: `-p true`. Leading to error message: `no remote host specified`. Now it correctly generates `-p`.
|
|
16
|
+
|
|
17
|
+
### Breaking Changes
|
|
18
|
+
|
|
19
|
+
## 4.27.1
|
|
20
|
+
|
|
21
|
+
Released: 2026-09-16
|
|
22
|
+
|
|
23
|
+
### New Features
|
|
24
|
+
|
|
25
|
+
* **global**: `browse` is now accepted as an alias for `ls` in `node access_key do`, `aoc files`, `aoc admin node do`, and `aoc admin ats access_key node`.
|
|
26
|
+
* `config`: Vault: added support for 1Password as a secret store.
|
|
27
|
+
* `config`: Preset secrets (passwords, keys) are now automatically moved to the vault when a preset is saved and a vault is used.
|
|
28
|
+
* `httpgw`: Added asynchronous transfer mode — `last_job_id` is now exposed so a transfer can be submitted and its status queried later.
|
|
29
|
+
* `direct`: Added asynchronous transfer mode — `last_job_id` is now exposed so a transfer can be submitted and its status queried later.
|
|
30
|
+
* `preview`: `scan` now accepts an optional path or `%id:<file_id>` selector, allowing preview generation for one file or a subtree. Added the `--filter` option, supporting glob strings, regular expressions, and `@ruby:` Proc expressions.
|
|
31
|
+
* `config`: Preset keys starting with `_` (e.g. `_comment`) are now ignored when a preset is applied as CLI options, allowing inline annotations in `config.yaml`.
|
|
32
|
+
* **global**: New composite option `--out` groups all output rendering options with dot-notation sub-keys: `format`, `level`, `file`, `fields`, `select`, `table[.pivot]`, `flat`, `secrets`, `img`. Individual options preserved with deprecation warnings.
|
|
33
|
+
* `config`: `preset set` now supports dot-notation keys with deep-merge and automatic type coercion.
|
|
34
|
+
|
|
35
|
+
### Issues Fixed
|
|
36
|
+
|
|
37
|
+
* `faspex5`: Wizard was incorrectly nesting `client_id` and `client_secret` under a `params:` sub-key in the generated preset, instead of placing them at the top level.
|
|
38
|
+
* **global**: Assigning `@none:` to a `Hash`-typed option now correctly resets it to `nil` instead of being stored as a literal value.
|
|
39
|
+
* `config`: Vault: removed `symmetric-encryption` gem dependency, replaced with `openssl`. Existing encrypted data may not be compatible — export your vault contents first, then re-import after upgrading.
|
|
40
|
+
* `config`: Vault: fixed macOS Keychain API compatibility.
|
|
41
|
+
* **global**: Option type `Hash` is now automatically inferred when the option schema uses `oneOf`/`anyOf` with all-object branches; no need to specify `allowed: Hash` explicitly.
|
|
42
|
+
|
|
43
|
+
### Breaking Changes
|
|
44
|
+
|
|
45
|
+
* `preview`: Options `--scan-id` and `--scan-path` are deprecated; use the optional `scan [path]` argument instead.
|
|
46
|
+
* `faspex`: **Plugin removed** - Faspex v4 is end of support since September 30th, 2024. Use `ascli` version 4.19.0 or earlier if still needed.
|
|
47
|
+
|
|
3
48
|
## 4.27.0
|
|
4
49
|
|
|
5
50
|
Released: 2026-09-03
|
|
@@ -82,7 +127,7 @@ Released: 2026-05-28
|
|
|
82
127
|
### Issues Fixed
|
|
83
128
|
|
|
84
129
|
* `format`: In `table` format with option `flat_hash=yes`, fixed that some parameters were not shown. Moreover, (Node API: /info), if an array of hash with name/value keys is returned with one extra key, still apply simplification.
|
|
85
|
-
* **global**: Fixed #254.
|
|
130
|
+
* **global**: Fixed #254: Security for SDK installation.
|
|
86
131
|
|
|
87
132
|
### Breaking Changes
|
|
88
133
|
|
data/CONTRIBUTING.md
CHANGED
|
@@ -126,6 +126,7 @@ bundle exec rake doc:prep
|
|
|
126
126
|
Add one bullet under `### New Features` (or `### Issues Fixed` / `### Breaking Changes`) in the current `.pre` section at the top of `CHANGELOG.md`.
|
|
127
127
|
|
|
128
128
|
Style rules:
|
|
129
|
+
|
|
129
130
|
- Plugin name in backticks: `` `config` ``, `` `aoc` ``, or `**global**` for cross-cutting changes.
|
|
130
131
|
- Command path and argument names in backticks.
|
|
131
132
|
- One sentence per bullet; end without a period.
|
|
@@ -404,10 +405,3 @@ bundle exec rake release_tag
|
|
|
404
405
|
This triggers the `.github/workflows/deploy.yml` action to publish to RubyGems.
|
|
405
406
|
|
|
406
407
|
- Update `version.rb` to the next `.pre` development version.
|
|
407
|
-
|
|
408
|
-
## Future Improvements
|
|
409
|
-
|
|
410
|
-
- Evaluate replacing custom REST and OAuth implementations with standard gems:
|
|
411
|
-
- [rest-client](https://github.com/rest-client/rest-client)
|
|
412
|
-
- [oauth2](https://github.com/oauth-xx/oauth2)
|
|
413
|
-
- Explore [Traveling Ruby](https://github.com/phusion/traveling-ruby) for distribution, or [truby Traveling Ruby](https://github.com/trubygems/traveling-ruby).
|
data/TODO.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# TODO
|
|
2
|
+
|
|
3
|
+
Ideas and TODO list.
|
|
4
|
+
Add improvement ideas here.
|
|
5
|
+
|
|
6
|
+
## Preview: deletion of orphaned preview files
|
|
7
|
+
|
|
8
|
+
Deletion of preview files for deleted source files is not yet implemented.
|
|
9
|
+
|
|
10
|
+
## Architecture: replace custom REST client with `rest-client` gem
|
|
11
|
+
|
|
12
|
+
Evaluate replacing the custom REST implementation with the standard
|
|
13
|
+
[`rest-client`](https://github.com/rest-client/rest-client) gem.
|
|
14
|
+
|
|
15
|
+
## Architecture: replace custom OAuth client with `oauth2` gem
|
|
16
|
+
|
|
17
|
+
Evaluate replacing the custom OAuth 2.0 implementation with the standard
|
|
18
|
+
[`oauth2`](https://github.com/oauth-xx/oauth2) gem.
|
|
19
|
+
|
|
20
|
+
## Architecture: explore Traveling Ruby for single-executable distribution
|
|
21
|
+
|
|
22
|
+
Explore [Traveling Ruby](https://github.com/phusion/traveling-ruby)
|
|
23
|
+
(or [truby Traveling Ruby](https://github.com/trubygems/traveling-ruby)) as an alternative
|
|
24
|
+
single-executable distribution method.
|
|
25
|
+
|
|
26
|
+
## OCRAN packaging
|
|
27
|
+
|
|
28
|
+
## Add `description:` to all `ArgumentSpec` declarations
|
|
29
|
+
|
|
30
|
+
The `description` field is user-facing (shown in `--help` output) and should be present on
|
|
31
|
+
every `ArgumentSpec`. Arguments that already carry a `schema:` key or whose name is
|
|
32
|
+
self-explanatory are lower priority, but all should have explicit descriptions eventually.
|
|
33
|
+
|
|
34
|
+
Example fix:
|
|
35
|
+
|
|
36
|
+
```ruby
|
|
37
|
+
# Before
|
|
38
|
+
{name: :async_id, type: :identifier, lookup: :async_lookup}
|
|
39
|
+
|
|
40
|
+
# After
|
|
41
|
+
{name: :async_id, description: 'Async operation identifier', type: :identifier, lookup: :async_lookup}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## DSL: Scoped options declaration and contextual documentation
|
|
45
|
+
|
|
46
|
+
Improve the DSL to distinguish between global CLI options, plugin-level options, and command-scoped options:
|
|
47
|
+
|
|
48
|
+
- **DSL declaration**: Allow options to be declared with reduced/specific scopes (e.g., at command/subtree level via `command(..., options: [...])` or `scope:` parameter on `option`) in addition to global and plugin-wide options.
|
|
49
|
+
- **Contextual `--help`**: In `--help` output, display only options relevant to the targeted command/path (command-specific, plugin-wide, and global sections).
|
|
50
|
+
- **Documentation generation**: Enhance documentation generator to display scoped options only under the concerned commands.
|