Skip to content

Commit 35acc27

Browse files
Merge branch 'main' into fix/add_missing_temp_error_code
2 parents 96b5e2a + 0211120 commit 35acc27

331 files changed

Lines changed: 2477 additions & 921 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/labeler.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# access
2+
"domain:Access":
3+
- changed-files:
4+
- any-glob-to-any-file:
5+
- "services/alb/*"
6+
- "services/albwaf/*"
7+
- "services/cdn/*"
8+
- "services/loadbalancer/*"
9+
- "services/vpn/*"
10+
# runtimes
11+
"domain:Runtimes":
12+
- changed-files:
13+
- any-glob-to-any-file:
14+
- "services/ske/*"
15+
# support
16+
# no support domain sdk modules available yet
17+
# central services
18+
"domain:CentralServices":
19+
- changed-files:
20+
- any-glob-to-any-file:
21+
- "services/dns/*"
22+
- "services/git/*"
23+
- "services/intake/*"
24+
- "services/kms/*"
25+
- "services/kms/*"
26+
- "services/logs/*"
27+
- "services/modelserving/*"
28+
- "services/observability/*"
29+
- "services/rabbitmq/*"
30+
- "services/redis/*"
31+
- "services/secretsmanager/*"
32+
# databases
33+
"domain:Databases":
34+
- changed-files:
35+
- any-glob-to-any-file:
36+
- "services/mongodbflex/*"
37+
- "services/mariadb/*"
38+
- "services/sqlserverflex/*"
39+
- "services/postgresflex/*"
40+
# IaaS
41+
"domain:IaaS":
42+
- changed-files:
43+
- any-glob-to-any-file:
44+
- "services/iaas/*"
45+
- "services/objectstorage/*"
46+
- "services/runcommand/*"
47+
- "services/serverbackup/*"
48+
- "services/serverupdate/*"
49+
- "services/sfs/*"
50+
# core platform
51+
"domain:CorePlatform":
52+
- changed-files:
53+
- any-glob-to-any-file:
54+
- "services/auditlog/*"
55+
- "services/authorization/*"
56+
- "services/resourcemanager/*"
57+
- "services/serviceaccount/*"
58+
- "services/serviceenablement/*"

.github/workflows/ci.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
strategy:
99
matrix:
1010
os: [ubuntu-latest, macos-latest]
11-
go-version: ["1.21", "1.22", "1.23", "1.24", "1.25"]
11+
go-version: ["1.25", "1.26"]
1212
runs-on: ${{ matrix.os }}
1313
steps:
1414
- name: Checkout
@@ -32,7 +32,7 @@ jobs:
3232
- name: Install Go
3333
uses: actions/setup-go@v5
3434
with:
35-
go-version: 1.21
35+
go-version: 1.25
3636
- name: Install project tools and dependencies
3737
run: make project-tools
3838
- name: Lint

.github/workflows/labeler.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: "Labeler"
2+
on:
3+
pull_request:
4+
types: [opened, synchronize]
5+
workflow_dispatch:
6+
7+
jobs:
8+
labeler:
9+
permissions:
10+
contents: read
11+
pull-requests: write
12+
issues: write
13+
name: "Labeler"
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Labeler action
17+
uses: actions/labeler@v6
18+
with:
19+
sync-labels: false

CHANGELOG.md

