Skip to content

✨ feat(storage): url presigning#197

Merged
jfbus merged 1 commit into
mainfrom
presign
Jun 3, 2026
Merged

✨ feat(storage): url presigning#197
jfbus merged 1 commit into
mainfrom
presign

Conversation

@jfbus

@jfbus jfbus commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds the octl storage object presign command.

Fixes: #198

Type of Change

Please check the relevant option(s):

  • 🐛 Bug fix
  • ✨ New feature
  • 🧹 Code cleanup or refactor
  • 📝 Documentation update
  • 🔧 Build or CI-related change
  • 🔒 Security fix
  • Other (specify):

How Has This Been Tested?

Please describe the test strategy:

  • Manual testing
  • Unit tests
  • Integration tests
  • Not tested yet

Checklist

  • I have followed the Contributing Guidelines
  • I have added tests or explained why they are not needed
  • I have updated relevant documentation (README, examples, etc.)
  • My changes follow the Conventional Commits specification
  • My commits include appropriate Gitmoji

Additional Context

@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown

WARNING : Differences in reference doc 🤔

 docs/reference/octl_iaas_api.md                    |  2 +-
 .../octl_iaas_api_CreateNetAccessPoint.md          |  4 +--
 docs/reference/octl_iaas_netaccesspoint_create.md  |  2 +-
 docs/reference/octl_storage_object.md              |  1 +
 docs/reference/octl_storage_object_presign.md      | 41 ++++++++++++++++++++++
 5 files changed, 46 insertions(+), 4 deletions(-)
Detailed changes

docs/reference/octl_iaas_api.md

-* [octl iaas api CreateNetAccessPoint](octl_iaas_api_CreateNetAccessPoint.md)	 - Creates a Net access point to access an OUTSCALE service from this Net without using the Internet and public IPs.
+* [octl iaas api CreateNetAccessPoint](octl_iaas_api_CreateNetAccessPoint.md)	 - Creates a Net access point to access an OUTSCALE service from this Net without using the Internet or public IPs.

docs/reference/octl_iaas_api_CreateNetAccessPoint.md

-Creates a Net access point to access an OUTSCALE service from this Net without using the Internet and public IPs.
+Creates a Net access point to access an OUTSCALE service from this Net without using the Internet or public IPs.
-Creates a Net access point to access an OUTSCALE service from this Net without using the Internet and public IPs.
+Creates a Net access point to access an OUTSCALE service from this Net without using the Internet or public IPs.

docs/reference/octl_iaas_netaccesspoint_create.md

-Creates a Net access point to access an OUTSCALE service from this Net without using the Internet and public IPs.
+Creates a Net access point to access an OUTSCALE service from this Net without using the Internet or public IPs.

docs/reference/octl_storage_object.md

+* [octl storage object presign](octl_storage_object_presign.md)	 - Create a pre-signed URL

docs/reference/octl_storage_object_presign.md

new file mode 100644
+## octl storage object presign
+
+Create a pre-signed URL
+
+```
+octl storage object presign key [flags]
+```
+
+### Options
+
+```
+      --bucket string      bucket
+      --expires duration   URL expiration (e.g. 30s, 1h)
+  -h, --help               help for presign
+```
+
+### Options inherited from parent commands
+
+```
+  -c, --columns string              columns to display - [+]<title>:<jq query for content>||<title>:<jq query for content>
+      --config string               Path of profile file (by default, ~/.osc/config.json)
+      --filter strings              comma separated list of filters for results - name:value,name:value, alias for jq filter 'select(.name | test("value"))'
+      --jq string                   jq filter
+      --no-upgrade                  do not check for new versions
+  -O, --out-file string             redirect output to file
+  -o, --output string               output format (raw, json, yaml, table, csv, none, base64, text)
+      --payload string              JSON content for query body
+      --profile string              Profile to use in profile file (by default, "default")
+      --single                      convert single entry lists to a single object
+      --template string             JSON template file for query body
+  -v, --verbose                     Verbose output
+      --waitfor string              jq expression to wait for - octl will query every waitfor-interval until the expression returns 1/true or a non empty result
+      --waitfor-interval duration   interval between two waitfor iterations (default 5s)
+      --waitfor-timeout duration    maximum duration of a wait (default 10m0s)
+  -y, --yes                         answer yes to all prompts
+```
+
+### SEE ALSO
+
+* [octl storage object](octl_storage_object.md)	 - object commands
+

@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown

Binary size: 81.7MB => 81.7MB (change +44KB, +0.0%) 😉

@jfbus jfbus marked this pull request as ready for review June 2, 2026 14:01
@jfbus jfbus requested a review from a team June 2, 2026 14:01
@jfbus jfbus requested a review from a team as a code owner June 2, 2026 14:05
@jfbus jfbus merged commit 73714ca into main Jun 3, 2026
10 checks passed
@jfbus jfbus deleted the presign branch June 3, 2026 13:48
@jfbus jfbus added the kind/feature New feature or request label Jun 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/feature New feature or request

Development

Successfully merging this pull request may close these issues.

storage: add URL presigning

2 participants