Production-Grade Container Scheduling and Management
Go to file
Arda Güçlü a504aed54d
Add shortname ambiguity warning in shortcut expander (#117668)
* Add warning handler callback function in shortcut expander

Currently, errors in client-go are propagated back to the callers via
function returns. However, there is no elegant way for just warning users.
For example, when user wants to get a resource with it's short name format
and if there are multiple resources belonging to this short name, we need to
warn user about this ambugity which one is picked and which ones are discarded.

Not only to overcome this particular case mentioned above, but also propose a
way for the possible warnings in the future, this commit adds a warningHandler
callback function in shortcutExpander.

* Add warningPrinter functionality in ConfigFlags

ConfigFlags has neither warning user in a standardized
format functionality nor passing warning callback functions to other upper level
libraries such as client-go.

This commit adds an ability that user can set warningPrinters
according to their IOStreams and this warningPrinters will be used
to raise possible warnings happening not only in cli-runtime but
also in client-go.

* Pass warning callback function in ConfigFlags to shortcutExpander

This commit passes warning callback function to print possible
warnings happened in shortcut expander to warn user in a
standardized format.

* Add integration test for CRDs having ambiguous short names

This commit adds integration test to assure that warning message
related to this ambiguity is printed when resources are being retrieved via their short name
representations in cases where multiple resources have same
short names.

This integration test also ensures that the logic behind which resource
will be selected hasn't been changed which may cause disperancies in
clusters.

* Remove defaultConfigFlag global variable

* Move default config flags initialization into function

* Skip warning for versions of same group/resource

* Run update-vendor

* Warn only once when there are multiple versions registered for ambiguous resource

* Apply gocritic review

* Add multi-resource multi-version ambiguity unit test
2023-10-11 17:04:11 +02:00
.github Add new contribex leads to sig-contribex-approvers 2023-04-10 12:34:03 +05:30
api fix typo exeucting => executing 2023-09-17 11:27:57 +02:00
build Bump distroless-iptables to v0.3.3 2023-10-09 13:18:46 +02:00
CHANGELOG CHANGELOG: Update directory for v1.29.0-alpha.1 release 2023-09-25 16:57:38 +00:00
cluster Remove dpasiukevich from cluster/addons/dns OWNERS 2023-09-24 21:47:22 +02:00
cmd Merge pull request #120788 from chendave/componentCfg 2023-10-11 04:42:53 +02:00
docs Make root approval non-recursive 2022-10-10 08:26:53 -04:00
hack dependencies: update otel-go dependencies 2023-10-10 19:16:07 +00:00
LICENSES New repo who dis? distribution/reference 2023-08-31 21:53:40 -04:00
logo logo: better alignment of layers 2022-10-19 12:17:25 -07:00
pkg Merge pull request #119791 from aroradaman/fix/ipvs-source-ranges 2023-10-11 11:46:11 +02:00
plugin Allow storage migration of CTB without attest authorization 2023-09-20 12:26:11 -04:00
staging Add shortname ambiguity warning in shortcut expander (#117668) 2023-10-11 17:04:11 +02:00
test Add shortname ambiguity warning in shortcut expander (#117668) 2023-10-11 17:04:11 +02:00
third_party verify: nicer failure message rendering in Prow 2023-06-02 15:39:27 +02:00
vendor dependencies: update otel-go dependencies 2023-10-10 19:16:07 +00:00
.generated_files
.gitattributes gitattributes: json and yaml files LF line endings 2022-12-22 11:36:07 +00:00
.gitignore Add go.work and go.work.sum to .gitignore 2023-05-05 11:16:23 -04:00
.go-version [go] Bump images, dependencies and versions to go 1.21.2 2023-10-06 15:18:34 +02:00
CHANGELOG.md
code-of-conduct.md
CONTRIBUTING.md
go.mod dependencies: update otel-go dependencies 2023-10-10 19:16:07 +00:00
go.sum dependencies: update otel-go dependencies 2023-10-10 19:16:07 +00:00
LICENSE
Makefile
OWNERS Add sig-architecture-approvers and dep-approvers to root dir 2022-10-10 13:43:04 -04:00
OWNERS_ALIASES sig-node: add rphillips to reviewers 2023-09-11 14:34:30 -05:00
README.md Merge pull request #116709 from R3DRUN3/master 2023-05-03 12:02:09 -07:00
SECURITY_CONTACTS Update SECURITY_CONTACTS 2023-10-10 14:45:43 +00:00
SUPPORT.md

Kubernetes (K8s)

CII Best Practices Go Report Card GitHub release (latest SemVer)


Kubernetes, also known as K8s, is an open source system for managing containerized applications across multiple hosts. It provides basic mechanisms for the deployment, maintenance, and scaling of applications.

Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale using a system called Borg, combined with best-of-breed ideas and practices from the community.

Kubernetes is hosted by the Cloud Native Computing Foundation (CNCF). If your company wants to help shape the evolution of technologies that are container-packaged, dynamically scheduled, and microservices-oriented, consider joining the CNCF. For details about who's involved and how Kubernetes plays a role, read the CNCF announcement.


To start using K8s

See our documentation on kubernetes.io.

Take a free course on Scalable Microservices with Kubernetes.

To use Kubernetes code as a library in other applications, see the list of published components. Use of the k8s.io/kubernetes module or k8s.io/kubernetes/... packages as libraries is not supported.

To start developing K8s

The community repository hosts all information about building Kubernetes from source, how to contribute code and documentation, who to contact about what, etc.

If you want to build Kubernetes right away there are two options:

You have a working Go environment.
mkdir -p $GOPATH/src/k8s.io
cd $GOPATH/src/k8s.io
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
make
You have a working Docker environment.
git clone https://github.com/kubernetes/kubernetes
cd kubernetes
make quick-release

For the full story, head over to the developer's documentation.

Support

If you need support, start with the troubleshooting guide, and work your way through the process that we've outlined.

That said, if you have questions, reach out to us one way or another.

Community Meetings

The Calendar has the list of all the meetings in the Kubernetes community in a single location.

Adopters

The User Case Studies website has real-world use cases of organizations across industries that are deploying/migrating to Kubernetes.

Governance

Kubernetes project is governed by a framework of principles, values, policies and processes to help our community and constituents towards our shared goals.

The Kubernetes Community is the launching point for learning about how we organize ourselves.

The Kubernetes Steering community repo is used by the Kubernetes Steering Committee, which oversees governance of the Kubernetes project.

Roadmap

The Kubernetes Enhancements repo provides information about Kubernetes releases, as well as feature tracking and backlogs.