Skip to content

Commit

Permalink
Merge pull request #433 from alexander-demichev/rebase-upstream-latest
Browse files Browse the repository at this point in the history
Rebase upstream latest
  • Loading branch information
openshift-merge-robot authored Feb 1, 2022
2 parents 15fd7cc + 13b2210 commit 469e15b
Show file tree
Hide file tree
Showing 7,743 changed files with 1,096,097 additions and 298,272 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion .ci-operator.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
build_root_image:
name: release
namespace: openshift
tag: rhel-8-release-golang-1.17-openshift-4.10
tag: rhel-8-release-golang-1.17-openshift-4.11
25 changes: 25 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
.git
.github
.vscode
config/
hack/
docs/
templates/
scripts/
**/.md
tilt-provider.json
test/
_artifacts
.tiltbuild
Makefile
*.md
.gitignore
.golangci.yml
cloudbuild.yaml
clusterctl-settings.json
*.example
OWNERS
OWNERS_ALIASES
PROJECT
SECURITY_CONTACTS
tilt_provider.json
54 changes: 42 additions & 12 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,56 @@
*.dll
*.so
*.dylib
bin

# Test binary, build with `go test -c`
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out

### Terraform ###
# Local .terraform directories
**/.terraform/*
# Ansible
*.retry

# .tfstate files
*.tfstate
*.tfstate.*
# vim
*~
*.swp

# Terraform plan file
*.tfplan.*
# envfiles
.env
envfile
.envrc

# Auto-generated manifests
tfManifests/
# kubeconfigs
kind.kubeconfig
minikube.kubeconfig
kubeconfig

bin/
.gobincache/
# Example and binary output directory
/out

# build
.build

# vscode
.vscode

# goland
.idea

# Ignore output manifests
config/samples
manager_image_patch.yaml-e
manager_pull_policy.yaml-e

# junit files
junit.*.xml

.DS_Store

.tiltbuild

# test results
_artifacts
awsiamconfiguration.yaml
cloudformation.yaml
235 changes: 235 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
linters:
disable-all: true
enable:
- asciicheck
- bodyclose
- deadcode
- depguard
- dogsled
- errcheck
- exportloopref
- goconst
- gocritic
- gocyclo
- godot
- gofmt
- goheader
- goimports
- goprintffuncname
- gosec
- gosimple
- govet
- ifshort
- importas
- ineffassign
- misspell
- nakedret
- nilerr
- noctx
- nolintlint
- prealloc
- revive
- rowserrcheck
- staticcheck
- structcheck
- stylecheck
- typecheck
- unconvert
- unparam
- varcheck
- whitespace

linters-settings:
# Restrict revive to exported.
revive:
# see https://github.com/mgechev/revive#available-rules for details.
ignore-generated-header: true
severity: warning
rules:
- name: exported
severity: warning
ifshort:
# Maximum length of variable declaration measured in number of characters, after which linter won't suggest using short syntax.
max-decl-chars: 50
importas:
no-unaliased: false
alias:
- pkg: k8s.io/api/core/v1
alias: corev1
- pkg: k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
alias: apiextensionsv1
- pkg: k8s.io/apimachinery/pkg/apis/meta/v1
alias: metav1
- pkg: k8s.io/apimachinery/pkg/api/errors
alias: apierrors
- pkg: k8s.io/apimachinery/pkg/util/errors
alias: kerrors
- pkg: sigs.k8s.io/controller-runtime/pkg/conversion
alias: ctrlconversion
- pkg: sigs.k8s.io/cluster-api/util/conversion
alias: utilconversion
- pkg: k8s.io/apimachinery/pkg/conversion
alias: apiconversion
- pkg: sigs.k8s.io/cluster-api-provider-aws/api/v1beta1
alias: infrav1
- pkg: sigs.k8s.io/cluster-api-provider-aws/exp/api/v1alpha3
alias: expinfrav1alpha3
- pkg: sigs.k8s.io/cluster-api-provider-aws/exp/api/v1alpha4
alias: expinfrav1alpha4
- pkg: sigs.k8s.io/cluster-api-provider-aws/exp/api/v1beta1
alias: expinfrav1
- pkg: sigs.k8s.io/cluster-api-provider-aws/api/v1alpha4
alias: infrav1alpha4
- pkg: sigs.k8s.io/cluster-api-provider-aws/api/v1alpha3
alias: infrav1alpha3
- pkg: k8s.io/client-go/kubernetes/scheme
alias: cgscheme
- pkg: k8s.io/client-go/tools/record
alias: cgrecord
- pkg: sigs.k8s.io/cluster-api-provider-aws/bootstrap/eks/api/v1alpha3
alias: eksbootstrapv1alpha3
- pkg: sigs.k8s.io/cluster-api-provider-aws/bootstrap/eks/api/v1alpha4
alias: eksbootstrapv1alpha4
- pkg: sigs.k8s.io/cluster-api-provider-aws/bootstrap/eks/api/v1beta1
alias: eksbootstrapv1
- pkg: sigs.k8s.io/cluster-api-provider-aws/controlplane/eks/api/v1alpha3
alias: ekscontrolplanev1alpha3
- pkg: sigs.k8s.io/cluster-api-provider-aws/controlplane/eks/api/v1alpha4
alias: ekscontrolplanev1alpha4
- pkg: sigs.k8s.io/cluster-api-provider-aws/controlplane/eks/api/v1beta1
alias: ekscontrolplanev1
- pkg: "sigs.k8s.io/cluster-api-provider-aws/bootstrap/eks/controllers"
alias: eksbootstrapcontrollers
- pkg: "sigs.k8s.io/cluster-api-provider-aws/controlplane/eks/controllers"
alias: ekscontrolplanecontrollers
- pkg: "sigs.k8s.io/cluster-api-provider-aws/exp/controllers"
alias: expcontrollers
- pkg: "k8s.io/apimachinery/pkg/runtime"
alias: runtime
- pkg: "k8s.io/apimachinery/pkg/runtime/serializer"
alias: runtimeserializer
- pkg: "k8s.io/apimachinery/pkg/runtime/serializer/yaml"
alias: yamlserializer
- pkg: "sigs.k8s.io/cluster-api/api/v1alpha3"
alias: clusterv1alpha3
- pkg: "sigs.k8s.io/cluster-api/api/v1alpha4"
alias: clusterv1alpha4
- pkg: "sigs.k8s.io/cluster-api/api/v1beta1"
alias: clusterv1
- pkg: "sigs.k8s.io/cluster-api/util/defaulting"
alias: utildefaulting
- pkg: sigs.k8s.io/controller-runtime
alias: ctrl
- pkg: "k8s.io/apimachinery/pkg/api/errors"
alias: apierrors
- pkg: "sigs.k8s.io/controller-runtime/pkg/log"
alias: logf
- pkg: "github.com/google/gofuzz"
alias: fuzz
- pkg: "sigs.k8s.io/cluster-api-provider-aws/pkg/cloud/logs"
alias: awslogs
- pkg: "sigs.k8s.io/cluster-api-provider-aws/pkg/cloud/metrics"
alias: awsmetrics
- pkg: "sigs.k8s.io/cluster-api/errors"
alias: capierrors
- pkg: "github.com/aws/aws-sdk-go/aws/client"
alias: awsclient
- pkg: "github.com/aws/amazon-vpc-cni-k8s/pkg/apis/crd/v1alpha1"
alias: amazoncni
- pkg: "github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi"
alias: rgapi
- pkg: "crypto/rand"
alias: crand
- pkg: "sigs.k8s.io/controller-runtime/pkg/client"
alias: crclient
- pkg: "k8s.io/apimachinery/pkg/types"
alias: apimachinerytypes
- pkg: "sigs.k8s.io/cluster-api/exp/api/v1beta1"
alias: expclusterv1
staticcheck:
go: "1.17"
stylecheck:
go: "1.17"
issues:
max-same-issues: 0
max-issues-per-linter: 0
# We are disabling default golangci exclusions because we want to help reviewers to focus on reviewing the most relevant
# changes in PRs and avoid nitpicking.
exclude-use-default: false
# List of regexps of issue texts to exclude, empty list by default.
exclude:
- (Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less)
- "exported: exported (const|function|method|type|var) (.+) should have comment or be unexported"
- "exported: (func|type) name will be used as (.+) by other packages, and that stutters; consider calling this (.+)"
- (G104|G107|G404|G505|ST1000)
- "G108: Profiling endpoint is automatically exposed on /debug/pprof"
# Exclude noctx error for calling http.Get directly.
# See https://pkg.go.dev/github.com/sonatard/noctx#readme-how-to-fix for reasons it breaks and ways to fix it.
# This exclusion should be removed if the decision is made to fix the error.
- "net/http.Get must not be called"
exclude-rules:
# Exclude revive's exported for certain packages and code, e.g. tests and fake.
- linters:
- revive
text: exported (method|function|type|const) (.+) should have comment or be unexported
source: (func|type).*Fake.*
- linters:
- revive
text: exported (method|function|type|const) (.+) should have comment or be unexported
path: fake_\.go
- linters:
- revive
text: exported (method|function|type|const) (.+) should have comment or be unexported
path: .*test/(providers|framework|e2e).*.go
- linters:
- errcheck
text: Error return value is not checked
path: _test\.go
- linters:
- errcheck
text: Error return value of (.+) is not checked
path: _test\.go
- linters:
- gosec
text: "G108: Profiling endpoint is automatically exposed on /debug/pprof"
- linters:
- godot
text: "Comment should end in a period"
path: "(.*)/(v1alpha3|v1alpha4|v1alpha1)/(.*)types.go"
- linters:
- errcheck
text: Error return value of .((os\.)?std(out|err)\..*|.*Close|.*Flush|os\.Remove(All)?|.*print(f|ln)?|os\.(Un)?Setenv). is not checked
# With Go 1.16, the new embed directive can be used with an un-named import,
# revive (previously, golint) only allows these to be imported in a main.go, which wouldn't work for us.
# This directive allows the embed package to be imported with an underscore everywhere.
- linters:
- revive
source: _ "embed"
# This directive allows the variable in defaults.go files to have underscore
- linters:
- revive
text: "var-naming: don't use underscores in Go names; func (.+) should be (.+)"
path: .*/defaults.go
# Disable unparam "always receives" which might not be really
# useful when building libraries.
- linters:
- unparam
text: always receives
- linters:
- unparam
text: (.+) - (`t`|`g`) is unused
- path: _test\.go
text: cyclomatic complexity
# Append should be able to assign to a different var/slice.
- linters:
- gocritic
text: "appendAssign: append result not assigned to the same slice"

