Skip to content

Commit b3d17ce

Browse files
committed
first commit
0 parents  commit b3d17ce

File tree

102 files changed

+24768
-0
lines changed

Some content is hidden

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

102 files changed

+24768
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: Bug report
3+
about: Report a bug in the cloud-provider-stackit
4+
title: ""
5+
labels: bug
6+
assignees: ""
7+
---
8+
9+
## Description
10+
11+
_Please add a clear and concise description of what the bug is._
12+
13+
## Steps to reproduce
14+
15+
_Please provide us with the steps to reproduce the behavior._
16+
17+
1. Run ...
18+
2. ...
19+
20+
## Actual behavior
21+
22+
_Please describe the current behavior of the cloud-provider-stackit. Don't forget to add detailed information like error messages._
23+
24+
## Expected behavior
25+
26+
_Please describe the behavior which you would expect from the cloud-provider-stackit in that case._
27+
28+
## Environment
29+
30+
- Kubernetes version:
31+
- Version of the cloud-provider-stackit:
32+
33+
**Additional information**
34+
35+
_Feel free to add any additional information here._
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for the cloud-provider-stackit
4+
title: ""
5+
labels: enhancement
6+
assignees: ""
7+
---
8+
9+
## Problem description
10+
11+
_Is your feature request related to a problem? If so, please give us a clear and concise description of what the problem is._
12+
13+
## Proposed solution
14+
15+
_A clear and concise description of what you want to happen._
16+
17+
## Alternative solutions (optional)
18+
19+
_A clear and concise description of any alternative solutions or features you've considered. (optional)_
20+
21+
## Additional information
22+
23+
_Feel free to add any additional information here._

.github/pull_request_template.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
**How to categorize this PR?**
2+
3+
<!--
4+
Please select the kind of this pull request, e.g.:
5+
/kind enhancement
6+
7+
Tide will not merge your PR, if it is missing a `kind/*` label.
8+
"/kind" identifiers: api-change|bug|cleanup|discussion|enhancement|epic|impediment|poc|post-mortem|question|regression|task|technical-debt|test
9+
-->
10+
11+
**What this PR does / why we need it**:
12+
13+
**Related work items**:
14+
15+
**Special notes for your reviewer**:
16+
17+
**Breaking changes**:
18+
19+
<!--
20+
If your PR contains breaking changes, list the changes in detail here.
21+
This could be:
22+
- removing a documented feature, that we need to announce properly
23+
- a change of the configuration, that needs to be adopted in the provider-stackit
24+
25+
Additionally, add the breaking label for the release note generation via:
26+
/label breaking
27+
-->

.github/release.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
changelog:
2+
exclude:
3+
labels:
4+
- no-release-note
5+
categories:
6+
- title: ⚠️ Breaking Changes
7+
labels:
8+
- breaking
9+
- title: ✨ Features
10+
labels:
11+
- kind/enhancement
12+
- title: 🐛 Bug Fixes
13+
labels:
14+
- kind/bug
15+
- title: ℹ️ Other Changes
16+
labels:
17+
- "*"

