Giter Site home page Giter Site logo

documentation's Introduction

Gardener Documentation

REUSE status

Structure

Manifest files

The manifest files can be found in the .docforge folder and they describe how the documentation will be mapped in the https://gardener.cloud/ website. The main manifest file, which is the entry point of the website build, is website.yaml. It links content and other manifest files in this repository. At the last level of linking, it can be seen that the manifests point to manifests from other repositories in the gardener organization. An example of such a manifest is documentation.yaml.

Content

This repository holds cross-component documents which are linked by the manifest files and displayed in the website. These documents can be found in the website directory.

All documents that are related to a specific component can be found in the documentation of its repository. Such documents are aggregated on the website by using manifest files.

More about how this documentation is used and displayed on the website can be found in gardener/website-generator

documentation's People

Contributors

adenitiu avatar aleksandarsavchev avatar axiomsamarth avatar danielfoehrkn avatar diaphteiros avatar dimitar-kostadinov avatar dimityrmirchev avatar finally-fancy avatar freegroup avatar g-pavlov avatar gardener-robot-ci-1 avatar gardener-robot-ci-2 avatar gardener-robot-ci-3 avatar ialidzhikov avatar istvanballok avatar je-hal avatar jessica-katz avatar jordanjordanov avatar kostov6 avatar maksimiliana avatar msohn avatar n-boshnakov avatar rfranzke avatar stoyanr avatar swilen-iwanow avatar thormaehlenfred avatar timuthy avatar tlakner avatar vasu1124 avatar vlerenc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

documentation's Issues