run:
timeout: 10m
skip-files:
- "zz_generated.*\\.go$"
- ".*conversion.*\\.go$"
skip-dirs:
- third_party
allow-parallel-runners: true
40 changes: 36 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,39 @@ Kubernetes projects require that you sign a Contributor License Agreement (CLA)
### Contributing A Patch

1. Submit an issue describing your proposed change to the repo in question.
1. The [repo owners](OWNERS) will respond to your issue promptly.
1. If your proposed change is accepted, and you haven't already done so, sign a Contributor License Agreement (see details above).
1. Fork the desired repo, develop and test your code changes.
1. Submit a pull request.
2. The [repo owners](OWNERS) will respond to your issue promptly.
3. If your proposed change is accepted, and you haven't already done so, sign a Contributor License Agreement (see details above).
4. Fork the desired repo, develop and test your code changes.
> See the [developer guide](https://cluster-api-aws.sigs.k8s.io/development/development.html) on how to setup your development environment.
5. Submit a pull request.

### Becoming a reviewer

If you would like to become a reviewer, then please ask one of the maintainers.
There's no hard and defined limit as to who can become a reviewer, but a good
heuristic is 5 or more contributions. A reviewer can get PRs automatically assigned
for review, and can `/lgtm` PRs.

To become a reviewer, ensure you are a member of the kubernetes-sigs Github organisation
following https://github.com/kubernetes/org/issues/new/choose .

### Steps needed to become a maintainer
If you have made significant contributions to Cluster API
Provider AWS, a maintainer may nominate you to become a
maintainer, first by opening a PR to add you to the OWNERS_ALIASES file of the repository.

Maintainers are able to approve PRs, as well as participate
in release processes.

Maintainers require membership of the Kubernetes Github organisation via
https://github.com/kubernetes/org/issues/new/choose

The complete list of tasks required to set up maintainer status
follow:

* Open PR to add Github username to the OWNERS_ALIASES file under cluster-api-aws-maintainers
* Open PR to add Github username to cluster-api-provider-aws-admins and cluster-api-provider-aws-maintainers
to https://github.com/kubernetes/org/blob/main/config/kubernetes-sigs/sig-cluster-lifecycle/teams.yaml
* Open PR to add Github username to https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes-sigs/cluster-api-provider-aws/OWNERS
* Open PR to add Github username to https://github.com/kubernetes/k8s.io/blob/main/k8s.gcr.io/images/k8s-staging-cluster-api-aws/OWNERS
* Open PR to add Google ID to the [email protected] Google group in https://github.com/kubernetes/k8s.io/blob/main/groups/groups.yaml
Loading

0 comments on commit 469e15b

Please sign in to comment.