From 3302b378b4ec5dc2bba316f1d79cee7fe9c93389 Mon Sep 17 00:00:00 2001 From: "Erik L. Arneson" Date: Fri, 10 Jul 2020 13:00:35 -0700 Subject: [PATCH] Index all SIG contributions to the Developer Guide The initial purpose of this is to make sure there are no orphaned files in the Developer Guide, so we can make a complete map of all the content there. --- contributors/devel/README.md | 98 +++++++++++++++++++ .../devel/sig-architecture/api_changes.md | 53 +++++----- .../devel/sig-scheduling/scheduler.md | 4 +- 3 files changed, 127 insertions(+), 28 deletions(-) diff --git a/contributors/devel/README.md b/contributors/devel/README.md index bec20d846..390730bd2 100644 --- a/contributors/devel/README.md +++ b/contributors/devel/README.md @@ -79,3 +79,101 @@ Guide](http://kubernetes.io/docs/admin/). ## Building releases See the [kubernetes/release](https://github.com/kubernetes/release) repository for details on creating releases and related tools and helper scripts. + +## SIG Developer Guide Contributions + +### SIG Release +* **Cherry Picks** [cherry-picks.md](sig-release/cherry-picks.md) + How cherry picks are managed on release branches within the `kubernetes/kubernetes` repository. + +* **Getting Kubernetes Builds** [getting-builds.md](sig-release/getting-builds.md) + +* **Targeting enhancements, Issues and PRs to Release Milestones** [release.md](sig-release/release.md) + +### SIG Instrumentation +* **Logging Conventions** [logging.md](sig-instrumentation/logging.md) + +* **Event style guide** [event-style-guide.md](sig-instrumentation/event-style-guide.md) + +* **Instrumenting Kubernetes** [instrumentation.md](sig-instrumentation/instrumentation.md) + +* **Structured Logging migration instructions** [migration-to-structured-logging.md](sig-instrumentation/migration-to-structured-logging.md) + +### SIG Storage +* **Flexvolume** [flexvolume.md](sig-storage/flexvolume.md) + Flexvolume enables users to write their own drivers and add support for their volumes in Kubernetes. + +### SIG Scalability +* **Kubemark User Guide** [kubemark-guide.md](sig-scalability/kubemark-guide.md) + +* **How to Set Up a Kubemark Cluster** [kubemark-setup-guide.md](sig-scalability/kubemark-setup-guide.md) + +* **Profiling Kubernetes** [profiling.md](sig-scalability/profiling.md) + +### SIG Scheduling + +* **Understanding the Kubernetes Scheduler** [scheduler.md](sig-scheduling/scheduler.md) + +* **Scheduler Algorithm in Kubernetes** [scheduler_algorithm.md](sig-scheduling/scheduler_algorithm.md) + +* **Scheduler Benchmarking** [scheduler_benchmarking.md](sig-scheduling/scheduler_benchmarking.md) + +### SIG Architecture + +* **API Conventions** [api-conventions.md](sig-architecture/api-conventions.md) + +* **Component Configuration Conventions** [component-config-conventions.md](sig-architecture/component-config-conventions.md) + +* **Changing the API** [api_changes.md](sig-architecture/api_changes.md) + +* **Staging Directory and Publishing** [staging.md](sig-architecture/staging.md) + +* **Using Go Modules to Manage Dependencies** [vendor.md](sig-architecture/vendor.md) + This document only applies to Kubernetes development after 1.14.x. See [previous godep documentation for working with dependencies](sig-architecture/godep.md) for Kubernetes 1.14.x and earlier. + +* **Using Go Modules to Manage Dependencies (for Kubernetes 1.14.x and earlier)** [godep.md](sig-architecture/godep.md) + See [current documentation for working with dependencies](sig-architecture/vendor.md) for master branch development. + +### SIG Architecture +* **Conformance Testing in Kubernetes** [conformance-tests.md](sig-architecture/conformance-tests.md) + +### SIG API Machinery +* **Strategic Merge Patch** [strategic-merge-patch.md](sig-api-machinery/strategic-merge-patch.md) +* **Writing Controllers** [controllers.md](sig-api-machinery/controllers.md) +* **Generation and release cycle of clientset** [generating-clientset.md](sig-api-machinery/generating-clientset.md) + +### SIG Testing +* **Testing guide** [testing.md](sig-testing/testing.md) + +* **Writing good e2e tests for Kubernetes** [writing-good-e2e-tests.md](sig-testing/writing-good-e2e-tests.md) + +* **Writing Good Conformance Tests for Kubernetes** [writing-good-conformance-tests.md](sig-testing/writing-good-conformance-tests.md) + +* **Integration Testing in Kubernetes** [integration-tests.md](sig-testing/integration-tests.md) + +* **End-to-End Testing in Kubernetes** [e2e-tests.md](sig-testing/e2e-tests.md) + +* **Debugging with Gubernator** [gubernator.md](sig-testing/gubernator.md) + +* **Flaky tests** [flaky-tests.md](sig-testing/flaky-tests.md) + +* **Build and test with Bazel** [bazel.md](sig-testing/bazel.md) + +### SIG Node + +* **CRI: the Container Runtime Interface** [container-runtime-interface.md](sig-node/container-runtime-interface.md) + +* **Container Runtime Interface (CRI) Networking Specifications** [kubelet-cri-networking.md](sig-node/kubelet-cri-networking.md) + +* **Measuring Node Performance** [node-performance-testing.md](sig-node/node-performance-testing.md) + +* **Container Runtime Interface: Container Metrics** [cri-container-stats.md](sig-node/cri-container-stats.md) + +* **Container Runtime Interface (CRI) Validation Testing** [cri-validation.md](sig-node/cri-validation.md) + +* **Node End-To-End tests** [e2e-node-tests.md](sig-node/e2e-node-tests.md) + +* **Container Runtime Interface: Testing Policy** [cri-testing-policy.md](sig-node/cri-testing-policy.md) + +### SIG CLI +* **Kubectl Conventions** [kubectl-conventions.md](sig-cli/kubectl-conventions.md) diff --git a/contributors/devel/sig-architecture/api_changes.md b/contributors/devel/sig-architecture/api_changes.md index 8125bd881..c5d7442d4 100644 --- a/contributors/devel/sig-architecture/api_changes.md +++ b/contributors/devel/sig-architecture/api_changes.md @@ -1,36 +1,37 @@ -*This document is oriented at developers who want to change existing APIs. +# Changing the API + +This document is oriented at developers who want to change existing APIs. A set of API conventions, which applies to new APIs and to changes, can be found at [API Conventions](api-conventions.md). **Table of Contents** - [So you want to change the API?](#so-you-want-to-change-the-api) - - [Operational overview](#operational-overview) - - [On compatibility](#on-compatibility) - - [Backward compatibility gotchas](#backward-compatibility-gotchas) - - [Incompatible API changes](#incompatible-api-changes) - - [Changing versioned APIs](#changing-versioned-apis) - - [Edit types.go](#edit-typesgo) - - [Edit defaults.go](#edit-defaultsgo) - - [Edit conversion.go](#edit-conversiongo) - - [Changing the internal structures](#changing-the-internal-structures) - - [Edit types.go](#edit-typesgo-1) - - [Edit validation.go](#edit-validationgo) - - [Edit version conversions](#edit-version-conversions) - - [Generate protobuf objects](#generate-protobuf-objects) - - [Edit json (un)marshaling code](#edit-json-unmarshaling-code) - - [Making a new API Version](#making-a-new-api-version) - - [Making a new API Group](#making-a-new-api-group) - - [Update the fuzzer](#update-the-fuzzer) - - [Update the semantic comparisons](#update-the-semantic-comparisons) - - [Implement your change](#implement-your-change) - - [Write end-to-end tests](#write-end-to-end-tests) - - [Examples and docs](#examples-and-docs) - - [Alpha, Beta, and Stable Versions](#alpha-beta-and-stable-versions) - - [Adding Unstable Features to Stable Versions](#adding-unstable-features-to-stable-versions) +- [Operational overview](#operational-overview) +- [On compatibility](#on-compatibility) +- [Backward compatibility gotchas](#backward-compatibility-gotchas) +- [Incompatible API changes](#incompatible-api-changes) +- [Changing versioned APIs](#changing-versioned-apis) + - [Edit types.go](#edit-typesgo) + - [Edit defaults.go](#edit-defaultsgo) + - [Edit conversion.go](#edit-conversiongo) +- [Changing the internal structures](#changing-the-internal-structures) + - [Edit types.go](#edit-typesgo-1) +- [Edit validation.go](#edit-validationgo) +- [Edit version conversions](#edit-version-conversions) +- [Generate protobuf objects](#generate-protobuf-objects) +- [Edit json (un)marshaling code](#edit-json-unmarshaling-code) +- [Making a new API Version](#making-a-new-api-version) +- [Making a new API Group](#making-a-new-api-group) +- [Update the fuzzer](#update-the-fuzzer) +- [Update the semantic comparisons](#update-the-semantic-comparisons) +- [Implement your change](#implement-your-change) +- [Write end-to-end tests](#write-end-to-end-tests) +- [Examples and docs](#examples-and-docs) +- [Alpha, Beta, and Stable Versions](#alpha-beta-and-stable-versions) + - [Adding Unstable Features to Stable Versions](#adding-unstable-features-to-stable-versions) - -# So you want to change the API? +## So you want to change the API? Before attempting a change to the API, you should familiarize yourself with a number of existing API types and with the [API conventions](api-conventions.md). diff --git a/contributors/devel/sig-scheduling/scheduler.md b/contributors/devel/sig-scheduling/scheduler.md index 03df88fe2..9360b0b4a 100644 --- a/contributors/devel/sig-scheduling/scheduler.md +++ b/contributors/devel/sig-scheduling/scheduler.md @@ -1,7 +1,7 @@ -# The Kubernetes Scheduler +# Understanding the Kubernetes Scheduler The Kubernetes scheduler runs as a process alongside the other master components such as the API server. -Its interface to the API server is to watch for Pods with an empty PodSpec.NodeName, +Its interface to the API server is to watch for Pods with an empty `PodSpec.NodeName`, and for each Pod, it posts a binding indicating where the Pod should be scheduled. ## Exploring the code