.github/renovate.json5

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
{
2+
$schema: "https://docs.renovatebot.com/renovate-schema.json",
3+
extends: [
4+
"config:recommended",
5+
"github>stackitcloud/ske-ci-infra//config/renovate/ske.json5",
6+
],
7+
additionalReviewers: [
8+
"hown3d",
9+
"rgroemmer"
10+
],
11+
"baseBranchPatterns": [
12+
"main",
13+
"release-v1.33",
14+
"release-v1.32",
15+
"release-v1.31"
16+
],
17+
"packageRules": [
18+
{
19+
"matchPackagePatterns": [
20+
"k8s.io/*"
21+
],
22+
"matchBaseBranches": [
23+
"main",
24+
]
25+
},
26+
{
27+
"matchPackagePatterns": [
28+
"k8s.io/*"
29+
],
30+
"matchUpdateTypes": [
31+
"patch"
32+
],
33+
"matchCurrentVersion": "^0.33\\.\\d+$",
34+
"matchBaseBranches": [
35+
"release-v1.33",
36+
]
37+
},
38+
{
39+
"matchPackagePatterns": [
40+
"k8s.io/*"
41+
],
42+
"matchUpdateTypes": [
43+
"patch"
44+
],
45+
"matchCurrentVersion": "^0.32\\.\\d+$",
46+
"matchBaseBranches": [
47+
"release-v1.32",
48+
]
49+
},
50+
{
51+
"matchPackagePatterns": [
52+
"k8s.io/*"
53+
],
54+
"matchUpdateTypes": [
55+
"patch"
56+
],
57+
"matchCurrentVersion": "^0.31\\.\\d+$",
58+
"matchBaseBranches": [
59+
"release-v1.31",
60+
]
61+
},
62+
]
63+
}

.gitignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
.vscode
2+
.idea
3+
/dev
4+
/secrets
5+
/hack/tools/bin
6+
cover.out
7+
cover.html
8+
.envrc
9+
10+
# test binaries and reports
11+
*.test
12+
junit.xml
13+
14+
# files related to ondemand plugin
15+
quotas*
16+
hmac
17+
18+
cloud-config.yaml
19+
__debug_*

