Skip to content

Commit 51716fd

Browse files
Merge branch 'main' into oas-bot-26755063837/iaas
2 parents 4940e50 + 37793bc commit 51716fd

219 files changed

Lines changed: 762 additions & 483 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.

CHANGELOG.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@
7676
- **Feature:** Added `_UNKNOWN_DEFAULT_OPEN_API` fallback value to all enums to handle unknown API values gracefully.
7777
- [v1.17.0](services/cdn/CHANGELOG.md#v1170)
7878
- **Feature:** Introduce enums for various attributes
79+
- [v1.18.0](services/cdn/CHANGELOG.md#v1180)
80+
- `v1beta2api`: v1beta2api was deprecated please migrate to `v1api`
7981
- `certificates`:
8082
- [v1.5.2](services/certificates/CHANGELOG.md#v152)
8183
- **Dependencies:** Bump STACKIT SDK core module from `v0.24.0` to `v0.24.1`
@@ -546,7 +548,11 @@
546548
- [v1.11.0](services/sqlserverflex/CHANGELOG.md#v1110)
547549
- `v3beta1api`: **Feature:** Added `labels` to `CreateInstanceRequestPayload`, `GetInstanceReponse`, `UpdateInstancePartiallyRequestPayload`, `UpdateInstanceRequestPayload`
548550
- [v1.12.0](services/sqlserverflex/CHANGELOG.md#v1120)
549-
- **Feature:** Introduce enums for various attributes
551+
- **Feature:** Introduce enums for various attributes
552+
- [v1.13.0](services/sqlserverflex/CHANGELOG.md#v1130)
553+
- `v2api`:
554+
- **Improvement**: Use new `WaiterHelper` struct in the SQLServer Flex WaitHandler
555+
- **Breaking change:** Change return type of `wait.DeleteInstanceWaitHandler()` to `*wait.AsyncActionHandler[sqlserverflex.GetInstanceResponse]`
550556
- `stackitmarketplace`:
551557
- [v1.17.5](services/stackitmarketplace/CHANGELOG.md#v1175)
552558
- **Dependencies:** Bump STACKIT SDK core module from `v0.24.0` to `v0.24.1`
@@ -612,6 +618,12 @@
612618
- **Breaking change:** `LocalAsn` is now marked as required (aligned with api) and no longer a pointer
613619
- `v1beta1api`: Align package to latest API specification
614620
- `v1alpha1api`: Align package to latest API specification
621+
- [v0.14.0](services/vpn/CHANGELOG.md#v0140)
622+
- `v1api`:
623+
- **Feature:** Add `ErrorMessage` field to `GatewayStatusResponse`
624+
- **Improvement:** Add description that `RoutingType` can only be set at the creation
625+
- `v1beta1api`: Align package to latest API specification
626+
- `v1alpha1api`: Align package to latest API specification
615627

616628
## Release (2026-04-07)
617629
- `alb`: [v0.13.1](services/alb/CHANGELOG.md#v0131)

core/clients/key_flow.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ func (c *KeyFlow) SetToken(accessToken, refreshToken string) error {
183183
c.tokenMutex.Lock()
184184
c.token = &TokenResponseBody{
185185
AccessToken: accessToken,
186-
ExpiresIn: int(exp.Time.Unix()),
186+
ExpiresIn: int(exp.Unix()),
187187
RefreshToken: refreshToken,
188188
Scope: defaultScope,
189189
TokenType: defaultTokenType,
@@ -334,6 +334,7 @@ func (c *KeyFlow) createAccessToken() (err error) {
334334

335335
// createAccessTokenWithRefreshToken creates an access token using
336336
// an existing pre-validated refresh token
337+
//
337338
// Deprecated: This method will be removed in future versions. Access tokens are going to be refreshed without refresh token.
338339
// This will be removed after 2026-07-01.
339340
func (c *KeyFlow) createAccessTokenWithRefreshToken() (err error) {

core/clients/key_flow_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ func TestKeyFlowInit(t *testing.T) {
104104
invalidPrivateKey: true,
105105
wantErr: true,
106106
},
107+
//nolint:gosec // G101: These are only test values
107108
{
108109
name: "ok-custom-token-endpoint",
109110
serviceAccountKey: fixtureServiceAccountKey(func(s *ServiceAccountKeyResponse) {

core/clients/workload_identity_flow_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ func TestWorkloadIdentityFlowRoundTrip(t *testing.T) {
181181
for _, tt := range tests {
182182
t.Run(tt.name, func(t *testing.T) {
183183
authServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
184-
err := r.ParseForm()
184+
err := r.ParseForm() //nolint:gosec // G120: Safe to bypass inside unit tests
185185
if err != nil {
186186
t.Fatalf("failed to parse form: %v", err)
187187
}

core/config/config.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -430,9 +430,9 @@ func (sc ServerConfigurations) URL(index int, variables map[string]string) (stri
430430
if !found {
431431
return "", fmt.Errorf("the variable %s in the server URL has invalid value %v. Must be %v", name, value, variable.EnumValues)
432432
}
433-
serverUrl = strings.Replace(serverUrl, "{"+name+"}", value, -1)
433+
serverUrl = strings.ReplaceAll(serverUrl, "{"+name+"}", value)
434434
} else {
435-
serverUrl = strings.Replace(serverUrl, "{"+name+"}", variable.DefaultValue, -1)
435+
serverUrl = strings.ReplaceAll(serverUrl, "{"+name+"}", variable.DefaultValue)
436436
}
437437
}
438438
return serverUrl, nil
@@ -554,7 +554,7 @@ func ConfigureRegion(cfg *Configuration) error {
554554
}
555555
// API is regional (not global)
556556
if containsCaseSensitive(availableRegions, cfg.Region) {
557-
cfgUrl := strings.Replace(servers[0].URL, "{region}", fmt.Sprintf("%s.", cfg.Region), -1)
557+
cfgUrl := strings.ReplaceAll(servers[0].URL, "{region}", fmt.Sprintf("%s.", cfg.Region))
558558
cfg.Servers = ServerConfigurations{
559559
{
560560
URL: cfgUrl,
@@ -574,7 +574,7 @@ func ConfigureRegion(cfg *Configuration) error {
574574
}
575575
// If the url is a template, generated using deprecated config.json, the region variable is replaced
576576
// If the url is already configured, there is no region variable and it remains the same
577-
cfgUrl := strings.Replace(servers[0].URL, "{region}", "", -1)
577+
cfgUrl := strings.ReplaceAll(servers[0].URL, "{region}", "")
578578
cfg.Servers = ServerConfigurations{
579579
{
580580
URL: cfgUrl,

golang-ci.yaml

Lines changed: 74 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,95 @@
11
# This file contains all available configuration options
22
# with their default values.
33

4+
version: "2"
5+
46
# options for analysis running
57
run:
68
# default concurrency is a available CPU number
79
concurrency: 4
8-
9-
# timeout for analysis, e.g. 30s, 5m, default is 1m
10-
timeout: 5m
11-
linters-settings:
12-
goimports:
13-
# put imports beginning with prefix after 3rd-party packages;
14-
# it's a comma-separated list of prefixes
15-
local-prefixes: github.com/stackitcloud/stackit-sdk-go
16-
depguard:
17-
rules:
18-
main:
19-
list-mode: lax # Everything is allowed unless it is denied
20-
deny:
21-
- pkg: "github.com/stretchr/testify"
22-
desc: Do not use a testing framework
23-
misspell:
24-
# Correct spellings using locale preferences for US or UK.
25-
# Default is to use a neutral variety of English.
26-
# Setting locale to US will correct the British spelling of 'colour' to 'color'.
27-
locale: US
28-
golint:
29-
min-confidence: 0.8
30-
gosec:
31-
excludes:
32-
# Suppressions: (see https://github.com/securego/gosec#available-rules for details)
33-
- G104 # "Audit errors not checked" -> which we don't need and is a badly implemented version of errcheck
34-
- G102 # "Bind to all interfaces" -> since this is normal in k8s
35-
- G304 # "File path provided as taint input" -> too many false positives
36-
- G307 # "Deferring unsafe method "Close" on type "io.ReadCloser" -> false positive when calling defer resp.Body.Close()
37-
nakedret:
38-
max-func-lines: 0
39-
revive:
40-
ignore-generated-header: true
41-
severity: error
42-
# https://github.com/mgechev/revive
43-
rules:
44-
- name: errorf
45-
- name: context-as-argument
46-
- name: error-return
47-
- name: increment-decrement
48-
- name: indent-error-flow
49-
- name: superfluous-else
50-
- name: unused-parameter
51-
- name: unreachable-code
52-
- name: atomic
53-
- name: empty-lines
54-
- name: early-return
55-
gocritic:
56-
enabled-tags:
57-
- performance
58-
- style
59-
- experimental
60-
disabled-checks:
61-
- wrapperFunc
62-
- typeDefFirst
63-
- ifElseChain
64-
- dupImport # https://github.com/go-critic/go-critic/issues/845
6510
linters:
6611
enable:
67-
# https://golangci-lint.run/usage/linters/
68-
# default linters
69-
- gosimple
70-
- govet
71-
- ineffassign
72-
- staticcheck
73-
- typecheck
74-
- unused
75-
# additional linters
12+
- bodyclose
13+
- depguard
7614
- errorlint
15+
- forcetypeassert
7716
- gochecknoinits
7817
- gocritic
79-
- gofmt
80-
- goimports
8118
- gosec
8219
- misspell
8320
- nakedret
8421
- revive
85-
- depguard
86-
- bodyclose
8722
- sqlclosecheck
8823
- wastedassign
89-
- forcetypeassert
90-
- errcheck
9124
disable:
9225
- noctx # false positive: finds errors with http.NewRequest that dont make sense
9326
- unparam # false positives
94-
issues:
95-
exclude-use-default: false
96-
exclude-rules:
97-
# This ignores all deprecation warnings in the old wait packages while we have the compatibilty layer in place
98-
- path: ^wait/[^/]+\.go$
99-
linters:
100-
- staticcheck
101-
text: "SA1019:"
102-
go: 1.25
27+
settings:
28+
depguard:
29+
rules:
30+
main:
31+
list-mode: lax # Everything is allowed unless it is denied
32+
deny:
33+
- pkg: github.com/stretchr/testify
34+
desc: Do not use a testing framework
35+
gocritic:
36+
disabled-checks:
37+
- wrapperFunc
38+
- typeDefFirst
39+
- ifElseChain
40+
- dupImport # https://github.com/go-critic/go-critic/issues/845
41+
enabled-tags:
42+
- performance
43+
- style
44+
- experimental
45+
gosec:
46+
excludes:
47+
# Suppressions: (see https://github.com/securego/gosec#available-rules for details)
48+
- G104 # "Audit errors not checked" -> which we don't need and is a badly implemented version of errcheck
49+
- G102 # "Bind to all interfaces" -> since this is normal in k8s
50+
- G304 # "File path provided as taint input" -> too many false positives
51+
- G307 # "Deferring unsafe method "Close" on type "io.ReadCloser" -> false positive when calling defer resp.Body.Close()
52+
- G117 # "Marshaled struct field xxx (JSON key xxx) matches secret pattern" -> too many false positives, no true positives expected in our code
53+
- G704 # "SSRF via taint analysis" -> too many false positives
54+
misspell:
55+
# Correct spellings using locale preferences for US or UK.
56+
# Default is to use a neutral variety of English.
57+
# Setting locale to US will correct the British spelling of 'colour' to 'color'.
58+
locale: US
59+
nakedret:
60+
max-func-lines: 0
61+
revive:
62+
severity: error
63+
# https://github.com/mgechev/revive
64+
rules:
65+
- name: errorf
66+
- name: context-as-argument
67+
- name: error-return
68+
- name: increment-decrement
69+
- name: indent-error-flow
70+
- name: superfluous-else
71+
- name: unused-parameter
72+
- name: unreachable-code
73+
- name: atomic
74+
- name: empty-lines
75+
- name: early-return
76+
exclusions:
77+
generated: lax
78+
rules:
79+
- linters:
80+
- staticcheck
81+
# This ignores all deprecation warnings in the old wait packages while we have the compatibilty layer in place
82+
path: wait/[^/]+\.go$
83+
text: "SA1019:"
84+
formatters:
85+
enable:
86+
- gofmt
87+
- goimports
88+
settings:
89+
goimports:
90+
# put imports beginning with prefix after 3rd-party packages;
91+
# it's a comma-separated list of prefixes
92+
local-prefixes:
93+
- github.com/stackitcloud/stackit-sdk-go
94+
exclusions:
95+
generated: lax

scripts/project.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ elif [ "$action" = "tools" ]; then
1616

1717
go mod download
1818

19-
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.62.0
19+
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.12.2
2020
else
2121
echo "Invalid action: '$action', please use $0 help for help"
2222
fi

services/albwaf/LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright [yyyy] [name of copyright owner]
189+
Copyright 2026 Schwarz IT KG
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

services/cdn/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## v1.18.0
2+
- `v1beta2api`: v1beta2api was deprecated please migrate to `v1api`
3+
14
## v1.17.0
25
- **Feature:** Introduce enums for various attributes
36

services/cdn/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v1.17.0
1+
v1.18.0

0 commit comments

Comments
 (0)