From 4a0f7f8c41ae2cccdd1d6787061b9fc7ce835758 Mon Sep 17 00:00:00 2001 From: Scaleway Bot Date: Tue, 25 Feb 2025 09:59:59 +0100 Subject: [PATCH 1/3] feat(block): add tags filter in list snapshots (#4539) --- .../test-all-usage-block-snapshot-list-usage.golden | 1 + docs/commands/block.md | 1 + go.mod | 2 +- go.sum | 4 ++-- internal/namespaces/block/v1alpha1/block_cli.go | 7 +++++++ 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/cmd/scw/testdata/test-all-usage-block-snapshot-list-usage.golden b/cmd/scw/testdata/test-all-usage-block-snapshot-list-usage.golden index ef2db0a8aa..0110fc8f62 100644 --- a/cmd/scw/testdata/test-all-usage-block-snapshot-list-usage.golden +++ b/cmd/scw/testdata/test-all-usage-block-snapshot-list-usage.golden @@ -10,6 +10,7 @@ ARGS: [project-id] Filter by Project ID [volume-id] Filter snapshots by the ID of the original volume [name] Filter snapshots by their names + [tags.{index}] Filter by tags. Only snapshots with one or more matching tags will be returned [organization-id] Filter by Organization ID [zone=fr-par-1] Zone to target. If none is passed will use default zone from the config (fr-par-1 | fr-par-2 | fr-par-3 | nl-ams-1 | nl-ams-2 | nl-ams-3 | pl-waw-1 | pl-waw-2 | pl-waw-3 | all) diff --git a/docs/commands/block.md b/docs/commands/block.md index 75590cc3a6..29acdf452c 100644 --- a/docs/commands/block.md +++ b/docs/commands/block.md @@ -159,6 +159,7 @@ scw block snapshot list [arg=value ...] | project-id | | Filter by Project ID | | volume-id | | Filter snapshots by the ID of the original volume | | name | | Filter snapshots by their names | +| tags.{index} | | Filter by tags. Only snapshots with one or more matching tags will be returned | | organization-id | | Filter by Organization ID | | zone | Default: `fr-par-1`
One of: `fr-par-1`, `fr-par-2`, `fr-par-3`, `nl-ams-1`, `nl-ams-2`, `nl-ams-3`, `pl-waw-1`, `pl-waw-2`, `pl-waw-3`, `all` | Zone to target. If none is passed will use default zone from the config | diff --git a/go.mod b/go.mod index 593576bfdb..352e24439f 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/mattn/go-isatty v0.0.20 github.com/moby/buildkit v0.13.2 github.com/opencontainers/go-digest v1.0.0 - github.com/scaleway/scaleway-sdk-go v1.0.0-beta.32.0.20250220095325-5f0d193bad95 + github.com/scaleway/scaleway-sdk-go v1.0.0-beta.32.0.20250221163117-f29ed0c43f0b github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 github.com/spf13/cobra v1.9.1 github.com/spf13/pflag v1.0.6 diff --git a/go.sum b/go.sum index c51d6194d7..5c98528aaf 100644 --- a/go.sum +++ b/go.sum @@ -458,8 +458,8 @@ github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUz github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.32.0.20250220095325-5f0d193bad95 h1:nxkDpup9Wj9wBLZGQF4uDYkjBsmGVfPjkhWb3i5rpyk= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.32.0.20250220095325-5f0d193bad95/go.mod h1:792k1RTU+5JeMXm35/e2Wgp71qPH/DmDoZrRc+EFZDk= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.32.0.20250221163117-f29ed0c43f0b h1:wH0oO5TxuNDylkJBIjB2Qm1puMkwpfHDnyEVVeJl/AM= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.32.0.20250221163117-f29ed0c43f0b/go.mod h1:792k1RTU+5JeMXm35/e2Wgp71qPH/DmDoZrRc+EFZDk= github.com/sclevine/spec v1.4.0 h1:z/Q9idDcay5m5irkZ28M7PtQM4aOISzOpj4bUPkDee8= github.com/sclevine/spec v1.4.0/go.mod h1:LvpgJaFyvQzRvc1kaDs0bulYwzC70PbiYjC4QnFHkOM= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= diff --git a/internal/namespaces/block/v1alpha1/block_cli.go b/internal/namespaces/block/v1alpha1/block_cli.go index dc52f06808..11989e1c7b 100644 --- a/internal/namespaces/block/v1alpha1/block_cli.go +++ b/internal/namespaces/block/v1alpha1/block_cli.go @@ -412,6 +412,13 @@ func blockSnapshotList() *core.Command { Deprecated: false, Positional: false, }, + { + Name: "tags.{index}", + Short: `Filter by tags. Only snapshots with one or more matching tags will be returned`, + Required: false, + Deprecated: false, + Positional: false, + }, { Name: "organization-id", Short: `Filter by Organization ID`, From 453a5cc82ec9e25ffb0964816b0520cfe421a4a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20L=C3=A9one?= Date: Tue, 25 Feb 2025 11:27:03 +0100 Subject: [PATCH 2/3] ci: add support for a manual purge (#4540) --- .github/workflows/purge.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/purge.yml diff --git a/.github/workflows/purge.yml b/.github/workflows/purge.yml new file mode 100644 index 0000000000..2fc0372cf9 --- /dev/null +++ b/.github/workflows/purge.yml @@ -0,0 +1,23 @@ +name: Manual Purge +on: + workflow_dispatch: + +jobs: + sweepers: + runs-on: ubuntu-latest + steps: + # Checkout should always be before setup-go to ensure caching is working + - name: Checkout + uses: actions/checkout@v4 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version: 1.24 + - name: Run Sweepers + run: go run -v ./cmd/scw-sweeper + env: + SCW_DEBUG: 1 + SCW_ACCESS_KEY: ${{ secrets.SCW_ACCESS_KEY }} + SCW_SECRET_KEY: ${{ secrets.SCW_SECRET_KEY }} + SCW_DEFAULT_ORGANIZATION_ID: ${{ secrets.SCW_DEFAULT_ORGANIZATION_ID }} + SCW_DEFAULT_PROJECT_ID: ${{ secrets.SCW_DEFAULT_PROJECT_ID }} From 8d67cdfcf47cb0c1a5da166762f11a171f253adf Mon Sep 17 00:00:00 2001 From: Scaleway Bot Date: Tue, 25 Feb 2025 14:18:40 +0100 Subject: [PATCH 3/3] chore(audit_trail): migrate iamx to iam (#4542) --- .../test-all-usage-audit-trail-event-list-usage.golden | 2 +- docs/commands/audit-trail.md | 2 +- go.mod | 2 +- go.sum | 4 ++-- internal/namespaces/audit_trail/v1alpha1/audit_trail_cli.go | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cmd/scw/testdata/test-all-usage-audit-trail-event-list-usage.golden b/cmd/scw/testdata/test-all-usage-audit-trail-event-list-usage.golden index 89e437e8d4..7f9f104b4f 100644 --- a/cmd/scw/testdata/test-all-usage-audit-trail-event-list-usage.golden +++ b/cmd/scw/testdata/test-all-usage-audit-trail-event-list-usage.golden @@ -7,7 +7,7 @@ USAGE: ARGS: [project-id] (Optional) ID of the Project containing the Audit Trail events - [resource-type] (Optional) Returns a paginated list of Scaleway resources' features (unknown_type | secm_secret | secm_secret_version | kube_cluster | kube_pool | kube_node | kube_acl | keym_key | iamx_user | iamx_application | iamx_group | iamx_policy | iamx_api_key | iamx_ssh_key) + [resource-type] (Optional) Returns a paginated list of Scaleway resources' features (unknown_type | secm_secret | secm_secret_version | kube_cluster | kube_pool | kube_node | kube_acl | keym_key | iam_user | iam_application | iam_group | iam_policy | iam_api_key | iam_ssh_key) [method-name] (Optional) Name of the method or the API call performed [status] (Optional) HTTP status code of the request. Returns either `200` if the request was successful or `403` if the permission was denied [recorded-after] (Optional) The `recorded_after` parameter defines the earliest timestamp from which Audit Trail events are retrieved. Returns `one hour ago` by default diff --git a/docs/commands/audit-trail.md b/docs/commands/audit-trail.md index fe959c1c2b..9fcfe54701 100644 --- a/docs/commands/audit-trail.md +++ b/docs/commands/audit-trail.md @@ -29,7 +29,7 @@ scw audit-trail event list [arg=value ...] | Name | | Description | |------|---|-------------| | project-id | | (Optional) ID of the Project containing the Audit Trail events | -| resource-type | One of: `unknown_type`, `secm_secret`, `secm_secret_version`, `kube_cluster`, `kube_pool`, `kube_node`, `kube_acl`, `keym_key`, `iamx_user`, `iamx_application`, `iamx_group`, `iamx_policy`, `iamx_api_key`, `iamx_ssh_key` | (Optional) Returns a paginated list of Scaleway resources' features | +| resource-type | One of: `unknown_type`, `secm_secret`, `secm_secret_version`, `kube_cluster`, `kube_pool`, `kube_node`, `kube_acl`, `keym_key`, `iam_user`, `iam_application`, `iam_group`, `iam_policy`, `iam_api_key`, `iam_ssh_key` | (Optional) Returns a paginated list of Scaleway resources' features | | method-name | | (Optional) Name of the method or the API call performed | | status | | (Optional) HTTP status code of the request. Returns either `200` if the request was successful or `403` if the permission was denied | | recorded-after | | (Optional) The `recorded_after` parameter defines the earliest timestamp from which Audit Trail events are retrieved. Returns `one hour ago` by default | diff --git a/go.mod b/go.mod index 352e24439f..79d616f1d9 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/mattn/go-isatty v0.0.20 github.com/moby/buildkit v0.13.2 github.com/opencontainers/go-digest v1.0.0 - github.com/scaleway/scaleway-sdk-go v1.0.0-beta.32.0.20250221163117-f29ed0c43f0b + github.com/scaleway/scaleway-sdk-go v1.0.0-beta.32.0.20250225092007-04e9c0ceddea github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 github.com/spf13/cobra v1.9.1 github.com/spf13/pflag v1.0.6 diff --git a/go.sum b/go.sum index 5c98528aaf..860670e4bf 100644 --- a/go.sum +++ b/go.sum @@ -458,8 +458,8 @@ github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUz github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.32.0.20250221163117-f29ed0c43f0b h1:wH0oO5TxuNDylkJBIjB2Qm1puMkwpfHDnyEVVeJl/AM= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.32.0.20250221163117-f29ed0c43f0b/go.mod h1:792k1RTU+5JeMXm35/e2Wgp71qPH/DmDoZrRc+EFZDk= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.32.0.20250225092007-04e9c0ceddea h1:4QAgjbHe9D9ka0Lw3fpZuFvZ09/CCPmaaFM9eSS7eeM= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.32.0.20250225092007-04e9c0ceddea/go.mod h1:792k1RTU+5JeMXm35/e2Wgp71qPH/DmDoZrRc+EFZDk= github.com/sclevine/spec v1.4.0 h1:z/Q9idDcay5m5irkZ28M7PtQM4aOISzOpj4bUPkDee8= github.com/sclevine/spec v1.4.0/go.mod h1:LvpgJaFyvQzRvc1kaDs0bulYwzC70PbiYjC4QnFHkOM= github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA= diff --git a/internal/namespaces/audit_trail/v1alpha1/audit_trail_cli.go b/internal/namespaces/audit_trail/v1alpha1/audit_trail_cli.go index 5cec7c15ca..a2ad5c0e36 100644 --- a/internal/namespaces/audit_trail/v1alpha1/audit_trail_cli.go +++ b/internal/namespaces/audit_trail/v1alpha1/audit_trail_cli.go @@ -75,7 +75,7 @@ func auditTrailEventList() *core.Command { Required: false, Deprecated: false, Positional: false, - EnumValues: []string{"unknown_type", "secm_secret", "secm_secret_version", "kube_cluster", "kube_pool", "kube_node", "kube_acl", "keym_key", "iamx_user", "iamx_application", "iamx_group", "iamx_policy", "iamx_api_key", "iamx_ssh_key"}, + EnumValues: []string{"unknown_type", "secm_secret", "secm_secret_version", "kube_cluster", "kube_pool", "kube_node", "kube_acl", "keym_key", "iam_user", "iam_application", "iam_group", "iam_policy", "iam_api_key", "iam_ssh_key"}, }, { Name: "method-name",