Document how to install Gardener using just *.gardener.cloud/*.sapcloud.io CRDs and kubectl

What would you like to be added:

I would love to see documentation which details how one can install Gardener (ie, the "garden" cluster) and seed/shoot clusters via a process which

  • First installs CRDs for all .gardener.cloud/*.sapcloud.io API server extensions (via kubectl)
  • Then installs garden/seed/shoots clusters, cloudprofiles/machines, and plants etc using pure k8s yaml and kubectl apply

Why is this needed:

The current Gardener installation process is incredibly confusing. For example, do we really have to use sow, gardenctl, etc to set up Gardener? Or can we not simply boil down the installation steps into 1) bootstrapping CRDs on some type of bootstrap cluster and then 2) using kubectl and standard Kubernetes GitOps tooling (think ArgoCD, WeaveFlux etc) to create and manage clusters?

Fix broken relative path links

What happened:
This report contains all broken links between pages in the site.

(the excel is in the same folder )

What you expected to happen:
We shall fix all broken links between pages in the site. The links shall be kept relative!

Documentation issue on page "050-tutorials/content/howto/prometheus/_index.md"

Hi,

the prometheus documentation is not up to date. Here are some things that need to be changed:

  • ClusterRole name is not correct: garden.sapcloud.io:monitoring:prometheus instead of sapcloud:monitoring:prometheus
  • Prometheus service account name is not correct: prometheus-prometheus-server is now called prometheus-server

Page: 050-tutorials/content/howto/prometheus/_index.md
don't remove the link to the page. It's required for the processor

Documentation by components in the external website

What would you like to be added:
The documents under website/documentation should be moved to the other repositories in gardener organisation where there will be a maintainers who will keep the documents up-to-date.

Why is this needed:
This repositories should be only for cross-component documents. All other documents here are unmaintained are some of them are already deprecated or duplicated with other documents from the other repos.

Documentation issue on page ""

<- DESCRIBE MISSING OR FAULTY DOCUMENTATION HERE->


Page:
don't remove the link to the page. It's required for the processor

Documentation issue on page "050-tutorials/content/howto/dns_names/_index.md"

So, far only the external DNS domain of a shoot (already used for the kubernetes api server and ingress DNS names) can be used for managed DNS names.

should be

So far only the external DNS domain of a shoot (already used for the kubernetes api server and ingress DNS names) can be used for managed DNS names.

Page: 050-tutorials/content/howto/dns_names/_index.md
don't remove the link to the page. It's required for the processor

Takeover the docs for installing knative on Gardener

There are changes coming up to the https://knative.dev/docs/install and documentation there needs to move away and just be linked. that includes the installation guide for Gardener.

The changes are planned for the 0.13 documentation. I can't find release plans but in the notification it's noted on 6th of February that we are "about three weeks from there". So deadline should be end of February.

  • Host the installation guide on gardener.cloud
  • Make a pull request in knative to update the docs with the new location
  • Update the guide as required for the latest Gardener

☂️-Issue for updating the "Create a kubernetes cluster" tutorials

/area documentation
/kind enhancement

What would you like to be added:
The Create a kubernetes cluster in <provider> with Gardener tutorials are currently outdated.

  • The screenshots in these guides are from old versions of the Gardener dashboard, so it makes sense to update the screenshots.
  • There were also suggestions to rework the cloud provider specific steps to do not include screenshots but rather links to the cloud provider documentation itself to make our tutorials less likely to get outdated when the cloud provider UI changes.
  • Improve the sections.
    • Currently the guides have a section for Prerequisites, then the steps start right away. I guess the steps should be in a section called Procedure.
    • Currently the guides end in awkward manner. We can add a section called Results that basically summarizes the what we achieved just now and what's next.

These are the tutorials that need update:

Why is this needed:
To have our documentation up to date.

Fix broken links in gardener.cloud

Broken link Page error Correct Link
https://gardener.cloud/blog/2020-08/00/ https://github.com/gardener/documentation/blob/master/website/blog/2020-09/Gardener-v1.9-and-v1.10-Released.md http status 404  
https://gardener.cloud/news https://github.com/gardener/documentation/blob/master/website/blog/2020_week_20/New-Website-Same-Green-Flower.md http status 404  there is no News section any more, the link shall be removed
https://gardener.cloud/blog/2020-08/00/ https://github.com/gardener/documentation/blob/master/website/blog/2020-11/02/Gardener-v1.13-Released.md http status 404  
https://gardener.cloud/documentation/concepts/core-components/api-server/#seeds https://github.com/gardener/documentation/blob/master/website/blog/2020-11/01/Case-Study-Migrating-ETCD-Volumes-in-Production.md http status 404  
https://gardener.cloud/documentation/concepts/core-components/api-server/#shoots https://github.com/gardener/documentation/blob/master/website/blog/2020-11/01/Case-Study-Migrating-ETCD-Volumes-in-Production.md http status 404  
https://gardener.cloud** https://github.com/gardener/documentation/blob/master/website/blog/2020_week_20/New-Website-Same-Green-Flower.md dial tcp  
https://landscape.cncf.io/format=card-mode https://github.com/gardener/documentation/blob/master/website/blog/2020-05/00/PingCAPs-Experience.md http status 404  
http://awless.io/ https://github.com/gardener/gardener/blob/master/docs/deployment/aks.md dial tcp https://github.com/wallix/awless
https://gardener.cloud/documentation/references/core/#core.gardener.cloud/v1beta1.Shoot https://github.com/gardener/gardener/blob/master/README.md http status 404  
https://landscape.cncf.io/format=card-mode https://github.com/gardener/documentation/blob/master/website/adopter/_index.md http status 404 https://landscape.cncf.io/card-mode
https://jqplay.org/jq?q=.%5B%5D&j=%5B%5D https://github.com/gardener/gardenctl/blob/master/README.md http status 404  
https://gardener.cloud/documentation/guides/administer_shoots/request_cert/ https://github.com/gardener/cert-management/blob/master/README.md http status 404  
https://gardener.cloud/documentation/references/core/#core.gardener.cloud/v1beta1.DNSProvider https://github.com/gardener/gardener-extension-shoot-dns-service/blob/master/docs/usage/dns_providers.md http status 404  
https://www.elastic.co/de/elk-stack https://github.com/gardener/documentation/blob/master/website/documentation/guides/applications/antipattern/_index.md http status 503  
https://github.com/gardener/documentation/website/documentation/guides/install_gardener/secure-setup/_index.md https://github.com/gardener/documentation/blob/master/website/documentation/guides/install_gardener/setup-seed/_index.md http status 404  
http://api.testclstr.cpet.k8s.sapcloud.io/api/v1/namespaces/default/services/nginx-svc:80/proxy/ https://github.com/gardener/documentation/blob/master/website/documentation/guides/applications/access_pod_from_local/_index.md dial tcp  
https://gardener.kubernetes.sap.corp/login https://github.com/freegroup/kube-s3/blob/master/README.md dial tcp remove link (it should point to the same https://gardener.cloud site)
https://gardener.cloud/documentation/guides/administer_shoots/create-delete-shoot/ https://github.com/gardener/documentation/blob/master/website/documentation/tutorials/shoot_istio_dns_certs/_index.md http status 404  
https://gardener.cloud/documentation/guides/install_gardener/gardener_dns_management/ https://github.com/gardener/documentation/blob/master/website/documentation/tutorials/shoot_istio_dns_certs/_index.md http status 404  
https://gardener.cloud/documentation/guides/install_gardener/gardener_certificate_management/ https://github.com/gardener/documentation/blob/master/website/documentation/tutorials/shoot_istio_dns_certs/_index.md http status 404  
https://gardener.cloud/documentation/guides/administer_shoots/dns_names/ https://github.com/gardener/documentation/blob/master/website/documentation/tutorials/shoot_istio_dns_certs/_index.md http status 404  
https://gardener.cloud/documentation/guides/administer_shoots/x509_certificates/ https://github.com/gardener/documentation/blob/master/website/documentation/tutorials/shoot_istio_dns_certs/_index.md http status 404  
https://api.testclstr.cpet.k8s.sapcloud.io/api/v1/namespaces/default/services/docker-nodejs-svc:4500/proxy/cpu?baseNumber=4 https://github.com/gardener/documentation/blob/master/website/documentation/guides/applications/access_pod_from_local/_index.md dial tcp  
http://awless.io/ https://github.com/gardener/documentation/blob/master/website/documentation/contribute/10_code/30_deploy_seed_into_aks/_index.md dial tcp  
https://knative.dev/v0.12-docs/install/knative-with-gardener/#updating-your-install-to-use-cluster-local-gateway https://github.com/gardener/documentation/blob/master/website/documentation/tutorials/knative-install/_index.md http status 404  
https://gardener.cloud/documentation/guides/install_gardener/gardener_dns_management/ https://github.com/gardener/documentation/blob/master/website/documentation/tutorials/shoot_istio_dns_certs/_index.md http status 404  
https://gardener.cloud/documentation/guides/install_gardener/gardener_certificate_management/ https://github.com/gardener/documentation/blob/master/website/documentation/tutorials/shoot_istio_dns_certs/_index.md http status 404  
https://knative.dev/v0.12-docs/install/knative-custom-install/ https://github.com/gardener/documentation/blob/master/website/documentation/tutorials/knative-install/_index.md http status 404  
https://knative.dev/v0.12-docs/serving/getting-started-knative-app/ https://github.com/gardener/documentation/blob/master/website/documentation/tutorials/knative-install/_index.md http status 404  
https://knative.dev/v0.12-docs/serving/installing-cert-manager/ https://github.com/gardener/documentation/blob/master/website/documentation/tutorials/knative-install/_index.md http status 404  

Documentation issue on page "050-tutorials/content/howto/x509_certificates/_index.md"

Can you please also describe if spec.tls field is needed after adding the label 'garden.sapcloud.io/purpose: managed-cert'
in metadata?

If spec.tls is needed, can I put a wildcard hostname like following? Also what should be the secretName value? As I am not creating the secret.

tls:
  - hosts:
    - *.ingress.<GARDENER-CLUSTER>.<GARDENER-PROJECT>.shoot.example.com
    secretName: testsecret-tls

Page: 050-tutorials/content/howto/x509_certificates/_index.md
don't remove the link to the page. It's required for the processor

Site root relative links fail

What happened:
Links like /blogs/... or /images/.. that used to resolve to gardener.cloud/blogs gardener.cloud/images are now set to absolute with github.com as host, which does not resolve expectedly.

What you expected to happen:
Links should resolve to the intended URL: gadener.cloud/images or gardener.cloud/blogs

Describe how to create shoot cluster into existing VPC

I was trying to create a shoot cluster via the garden API into existing VPC, but there is almost no info what resources are required to be created before the shoot.

For the AWS I found useful the message from this commit gardener/gardener@972bfe8 .

It would be useful the information about creation of shoot into existing VPC and the required resources to be put into a blog post.

Broken links in the "Service Plans" page

Denying all traffic from namespace

Hi.

The networkpolicy here: documentation/website/documentation/050-tutorials/content/howto/network-isolation/_index.md

It should be noted that this will also deny all internet based traffic in those pods as well.

Gardener Project Documentation Material

Documentation Types overview

The following table summarizes the planned types of documentation.

Gardener Content Type Definition Example
How-to Guide Describes how to perform a complex, task that requires to complete smaller tasks. Upgrading kubeadm clusters
Tutorial A step-by-step description that allows users to complete an example task with the goal to learn the details of a given feature. Stateless Applications
Concept Introduce a functionality or concept, covers background information. Services
Trial [Planned] Collection of all other content types to cover a big topic. (Currently it's not possible to reuse content, for example, a tutorial used in a trial must be copied to the trial.) Custom Networking
Reference Provide a reference, for example, list all command line options of gardenctl and what they are used for. Overview of kubectl

See the Documentation Contributors Guide for more details on documentation types, how to produce and contribute them.

Target Audience

  • Gardener operators/SRE (Operators): Operate a public or private service or service in "fenced" environment. Their scope is primarily installation, update/upgrade and operation of the service and its key components, tools references.
  • Gardener (extension) developers (Developers): Develop extensions for Gardener for e.g. more cloud or DNS providers. Their scope is Gardener's architecture and extensibility framework.
  • Gardener cluster users (Users): Use the Gardener managed service to create and operate clusters on demand. Primary concerns are day1/day2 operations in a cluster. Includes also automated operators, although they deserve special attention and sections as in fact that's the predominant way that the service will be used beyond trying it out (manually).

Kubernetes Application Developers role is not in scope for the technical documentation, but is most welcome in technical blogs as long as Gardener is concerned as a topic.

Call for content

Guides

All material except those in "Concepts" are How-to Guides.
"Concepts" are Concept type of material.

Tutorials

  • Developing your first extension
  • Create clusters in restricted environment
  • Gardener 101
    • Installing your first Gardener in cluster
    • Registering a seed cluster (?)
    • Working with projects
    • Creating your first shoot cluster
    • Deploying a Kubernetes application
    • ...
  • ...

Local preview doesn't work correctly

What happened:
With the shift to docforge some folders were removed from documentation because they are fetched by docforge. Consequently when doing make serve for local preview they are missing form the website because the step with docforge build has not been executed. The only way round that is to use docforge, before doing local preview, similar to what we do in the automated central build. That unfortunately, makes it difficult to support live changes, but is still a way to preview before submitting.

What you expected to happen:
Supply the documentation manifest for which we want to see preview and have it built and shown for us.

/priority critical

Documentation issue on page "050-tutorials/content/howto/service-access/_index.md"

I tried to access the NodePort service, curl is not working in interactive mode it results in error.
OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: "curl": executable file not found in $PATH": unknown
command terminated with exit code 126


Page: 050-tutorials/content/howto/service-access/_index.md
don't remove the link to the page. It's required for the processor

oidc-login documentation looks very outdated

What would you like to be added:
The Authentication documentation is very outdated.
https://gardener.cloud/documentation/guides/client_tools/oidc-login/

Why is this needed:
It references auth0.com
but the information needed to configure this is insufficient in many places and needs to be reviewed from someone experienced.
Trying to match auth0 page configuration with the documentation is frustrating because too much is missing or outdated.
That' s the thing with examples. they should work.

CICD job for website build fails

CICD job for website build fails with

runtime: mlock of signal stack failed: 12
runtime: increase the mlock limit (ulimit -l) or
runtime: update your kernel to 5.3.15+, 5.4.2+, or 5.5+
fatal error: mlock failed

when running hugo to build the website

Documentation issue on page "https://github.com/gardener/documentation/wiki/Architecture"

In my opinion, this overview should also answer the following questions:

  • What is a soil cluster?
  • What are virtual clusters?
  • What is gardenlet?

Other documents based on this terminology would be better to understand if these terms were explained here. I can see they are used in newer documents or issues, see for example issue #1744.


Page: https://github.com/gardener/documentation/wiki/Architecture
don't remove the link to the page. It's required for the processor

AdBlockPlus extension hides the menu items on the landing page

AdBlockPlus extension hides the menu items on the landing page because it detects an element with class social-items, which is blacklisted here: https://easylist-downloads.adblockplus.org/fanboy-social.txt (one of the AdBlockPlus built-in blacklists).
See here: https://github.com/gardener/website/blob/master/docs/index.html#L28

This could be easily avoided by whitelisting gardener.cloud, or excluding this blacklist in general or not using AdBlockPlust. However, it happens to be the most popular addblocker with impressive user base in the range of tens of millions so the chance that a user of theirs tries to land on gardener.cloud is substantial. Therefore, this breaks the experience for users inquiring about Gardener and this is not good marketing. On top, it's not so visible that the menu is actually hidden due to addblock blacklisting. The first thing that comes to mind is that it's simply not there. That also contributes to a negative and unjustified experience as people may leave with the conclusion there are is simply no documentation for example.

Perhaps, changing the class to something less addblockable, even if less semantic too, is a better strategy here.

Also note that all links in the social buttons are wrong, featuring gardener.clound instead of gardener.cloud.

Auditing Kubernetes for Secure Setup

svg image is not shown.

<object type="image/svg+xml" data="./images/teaser.svg" style=";visibility:hidden; margin: 3rem auto;display: block;" class="inline reveal-fast drop-shadow"></object>

I am using Safari 14.1 on macOS (Catalina).

Notice not rendered correctly

What happened:

One can see in the documentation source that there are HUGO shortcodes used for different note types, for example:

{{% notice note %}}
<p>
When referring to an update of the "operating system version" in this document, the update of the machine image of the shoot cluster's worker nodes is meant. For example, Amazon Machine Images (AMI) for AWS.
</p>
{{% /notice %}}

https://raw.githubusercontent.com/gardener/documentation/master/website/documentation/guides/administer_shoots/maintain-shoot/_index.md

However, they are not rendered in the output:
https://gardener.cloud/documentation/guides/administer_shoots/maintain-shoot/

You can also see it in the contribution guidelines:
https://gardener.cloud/documentation/contribute/20_documentation/25_markup/notice/

What you expected to happen:

A rendering something like this:
https://matcornic.github.io/hugo-learn-doc/cont/shortcodes/

Documentation issue on page "050-tutorials/content/howto/kubectl-apiserver/_index.md"

kubectl has native support of jsonpath. You can use it in your tutorials instead of jq.

Get the service account:
instead of:
SERVICEACCOUNT=$(kubectl get serviceaccount deploy-user -n default -o json | jq -r .secrets[0].name)
use:
SERVICEACCOUNT=$(kubectl get serviceaccount deploy-user -n default -o=jsonpath={.secrets[0].name}

Generate a token for the serviceaccount:
instead of:
TOKEN=$(kubectl get secret -n default $SERVICEACCOUNT -o json | jq -r .data.token | base64 -D)
use:
TOKEN=$(kubectl get secret -n default $SERVICEACCOUNT -o=jsonpath={.data.token} | base64 -D)


Page: 050-tutorials/content/howto/kubectl-apiserver/_index.md
don't remove the link to the page. It's required for the processor

Broken link / typo on DNS documentation

On the documentation page https://gardener.cloud/documentation/guides/administer_shoots/dns_providers/ the first paragraph has a broken link (bold), as well as a typo (bold)

Gardener can manage DNS records on your behalf, so that you can request them via different resource types (see here) within the shoot cluster. The domains for which you are permitted to request records, are however restricted and depend on the DNS provider confguration.

I believe instead of pointing here: https://gardener.cloud/documentation/guides/administer_shoots/dns_names/_index.md#Introduction it should point to https://gardener.cloud/documentation/guides/administer_shoots/dns_names/#Introduction

nodejs script does not work

When I followed the following instructions:

crawl remote markdown content

node ./node/index.js

I first get an error message that node is not an available command. In Ubuntu it's "nodejs" unless you download "node" as part of the nodejs-legacy package.

No matter if I use "nodejs" or "node" after installation I get the following error message after executing ./node/index.js:

~/myGithub/05_public_gardener/website-generator$ nodejs ./node/index.js
/sapmnt/home1/dXXXXXX/myGithub/05_public_gardener/website-generator/node/index.js:35
let content = fm(fs.readFileSync(file, 'utf8'))
^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3

So does this work at all for local installations?

Add PR review policies

What would you like to be added:
In our PR checklist we don't yet have a review policy, we should add one that includes:

  • PR review response time and Request Changes enforcement.
  • ....

helm install instructions incorrect

The helm text here is incorrect:

  • --name <name> no longer is used in helm v3
  • you need to indicate that the chart is local via relative path

So the instruction:

helm install charts/gardener/controlplane \
  --namespace garden \
  --name gardener-controlplane \
  -f gardener-values.yaml \
  --wait

Should be

helm install gardener-controlplane ./charts/gardener/controlplane \
  --namespace garden \
  -f gardener-values.yaml \
  --wait

Move Architecture.md from Github wiki to documentation git repository

What would you like to be added:
concepts/architecture is currently sourced from Github wiki https://github.com/gardener/documentation/wiki/Architecture.md but would be better maintained directly inside gardener/documentation.git (or even gardener/gardener.git?)

Why is this needed:
The Wiki is not open to outside collaborators and does not support workflows like Pull requests. The License of the wiki content is unclear to me. This is the only documentation page that is maintained in a Github wiki.

No contributors for local pages / "failed to get valid git log output"

What happened:
Documentation pages with their source in the /gardener/documentation repo with Contributors list on top show empty list.
Looking into the Councourse build jobs , the following warnings can be observed:

saving git history for local file /tmp/build/80754af9/git-gardener_website-generator-master_master/hugo/content/documentation/guides/install_gardener/add-node-to-cluster/_index.md
updating git info for /tmp/build/80754af9/git-gardener_website-generator-master_master/hugo/content/documentation/guides/install_gardener/add-node-to-cluster/_index.md failed: Error: failed to get valid git log output

What you expected to happen:
A list of contributors beside the "Contributors" label

How to reproduce it (as minimally and precisely as possible):
See any guide or tutorial that has its source in the documentation repo. Viewing it on the website, you will observe no contributors consistently.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.