The `-mod=mod` option is only supported from go1.14. Since `release-1.18`
and `release-1.17` branches use go1.13.15, this commit adds smoke tests
per branch to only add the `-mod=mod` option to branches after
`release-1.18`.
The duplicate smoke test config can be removed once v1.21 is released
and v1.18 is out of support.
With the move to go1.16, we are hitting a go bug for how
`go build`/`go test` work with modules - golang/go#44129.
This commit adds the `-mod=mod` flag for `go build` and `go test`
commands in the smoke test rules (workaround mentioned in the issue).
The alternative to this would be to special-case code-generator. Since
it legit wants codegen, it seems wrong to make it be _examples (which tools
should ignore).
Make examples an "internal module" so the main go.mod for
k8s.io/code-generator does not get too polluted.
This was previous incorrectly set to go1.13.
Dropping the field allows us to pick up the 'default-go-version'.
Signed-off-by: Stephen Augustus <saugustus@vmware.com>
The `default-go-version` field specifies the go version used for the
master branch, and if the go version is not explicitly specified for a
release branch.
This commit also uses go 1.14.6 for the `release-1.19` branch.
* Creates staging directory for common controller-manager code
* Adds the following initial files to this directory:
* .github/PULL_REQUEST_TEMPLATE.md
* code-of-conduct.md
* LICENSE
* OWNERS
* README.md
* SECURITY_CONTACTS
* Code committed to the controller-manager staging directory will be published to: https://github.com/kubernetes/controller-manager
Initial approval deads2k (sig-api-machinery chair)
The config we would expect any controller manager to need to connect to the API server, set up metrics endpoints, create per-controller-loop API clients, and spin up the individual loops could make sense under a k8s.io/controller-manager package.
Then cmd/kube-controller-manager could continue to contain the weirdnesses specific to kube-controller-manager.
This is similar to the way we split out recommended API server setup into k8s.io/apiserver and tried to limit kube-apiserver oddities to cmd/kube-apiserver and pkg/kubeapiserver
Removed extraneous release reference. Ran update-vendor.
Fixed Readme.
Added a doc.go to staging/controller-manager
Fix package to not have dash.
```
NONE
```
/kind cleanup
/sig api-machinery
/area kube-controller-manager
/area cloud-controller-manager