|
| 1 | +--- |
| 2 | +title: Documentation Content Guide |
| 3 | +linktitle: Content guide |
| 4 | +content_template: templates/concept |
| 5 | +weight: 10 |
| 6 | +card: |
| 7 | + name: contribute |
| 8 | + weight: 20 |
| 9 | + title: Documentation Content Guide |
| 10 | +--- |
| 11 | + |
| 12 | +{{% capture overview %}} |
| 13 | +This page contains guidelines for adding content to the Kubernetes documentation. |
| 14 | +If you have questions about allowed content, join the [Kubernetes Slack](http://slack.k8s.io/) #sig-docs channel and ask! Use your best judgment, and feel free to |
| 15 | +propose changes to this document in a pull request. |
| 16 | + |
| 17 | +For additional information on creating new content for the Kubernetes |
| 18 | +docs, follow the instructions in the [Style guide](/docs/contribute/style/style-guide). |
| 19 | +{{% /capture %}} |
| 20 | + |
| 21 | +{{% capture body %}} |
| 22 | +## Contributing content |
| 23 | + |
| 24 | +The Kubernetes documentation comprises the content of the |
| 25 | +[kubernetes/website](https://github.com/kubernetes/website) source repository. |
| 26 | +Located in the `kubernetes/website/content/<language_code>/docs` folder, the |
| 27 | +majority of the Kubernetes documentation is specific to the [Kubernetes |
| 28 | +project](https://github.com/kubernetes/kubernetes). The Kubernetes |
| 29 | +documentation may also include content from projects in the |
| 30 | +[kubernetes](https://github.com/kubernetes) and |
| 31 | +[kubernetes-sigs](https://github.com/kubernetes-sigs) GitHub organizations if |
| 32 | +those projects do not have their own documentation. Linking to active kubernetes, |
| 33 | +kubernetes-sigs, and ({{< glossary_tooltip text="CNCF" term_id="cncf" >}}) projects from the Kubernetes documentation is always |
| 34 | +allowed, but linking to vendor-specific products is not. Check the CNCF project lists |
| 35 | +([Graduated/Incubating](https://www.cncf.io/projects/), |
| 36 | +[Sandbox](https://www.cncf.io/sandbox-projects/), |
| 37 | +[Archived](https://www.cncf.io/archived-projects/)) if you are unsure of a |
| 38 | +project's CNCF status. |
| 39 | + |
| 40 | +### Dual-sourced content |
| 41 | + |
| 42 | +Kubernetes documentation does not include duplicate content sourced from multiple |
| 43 | +locations (*dual-sourced* content). Dual-sourced content requires duplicated |
| 44 | +effort from project maintainers and tends to become outdated more quickly. |
| 45 | +Before adding content, ask yourself this: |
| 46 | + |
| 47 | +- Is the content about an active CNCF project OR a project in the kubernetes or kubernetes-sigs GitHub organizations? |
| 48 | + - If yes, then: |
| 49 | + - Does the project have its own documentation? |
| 50 | + - if yes, link to the project's documention from the Kubernetes documentation |
| 51 | + - if no, add the content to the project's repository if possible and then link to it from the Kubernetes documentation |
| 52 | + - If no, then: |
| 53 | + - Stop! |
| 54 | + - Adding content about vendor-specific products is not allowed |
| 55 | + - Linking to vendor-specific documentation and websites is not allowed |
| 56 | + |
| 57 | +### What is and isn't allowed |
| 58 | + |
| 59 | +There are some scenarios in which the Kubernetes documentation includes content from non-Kubernetes projects. |
| 60 | +Below are general categories of non-Kubernetes project content along with guidelines of what is and is not allowed: |
| 61 | + |
| 62 | +1. Instructional content involving non-Kubernetes projects during setup or operation of Kubernetes |
| 63 | + - Allowed: |
| 64 | + - Referring to or linking to existing documentation about a CNCF project or a project in the kubernetes or kubernetes-sigs GitHub organizations |
| 65 | + - Example: for installating Kubernetes in a learning environment, including a prerequisite stating that successful installation and configuration of minikube is required and linking to the relevant minikube documentation |
| 66 | + - Adding content for kubernetes or kubernetes-sigs projects that don't have their own instructional content |
| 67 | + - Example: including [kubadm](https://github.com/kubernetes/kubeadm) installation and troubleshooting instructions |
| 68 | + - Not Allowed: |
| 69 | + - Adding content that duplicates documentation in another repository |
| 70 | + - Examples: |
| 71 | + - Including minikube installation and configuration instructions; minikube has its own [documentation](https://minikube.sigs.k8s.io/docs/) that provides those instructions |
| 72 | + - Including instructions for installing Docker, CRI-O, containerd, and other container runtimes on various operating systems |
| 73 | + - Including instructions for installing Kubernetes on production environments using various projects: |
| 74 | + - Kubernetes Rebar Integrated Bootstrap (KRIB) is a vendor-specific project and content belongs in the vendor's documentation |
| 75 | + - [Kubernetes Operations (kops)](https://github.com/kubernetes/kops) has installation instructions and tutorials in its GitHub repository |
| 76 | + - [Kubespray](https://kubespray.io) has its own documenation |
| 77 | + - Adding a tutorial that explains how to perform a task using a vendor-specific product or an open source project that is not a CNCF project or a project in the kubernetes or kubnetes-sigs GitHub organizations |
| 78 | + - Adding a tutorial on how to use a CNCF project or a project in the kubernetes or kubnetes-sigs GitHub organizations if the project has its own documentation |
| 79 | +1. Detailed technical content about how to use a non-Kubernetes project or how that project is designed |
| 80 | + |
| 81 | + Adding this type of content to the Kubernetes documentation is not allowed. |
| 82 | +1. Content that describes a non-Kubernetes project |
| 83 | + - Allowed: |
| 84 | + - Adding a brief introductory paragraph about a CNCF project or a project in the kubernetes or kubernetes-sigs GitHub organizations; the paragraph may contain links to the project |
| 85 | + - Not Allowed: |
| 86 | + - Adding content describing a vendor-specific product |
| 87 | + - Adding content describing an open source project that is not a CNCF project or a project in the kubernetes or kubnetes-sigs GitHub organizations |
| 88 | + - Adding content that duplicates documentation from another project, regardless of source repository |
| 89 | + - Example: adding [Kubernetes in Docker (KinD)](https://kind.sigs.k8s.io) documentation to the Kubernetes documentation |
| 90 | +1. Content that simply links to information about a non-Kubernetes project |
| 91 | + - Allowed: |
| 92 | + - Linking to projects in the kubernetes and kubernetes-sigs GitHub organizations |
| 93 | + - Example: linking to Kubernetes in Docker (KinD) [documentation](https://kind.sigs.k8s.io/docs/user/quick-start), which resides in the kubernetes-sigs GitHub organization |
| 94 | + - Linking to active CNCF projects |
| 95 | + - Example: linking to the Prometheus [documentation](https://prometheus.io/docs/introduction/overview/); Prometheus is an active CNCF project |
| 96 | + - Not Allowed: |
| 97 | + - Linking to vendor-specific products |
| 98 | + - Linking to archived CNCF projects |
| 99 | + - Linking to inactive projects in the kubernetes and kubernetes-sigs GitHub organizations |
| 100 | + - Linking to open source projects that are not CNCF projects or do not reside in the kubernetes or kubernetes-sigs GitHub organizations |
| 101 | +1. Content about training courses |
| 102 | + - Allowed: |
| 103 | + - Linking to vendor-neutral Kubernetes training courses offered by the [CNCF](https://www.cncf.io/), the [Linux Foundation](https://www.linuxfoundation.org/), and the [Linux Academy](https://linuxacademy.com/), which is a partner of the Linux Foundation |
| 104 | + - Example: linking to Linux Academy courses such as [Kubernetes Quick Start](https://linuxacademy.com/course/kubernetes-quick-start/) and [Kubernetes Security](https://linuxacademy.com/course/kubernetes-security/) |
| 105 | + - Not Allowed: |
| 106 | + - Linking to online training outside of the CNCF, the Linux Foundation, or the Linux Academy; the Kubernetes documentation does not link to third-party content |
| 107 | + - Example: linking to Kubernetes tutorials or courses on Medium, KodeKloud, Udacity, Coursera, learnk8s, and similar websites |
| 108 | + - Linking to vendor-specific tutorials regardless of the training provider |
| 109 | + - Example: linking to Linux Academy courses such as [Google Kubernetes Engine Deep Dive](https://linuxacademy.com/google-cloud-platform/training/course/name/google-kubernetes-engine-deep-dive) and [Amazon EKS Deep Dive](https://linuxacademy.com/course/amazon-eks-deep-dive/) |
| 110 | + |
| 111 | +If you have questions about allowed content, join the [Kubernetes Slack](http://slack.k8s.io/) #sig-docs channel and ask! |
| 112 | +{{% /capture %}} |
| 113 | + |
| 114 | +{{% capture whatsnext %}} |
| 115 | +* Read the [Style guide](/docs/contribute/style/style-guide). |
| 116 | +{{% /capture %}} |
0 commit comments