.golangci.yaml

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
version: "2"
2+
run:
3+
issues-exit-code: 1
4+
tests: true
5+
linters:
6+
default: none
7+
enable:
8+
- bodyclose
9+
- copyloopvar
10+
- dogsled
11+
- dupl
12+
- exhaustive
13+
- funlen
14+
- ginkgolinter
15+
- goconst
16+
- gocritic
17+
- gocyclo
18+
- goprintffuncname
19+
- govet
20+
- importas
21+
- ineffassign
22+
- misspell
23+
- nakedret
24+
- noctx
25+
- nolintlint
26+
- prealloc
27+
- revive
28+
- rowserrcheck
29+
- staticcheck
30+
- unconvert
31+
- unparam
32+
- unused
33+
- whitespace
34+
settings:
35+
dupl:
36+
threshold: 100
37+
exhaustive:
38+
default-signifies-exhaustive: true
39+
funlen:
40+
lines: 100
41+
statements: 50
42+
goconst:
43+
min-len: 2
44+
min-occurrences: 5
45+
gocritic:
46+
disabled-checks:
47+
- dupImport
48+
- ifElseChain
49+
- octalLiteral
50+
- whyNoLint
51+
- wrapperFunc
52+
- sprintfQuotedString
53+
enabled-tags:
54+
- diagnostic
55+
- experimental
56+
- opinionated
57+
- performance
58+
- style
59+
gocyclo:
60+
min-complexity: 15
61+
importas:
62+
alias:
63+
# kubernetes packages
64+
- pkg: k8s.io/api/(\w+)/(v[\w\d]+)
65+
alias: $1$2
66+
- pkg: k8s.io/apimachinery/pkg/apis/(\w+)/(v[\w\d]+)
67+
alias: $1$2
68+
- pkg: k8s.io/apiextensions-apiserver/pkg/apis/(\w+)/(v[\w\d]+)
69+
alias: $1$2
70+
- pkg: k8s.io/apimachinery/pkg/api/([^m]\w+)
71+
alias: api${1}
72+
- pkg: k8s.io/apimachinery/pkg/api/meta/table
73+
alias: metatable
74+
- pkg: k8s.io/apimachinery/pkg/util/(\w+)
75+
alias: util${1}
76+
- pkg: k8s.io/client-go/tools/clientcmd/api/(\w+)
77+
alias: clientcmd${1}
78+
- pkg: sigs.k8s.io/controller-runtime/pkg/client/fake
79+
alias: fakeclient
80+
- pkg: sigs.k8s.io/controller-runtime/pkg/log/zap
81+
alias: logzap
82+
- pkg: sigs.k8s.io/controller-runtime/pkg/log
83+
alias: logf
84+
lll:
85+
line-length: 165
86+
misspell:
87+
locale: US
88+
nolintlint:
89+
allow-unused: false # report any unused nolint directives
90+
require-explanation: true # require an explanation for nolint directives
91+
require-specific: true # require nolint directives to be specific about which linter is being skipped
92+
revive:
93+
confidence: 0
94+
exclusions:
95+
generated: lax
96+
presets:
97+
- comments
98+
- common-false-positives
99+
- legacy
100+
- std-error-handling
101+
rules:
102+
- linters:
103+
- goconst
104+
- noctx
105+
- dupl
106+
path: _test\.go
107+
- linters:
108+
- gocritic
109+
text: uncheckedInlineErr:.+client.Ignore(NotFound|AlreadyExists)
110+
- linters:
111+
- nolintlint
112+
text: should be written without leading space as `//nolint # don't require machine-readable nolint directives (i.e. with no leading space)
113+
- linters:
114+
- revive
115+
- staticcheck
116+
text: should not use dot imports
117+
- linters:
118+
- revive
119+
text: 'var-naming: avoid meaningless package names'
120+
path: 'pkg/csi/util/*'
121+
paths:
122+
- third_party$
123+
- builtin$
124+
- examples$
125+
- pkg/imagesync/third_party/.*
126+
formatters:
127+
enable:
128+
- goimports
129+
exclusions:
130+
generated: lax
131+
paths:
132+
- third_party$
133+
- builtin$
134+
- examples$

.ko.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
builds:
2+
- id: stackit-csi-plugin
3+
main: ./cmd/stackit-csi-plugin
4+
ldflags:
5+
- -s -w
6+
- -X github.com/stackitcloud/cloud-provider-stackit/pkg/version.Version={{.Env.VERSION}}
7+

.markdownlint.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
default: True
3+
MD013: False
4+
MD036: False

CONTRIBUTING.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Contributing to `cloud-provider-stackit`
2+
3+
Welcome and thank you for making it this far and considering contributing to `cloud-provider-stackit`.
4+
We always appreciate any contributions by raising issues, improving the documentation, fixing bugs or adding new features.
5+
6+
Before opening a PR, please read through this document.
7+
8+
## Process of making an addition
9+
10+
For major changes, API changes or features please open a [Discussion](https://github.com/stackitcloud/cloud-provider-stackit/discussions) or [Issue](https://github.com/stackitcloud/cloud-provider-stackit/issues) beforehand to clarify if this is in line with the project and to avoid unnecessary work.
11+
12+
> Use **Discussions** if it needs to be clarified how to implement or to check if this feature is in line with the project. After all clarifications an issue will be created with the details of the implementation.
13+
>
14+
> Use **Issues** if you have a clear plan how to implement to propose how you would do the change.
15+
16+
17+
To contribute any code to this repository, just do the following:
18+
19+
1. Make sure you have Go's latest version installed
20+
2. Fork this repository
21+
3. Make your changes
22+
> Please follow the [seven rules of great Git commit messages](https://chris.beams.io/posts/git-commit/#seven-rules)
23+
> and make sure to keep your commits clean and atomic.
24+
> Your PR won't be squashed before merging so the commits should tell a story.
25+
>
26+
> Add documentation and tests for your addition if needed.
27+
4. Run `make verify` to ensure your code is ready to be merged
28+
> If any linting issues occur please fix them.
29+
> Using a nolint directive should only be used as a last resort.
30+
5. Open a PR and make sure the CI pipelines succeeds.
31+
6. Wait for one of the maintainers to review your code and react to the comments.
32+
7. After approval the maintainers will merge the PR.
33+
8. Thank you for your contribution! :)

0 commit comments

Comments
 (0)