Lines changed: 349 additions & 3 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ The usage of the SDK is shown in some [examples](https://github.com/stackitcloud
1515

1616
## Getting started
1717

18-
Requires `Go 1.21` or higher.
18+
Requires `Go 1.25` or higher.
1919

2020
To download the `core` module:
2121

@@ -269,4 +269,4 @@ See the [release documentation](./RELEASE.md) for further information.
269269

270270
## License
271271

272-
Apache 2.0
272+
Apache 2.0

core/CHANGELOG.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
1-
## v0.24.0
1+
## v0.26.0
22
- **Feature:** Add `SetRetryHttpErrorStatusCodes` to waiter to be able to configure the errors to retry on
33
- **New:** add missing StatusServiceUnavailable to list of retry codes
44

5+
## v0.25.0
6+
- Minimal go version is now Go 1.25
7+
8+
## v0.24.1
9+
- **Improvement:** Fix misleading error messages in authentication setup and credentials parsing.
10+
11+
## v0.24.0
12+
- **Bugfix:** Allow setting waiter timeouts via context, that are longer than the default timeout.
13+
514
## v0.23.0
615
- **New:** Add new `WaiterHelper` struct, which creates an `AsyncActionCheck` function based on the configuration
716

core/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v0.24.0
1+
v0.26.0

core/auth/auth.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func SetupAuth(cfg *config.Configuration) (rt http.RoundTripper, err error) {
5454
} else if cfg.WorkloadIdentityFederation {
5555
wifRoundTripper, err := WorkloadIdentityFederationAuth(cfg)
5656
if err != nil {
57-
return nil, fmt.Errorf("configuring no auth client: %w", err)
57+
return nil, fmt.Errorf("configuring workload identity federation client: %w", err)
5858
}
5959
return wifRoundTripper, nil
6060
} else if cfg.ServiceAccountKey != "" || cfg.ServiceAccountKeyPath != "" {
@@ -278,7 +278,7 @@ func readCredentialsFile(path string) (*Credentials, error) {
278278
var credentials Credentials
279279
err = json.Unmarshal(credentialsRaw, &credentials)
280280
if err != nil {
281-
return nil, fmt.Errorf("unmaPrivateKeyrshalling credentials: %w", err)
281+
return nil, fmt.Errorf("unmarshalling credentials: %w", err)
282282
}
283283
return &credentials, nil
284284
}

core/auth/auth_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515

1616
"github.com/golang-jwt/jwt/v5"
1717
"github.com/google/uuid"
18+
1819
"github.com/stackitcloud/stackit-sdk-go/core/clients"
1920
"github.com/stackitcloud/stackit-sdk-go/core/config"
2021
)
@@ -367,6 +368,18 @@ func TestReadCredentials(t *testing.T) {
367368
}
368369
}
369370

371+
func TestReadCredentialsFileErrorMessage(t *testing.T) {
372+
setTemporaryHome(t)
373+
374+
_, err := readCredentialsFile("test_resources/test_invalid_structure.json")
375+
if err == nil {
376+
t.Fatalf("error expected")
377+
}
378+
if !strings.Contains(err.Error(), "unmarshalling credentials") {
379+
t.Fatalf("expected unmarshalling credentials error, got %s", err)
380+
}
381+
}
382+
370383
func TestDefaultAuth(t *testing.T) {
371384
privateKey, err := generatePrivateKey()
372385
if err != nil {
@@ -768,6 +781,23 @@ func TestKeyAuthPemInsteadOfJsonKeyErrorHandling(t *testing.T) {
768781
}
769782
}
770783

784+
func TestSetupAuthWorkloadIdentityErrorMessage(t *testing.T) {
785+
setTemporaryHome(t)
786+
t.Setenv("STACKIT_SERVICE_ACCOUNT_EMAIL", "")
787+
t.Setenv("STACKIT_FEDERATED_TOKEN_FILE", "")
788+
789+
_, err := SetupAuth(&config.Configuration{WorkloadIdentityFederation: true})
790+
if err == nil {
791+
t.Fatalf("error expected")
792+
}
793+
if !strings.Contains(err.Error(), "configuring workload identity federation client") {
794+
t.Fatalf("expected workload identity federation error, got %s", err)
795+
}
796+
if strings.Contains(err.Error(), "configuring no auth client") {
797+
t.Fatalf("unexpected no auth error message: %s", err)
798+
}
799+
}
800+
771801
func TestNoAuth(t *testing.T) {
772802
for _, test := range []struct {
773803
desc string

core/clients/auth_flow.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"time"
1010

1111
"github.com/golang-jwt/jwt/v5"
12+
1213
"github.com/stackitcloud/stackit-sdk-go/core/oapierror"
1314
)
1415

0 commit comments

Comments
 (0)