From 7a5b56540ec215a80b6d73fef8a2a0ea7dbadbf2 Mon Sep 17 00:00:00 2001 From: grego952 Date: Mon, 18 Mar 2024 15:20:00 +0100 Subject: [PATCH 1/3] Apply markdowlint rules in the kyma repository --- .markdownlint.yaml | 28 +++++++++++++++++++ .markdownlintignore | 4 +++ .../application-connectivity/README.md | 2 +- .../ra-01-runtime-agent-overview.md | 1 + .../ra-02-useful-links.md | 22 +++++++-------- docs/01-overview/ui/README.md | 16 +++++------ docs/02-get-started/01-quick-install.md | 4 +-- .../08-uninstall-upgrade-kyma-module.md | 2 +- ...stablish-secure-connection-with-compass.md | 10 +++++-- ...maintain-secure-connection-with-compass.md | 8 ++++-- .../ra-03-revoke-client-certificate.md | 4 +-- ...04-configure-runtime-agent-with-compass.md | 2 +- docs/03-tutorials/00-observability.md | 2 +- docs/03-tutorials/README.md | 4 +-- docs/04-operation-guides/security/README.md | 8 +++--- .../security/sec-01-authentication-in-kyma.md | 2 +- .../security/sec-02-authorization-in-kyma.md | 2 +- .../security/sec-03-access-kyma.md | 2 +- .../01-component-installation-fails.md | 10 +++---- .../01-deplyoment-fails-pending-pods.md | 5 +++- .../troubleshooting/01-k3d-fails-on-linux.md | 1 + .../01-kyma-domain-unresolvable.md | 2 +- .../00-api-overview/README.md | 26 ++++++++--------- .../00-architecture/README.md | 2 +- .../ra-01-runtime-agent-workflow.md | 7 +++-- .../ra-01-connection-with-compass.md | 2 +- .../00-custom-resources/README.md | 2 +- .../ra-01-compassconnection.md | 11 ++++---- .../ra-01-configuring-runtime.md | 8 +++--- docs/README.md | 4 +-- docs/glossary.md | 4 +-- docs/migration-guide-2.19-2.20.md | 8 ++---- docs/release-notes.md | 4 +-- docs/support-contribution.md | 2 +- heading_capitalization.js | 28 +++++++++++++++++++ 35 files changed, 160 insertions(+), 89 deletions(-) create mode 100644 .markdownlint.yaml create mode 100644 .markdownlintignore create mode 100644 heading_capitalization.js diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 000000000000..98ae7d09b435 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,28 @@ +# This is a configuration file for the markdownlint. You can use this file to overwrite the default settings. +# MD013 is set to false by default because many files include lines longer than the conventional 80 character limit +MD013: false +# Disable the Multiple headings with the same content rule +MD024: false +# MD029 is set to false because it generated some issues with longer lists +MD029: false +# Checks if there some inline HTML-elements +MD033: false +# MD044 is used to set capitalization for the particular words. You can determine whether it should be used also for code blocks and html elements +MD044: + code_blocks: false + html_elements: false + names: + - Kyma + - Kubernetes + - ConfigMap + - CronJob + - CustomResourceDefinition + - Ingress + - Node + - PodPreset + - Pod + - ProwJob + - Secret + - ServiceBinding + - ServiceClass + - ServiceInstance diff --git a/.markdownlintignore b/.markdownlintignore new file mode 100644 index 000000000000..79bfabf36d6d --- /dev/null +++ b/.markdownlintignore @@ -0,0 +1,4 @@ +_sidebar.md +_navbar.md +_footer.md +_sidebar1.md \ No newline at end of file diff --git a/docs/01-overview/application-connectivity/README.md b/docs/01-overview/application-connectivity/README.md index 5b795be97bc5..6ac6839f9f38 100644 --- a/docs/01-overview/application-connectivity/README.md +++ b/docs/01-overview/application-connectivity/README.md @@ -1,3 +1,3 @@ # What Is Application Connectivity in Kyma? -This content has been moved to: [Application Connector module](https://kyma-project.io/#/application-connector-manager/user/README). \ No newline at end of file +This content has been moved to: [Application Connector module](https://kyma-project.io/#/application-connector-manager/user/README). diff --git a/docs/01-overview/application-connectivity/ra-01-runtime-agent-overview.md b/docs/01-overview/application-connectivity/ra-01-runtime-agent-overview.md index 043dc6d571c1..1af54c353826 100644 --- a/docs/01-overview/application-connectivity/ra-01-runtime-agent-overview.md +++ b/docs/01-overview/application-connectivity/ra-01-runtime-agent-overview.md @@ -3,6 +3,7 @@ Runtime Agent is a Kyma component that connects to [Compass](https://github.com/kyma-incubator/compass). It is an integral part of every Kyma Runtime in the [Compass mode](README.md) and it fetches the latest configuration from Compass. It also provides Runtime-specific information that is displayed in the Compass UI, such as Runtime UI URL, and it provides Compass with Runtime configuration, such as Event Gateway URL, that should be passed to an Application. To learn more, read the section on [configuring the Runtime](../../05-technical-reference/ra-01-configuring-runtime.md). The main responsibilities of the component are: + - Establishing a trusted connection between the Kyma Runtime and Compass - Renewing a trusted connection between the Kyma Runtime and Compass - Synchronizing with the [Director](https://github.com/kyma-incubator/compass/blob/master/docs/compass/02-01-components.md#director) by fetching new Applications from the Director and creating them in the Runtime, and removing from the Runtime Applications that no longer exist in the Director. diff --git a/docs/01-overview/application-connectivity/ra-02-useful-links.md b/docs/01-overview/application-connectivity/ra-02-useful-links.md index a90ad309ff49..5d43c25c8fee 100644 --- a/docs/01-overview/application-connectivity/ra-02-useful-links.md +++ b/docs/01-overview/application-connectivity/ra-02-useful-links.md @@ -4,19 +4,19 @@ If you're interested in learning more about Runtime Agent, follow these links to - Perform some simple and more advanced tasks: - - [Enable Kyma with Runtime Agent](https://kyma-project.io/#/application-connector-manager/user/02-20-enable-kyma-with-runtime-agent) - - [Establish a secure connection with Compass](../../03-tutorials/00-application-connectivity/ra-01-establish-secure-connection-with-compass.md) - - [Maintain a secure connection with Compass](../../03-tutorials/00-application-connectivity/ra-02-maintain-secure-connection-with-compass.md) - - [Revoke a client certificate (RA)](../../03-tutorials/00-application-connectivity/ra-03-revoke-client-certificate.md) - - [Configure Runtime Agent with Compass](../../03-tutorials/00-application-connectivity/ra-04-configure-runtime-agent-with-compass.md) - - [Reconnect Runtime Agent with Compass](../../03-tutorials/00-application-connectivity/ra-05-reconnect-runtime-agent-with-compass.md) - + - [Enable Kyma with Runtime Agent](https://kyma-project.io/#/application-connector-manager/user/02-20-enable-kyma-with-runtime-agent) + - [Establish a secure connection with Compass](../../03-tutorials/00-application-connectivity/ra-01-establish-secure-connection-with-compass.md) + - [Maintain a secure connection with Compass](../../03-tutorials/00-application-connectivity/ra-02-maintain-secure-connection-with-compass.md) + - [Revoke a client certificate (RA)](../../03-tutorials/00-application-connectivity/ra-03-revoke-client-certificate.md) + - [Configure Runtime Agent with Compass](../../03-tutorials/00-application-connectivity/ra-04-configure-runtime-agent-with-compass.md) + - [Reconnect Runtime Agent with Compass](../../03-tutorials/00-application-connectivity/ra-05-reconnect-runtime-agent-with-compass.md) + - Analyze Runtime Agent specification and configuration files: - - [Compass Connection](../../05-technical-reference/00-custom-resources/ra-01-compassconnection.md) custom resource (CR) - - [Connection with Compass](../../05-technical-reference/00-configuration-parameters/ra-01-connection-with-compass.md) + - [Compass Connection](../../05-technical-reference/00-custom-resources/ra-01-compassconnection.md) custom resource (CR) + - [Connection with Compass](../../05-technical-reference/00-configuration-parameters/ra-01-connection-with-compass.md) - Understand technicalities behind the Runtime Agent implementation: - - [Runtime Agent workflow](../../05-technical-reference/00-architecture/ra-01-runtime-agent-workflow.md) - - [Configuring the Runtime](../../05-technical-reference/ra-01-configuring-runtime.md) \ No newline at end of file + - [Runtime Agent workflow](../../05-technical-reference/00-architecture/ra-01-runtime-agent-workflow.md) + - [Configuring the Runtime](../../05-technical-reference/ra-01-configuring-runtime.md) diff --git a/docs/01-overview/ui/README.md b/docs/01-overview/ui/README.md index 9805e1d246d2..5f1f18750b46 100644 --- a/docs/01-overview/ui/README.md +++ b/docs/01-overview/ui/README.md @@ -5,21 +5,21 @@ Kyma provides two interfaces that you can use for interactions: - **Kyma dashboard** - a web-based administrative UI that you can use to manage the basic Kubernetes resources. - **Kyma CLI** - a CLI to execute various Kyma tasks, such as installing or upgrading Kyma. -# Kyma Dashboard +## Kyma Dashboard -## Purpose +### Purpose Kyma uses [Busola](https://github.com/kyma-project/busola) as a central administration dashboard, which provides a graphical overview of your cluster and deployments. You can deploy microservices, create Functions, and manage their configurations. You can also use it to register cloud providers for additional services, create instances of these services, and use them in your microservices or Functions. -## Integration +### Integration Kyma dashboard is a web-based UI for managing resources within Kyma or any Kubernetes cluster. Kyma dashboard has a dedicated Node.js backend, which is a proxy for a [Kubernetes API server](https://kubernetes.io/docs/concepts/overview/components/#kube-apiserver). -# Kyma CLI +## Kyma CLI -## Purpose +### Purpose Kyma CLI is a command-line tool that supports Kyma developers. It provides a set of commands and flags you can use to: @@ -27,17 +27,17 @@ Kyma CLI is a command-line tool that supports Kyma developers. It provides a set - Install, manage, and test Kyma. - Manage your Functions. -## Compatibility +### Compatibility Kyma CLI is always released in parallel with Kyma to support the latest features, which also affects backwards compatibility. The current Kyma CLI version supports the corresponding Kyma release and the previous release, but it's incompatible with Kyma versions before the previous ones. -## Commands and Flags +### Commands and Flags Kyma CLI comes with a set of commands, each of which has its own specific set of flags. Use them to provision the cluster locally or using a chosen cloud provider, install, and test Kyma. See [the full list of commands and flags](https://github.com/kyma-project/cli/tree/main/docs/gen-docs). -## Syntax +### Syntax For the commands and flags to work, they must follow this syntax: diff --git a/docs/02-get-started/01-quick-install.md b/docs/02-get-started/01-quick-install.md index ea133f5497be..976525a833a4 100644 --- a/docs/02-get-started/01-quick-install.md +++ b/docs/02-get-started/01-quick-install.md @@ -2,7 +2,7 @@ To get started with Kyma, let's quickly install it with specific modules first. -> [!NOTE] +> [!NOTE] > This guide describes installation of standalone Kyma with specific modules. If you are using SAP BTP, Kyma runtime (SKR), read [Enable and Disable a Kyma Module](https://help.sap.com/docs/btp/sap-business-technology-platform/enable-and-disable-kyma-module?locale=en-US&version=Cloud) instead. ## Prerequisites @@ -37,7 +37,7 @@ To get started with Kyma, let's quickly install it with specific modules first. kubectl apply -f https://github.com/kyma-project/btp-manager/releases/latest/download/btp-operator-default-cr.yaml -n kyma-system ``` - > [!WARNING] + > [!WARNING] > The CR is in the `Warning` state and the message is `Secret resource not found reason: MissingSecret`. To create a Secret, follow the instructions in the [`btp-manager`](https://github.com/kyma-project/btp-manager/blob/main/docs/user/02-10-usage.md#create-and-install-secret) repository. [**Application Connector**](https://github.com/kyma-project/application-connector-manager) diff --git a/docs/02-get-started/08-uninstall-upgrade-kyma-module.md b/docs/02-get-started/08-uninstall-upgrade-kyma-module.md index f7fb82010c90..269058dd7f93 100644 --- a/docs/02-get-started/08-uninstall-upgrade-kyma-module.md +++ b/docs/02-get-started/08-uninstall-upgrade-kyma-module.md @@ -2,7 +2,7 @@ This guide shows how to quickly uninstall or upgrade Kyma with specific modules. -> [!NOTE] +> [!NOTE] > This guide describes uninstallation and upgrade of standalone Kyma with specific modules. If you are using SAP BTP, Kyma runtime (SKR), read [Enable and Disable a Kyma Module](https://help.sap.com/docs/btp/sap-business-technology-platform/enable-and-disable-kyma-module?locale=en-US&version=Cloud) instead. ## Uninstall Kyma with a Module diff --git a/docs/03-tutorials/00-application-connectivity/ra-01-establish-secure-connection-with-compass.md b/docs/03-tutorials/00-application-connectivity/ra-01-establish-secure-connection-with-compass.md index 764840909770..ea8707418c9c 100644 --- a/docs/03-tutorials/00-application-connectivity/ra-01-establish-secure-connection-with-compass.md +++ b/docs/03-tutorials/00-application-connectivity/ra-01-establish-secure-connection-with-compass.md @@ -29,7 +29,7 @@ To establish a secure connection with Compass and generate the client certificat } ``` - > [!NOTE] + > [!NOTE] > The one-time token expires after 5 minutes. 2. Get the CSR information and configuration details from Kyma using the one-time token. @@ -59,24 +59,27 @@ To establish a secure connection with Compass and generate the client certificat 3. Generate a key and a Certificate Signing Request (CSR). - Generate a CSR with the following command. **{SUBJECT}** is the certificate subject data returned with the CSR information as `subject`. + Generate a CSR with the following command. **{SUBJECT}** is the certificate subject data returned with the CSR information as `subject`. ```bash export KEY_LENGTH=4096 openssl genrsa -out compass-app.key $KEY_LENGTH openssl req -new -sha256 -out compass-app.csr -key compass-app.key -subj "{SUBJECT}" ``` - > [!NOTE] + + > [!NOTE] > The key length is configurable, however, 4096 is the recommended value. 4. Sign the CSR and get a client certificate. Encode the obtained CSR with base64: + ```bash openssl base64 -in compass-app.csr ``` To get the CSR signed, use the encoded CSR in this GraphQL mutation: + ```graphql mutation { result: signCertificateSigningRequest(csr: "{BASE64_ENCODED_CSR}") { @@ -94,6 +97,7 @@ To establish a secure connection with Compass and generate the client certificat 5. Decode the certificate chain. After you receive the certificates, decode the certificate chain with the base64 method and use it in your application: + ```bash base64 -d {CERTIFICATE_CHAIN} ``` diff --git a/docs/03-tutorials/00-application-connectivity/ra-02-maintain-secure-connection-with-compass.md b/docs/03-tutorials/00-application-connectivity/ra-02-maintain-secure-connection-with-compass.md index cbd3cb2786d5..1fed9975de72 100644 --- a/docs/03-tutorials/00-application-connectivity/ra-02-maintain-secure-connection-with-compass.md +++ b/docs/03-tutorials/00-application-connectivity/ra-02-maintain-secure-connection-with-compass.md @@ -37,22 +37,26 @@ After you have established a secure connection with Compass, you can fetch the c 2. Generate a key and a Certificate Signing Request (CSR). Generate a CSR with this command using the certificate subject data obtained with the CSR information: - ``` + + ```bash export KEY_LENGTH=4096 openssl genrsa -out compass-app.key $KEY_LENGTH openssl req -new -sha256 -out compass-app.csr -key compass-app.key -subj "{SUBJECT}" ``` - > [!NOTE] + + > [!NOTE] > The key length is configurable, however, 4096 is the recommended value. 3. Sign the CSR and renew the client certificate. Encode the obtained CSR with base64: + ```bash openssl base64 -in compass-app.csr ``` Send the following GraphQL mutation with the encoded CSR to the Certificate-Secured Connector URL: + ```graphql mutation { result: signCertificateSigningRequest(csr: "{BASE64_ENCODED_CSR}") { diff --git a/docs/03-tutorials/00-application-connectivity/ra-03-revoke-client-certificate.md b/docs/03-tutorials/00-application-connectivity/ra-03-revoke-client-certificate.md index 99a94ce4c717..dff670c4cd81 100644 --- a/docs/03-tutorials/00-application-connectivity/ra-03-revoke-client-certificate.md +++ b/docs/03-tutorials/00-application-connectivity/ra-03-revoke-client-certificate.md @@ -2,7 +2,7 @@ After you have established a secure connection with Compass and generated a client certificate, you may want to revoke this certificate at some point. To revoke a client certificate, follow the steps in this tutorial. -> [!NOTE] +> [!NOTE] > A revoked client certificate remains valid until it expires, but it cannot be renewed. ## Prerequisites @@ -13,7 +13,7 @@ After you have established a secure connection with Compass and generated a clie - Runtime connected to Compass - [Established secure connection with Compass](ra-01-establish-secure-connection-with-compass.md) -> [!NOTE] +> [!NOTE] > See how to [maintain a secure connection with Compass and renew a client certificate](ra-02-maintain-secure-connection-with-compass.md). ## Revoke the Certificate diff --git a/docs/03-tutorials/00-application-connectivity/ra-04-configure-runtime-agent-with-compass.md b/docs/03-tutorials/00-application-connectivity/ra-04-configure-runtime-agent-with-compass.md index 332c10f9f18c..9727b6ef8cff 100644 --- a/docs/03-tutorials/00-application-connectivity/ra-04-configure-runtime-agent-with-compass.md +++ b/docs/03-tutorials/00-application-connectivity/ra-04-configure-runtime-agent-with-compass.md @@ -10,7 +10,7 @@ This tutorial shows how to configure Runtime Agent with Compass. - One-time token from the Connector - Tenant ID -> [!NOTE] +> [!NOTE] > Learn also about the [parameters required](../../05-technical-reference/00-configuration-parameters/ra-01-connection-with-compass.md) to initialize the connection between Runtime Agent and Compass. ## Steps diff --git a/docs/03-tutorials/00-observability.md b/docs/03-tutorials/00-observability.md index a06cc319ba19..5af7002040f7 100644 --- a/docs/03-tutorials/00-observability.md +++ b/docs/03-tutorials/00-observability.md @@ -2,4 +2,4 @@ If you're interested in using our Telemetry module to integrate with backends, check out the [Integration Guides](https://kyma-project.io/#/telemetry-manager/user/README?id=integration-guides). -For a tutorial based on a typical prometheus stack, please read [Monitoring in Kyma using a custom kube-prometheus-stack](https://github.com/kyma-project/examples/edit/main/prometheus/README.md). \ No newline at end of file +For a tutorial based on a typical prometheus stack, please read [Monitoring in Kyma using a custom kube-prometheus-stack](https://github.com/kyma-project/examples/edit/main/prometheus/README.md). diff --git a/docs/03-tutorials/README.md b/docs/03-tutorials/README.md index 0182ed045f95..ce5a0b798cb8 100644 --- a/docs/03-tutorials/README.md +++ b/docs/03-tutorials/README.md @@ -3,7 +3,7 @@ Alright - you know what Kyma is, you got it started, now you want to know what else is possible. Dive in deeper and explore the functionalities that Kyma provides for various use cases! -### Application Connectivity +## Application Connectivity * [Establish a Secure Connection with Compass](00-application-connectivity/ra-01-establish-secure-connection-with-compass.md) * [Maintain a Secure Connection with Compass](00-application-connectivity/ra-02-maintain-secure-connection-with-compass.md) @@ -11,6 +11,6 @@ Dive in deeper and explore the functionalities that Kyma provides for various us * [Configure Runtime Agent with Compass](00-application-connectivity/ra-04-configure-runtime-agent-with-compass.md) * [Reconnect Runtime Agent with Compass](00-application-connectivity/ra-05-reconnect-runtime-agent-with-compass.md) -### Observability +## Observability * [Observability](00-observability.md) diff --git a/docs/04-operation-guides/security/README.md b/docs/04-operation-guides/security/README.md index f85b84ec4677..f36ed5dadcea 100644 --- a/docs/04-operation-guides/security/README.md +++ b/docs/04-operation-guides/security/README.md @@ -3,11 +3,11 @@ To ensure a stable and secure work environment, the Kyma security component uses the following tools: - Predefined [Kubernetes RBAC roles](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) to manage the user access to the functionality provided by Kyma -- Istio Service Mesh with the global mTLS setup and ingress configuration to ensure secure service-to-service communication +- Istio Service Mesh with the global mTLS setup and Ingress configuration to ensure secure service-to-service communication - [ORY Oathkeeper](https://www.ory.sh/oathkeeper/docs/) used by API Gateway to authenticate, authorize, and mutate incoming HTTP requests. This is a complete list of security-related guides in Kyma: -* [Authentication in Kyma](sec-01-authentication-in-kyma.md) -* [Authorization in Kyma](sec-02-authorization-in-kyma.md) -* [Access Kyma Securely](sec-03-access-kyma.md) +- [Authentication in Kyma](sec-01-authentication-in-kyma.md) +- [Authorization in Kyma](sec-02-authorization-in-kyma.md) +- [Access Kyma Securely](sec-03-access-kyma.md) diff --git a/docs/04-operation-guides/security/sec-01-authentication-in-kyma.md b/docs/04-operation-guides/security/sec-01-authentication-in-kyma.md index 69fc145af0da..404975511e92 100644 --- a/docs/04-operation-guides/security/sec-01-authentication-in-kyma.md +++ b/docs/04-operation-guides/security/sec-01-authentication-in-kyma.md @@ -10,7 +10,7 @@ The diagram shows the user authentication flow: 2. Kyma dashboard redirects you to an OIDC-compliant identity provider to handle the authentication. 3. After successful authentication, the identity provider issues a JWT token that is stored in the browser session and used for all subsequent requests. -### ID Tokens +## ID Tokens ID Tokens are JSON Web Tokens (JWTs) signed by an OIDC-compliant identity provider and returned as part of the OAuth2 response that attest to the end user's identity. An example of the decoded JWT looks as follows: diff --git a/docs/04-operation-guides/security/sec-02-authorization-in-kyma.md b/docs/04-operation-guides/security/sec-02-authorization-in-kyma.md index 5671a05163d5..f2a7f8bf4573 100644 --- a/docs/04-operation-guides/security/sec-02-authorization-in-kyma.md +++ b/docs/04-operation-guides/security/sec-02-authorization-in-kyma.md @@ -28,4 +28,4 @@ Kyma uses the native [Istio Authorization Policy](https://istio.io/latest/docs/r ## User-To-Service Authorization -The [API Gateway module](https://kyma-project.io/#/api-gateway/user/README), which is built on top of [Ory Oathkeeper](https://www.ory.sh/oathkeeper/docs/), allows exposing user applications within the Kyma environment and secures them if necessary. \ No newline at end of file +The [API Gateway module](https://kyma-project.io/#/api-gateway/user/README), which is built on top of [Ory Oathkeeper](https://www.ory.sh/oathkeeper/docs/), allows exposing user applications within the Kyma environment and secures them if necessary. diff --git a/docs/04-operation-guides/security/sec-03-access-kyma.md b/docs/04-operation-guides/security/sec-03-access-kyma.md index efbc9e6f0ce6..ccd9454eed0d 100644 --- a/docs/04-operation-guides/security/sec-03-access-kyma.md +++ b/docs/04-operation-guides/security/sec-03-access-kyma.md @@ -22,5 +22,5 @@ The diagram shows the Kyma access flow using Kyma dashboard. ## Kubernetes-Native CLI (kubectl) -To access and manage your resources, you need a `kubeconfig` file required for authentication. +To access and manage your resources, you need a `kubeconfig` file required for authentication. You can obtain the `kubeconfig` file directly from your Kubernetes Service Provider. It allows you to access the Kubernetes API server, usually as the admin user. Kyma does not manage this config file in any way. diff --git a/docs/04-operation-guides/troubleshooting/01-component-installation-fails.md b/docs/04-operation-guides/troubleshooting/01-component-installation-fails.md index d3050de933e4..0b84a4687d9b 100644 --- a/docs/04-operation-guides/troubleshooting/01-component-installation-fails.md +++ b/docs/04-operation-guides/troubleshooting/01-component-installation-fails.md @@ -11,12 +11,12 @@ A Pod might be not running. ## Remedy 1. To check if all deployed Pods are running, run: - + ```bash kubectl get pods --all-namespaces ``` - - The command retrieves all Pods from all namespaces, the status of the Pods, and their instance numbers. + + The command retrieves all Pods from all namespaces, the status of the Pods, and their instance numbers. 2. Check if the status is `Running` for all Pods. 3. If any of the Pods that you need was not started successfully, install Kyma again. @@ -25,5 +25,5 @@ If all Pods were started successfully but the problem persists, investigate the - To get a detailed view of the installation process, use the `--verbose` flag. - To tweak the values on a component level, use `deploy --components`: Pass a components list that includes only the components you want to test and try out the settings that work for your installation. -- To understand which component failed during deployment, *deactivate* the default atomic deployment: `--atomic=false`. - With atomic deployment active, any component that hasn't been installed successfully is rolled back, which may make it hard to find out what went wrong. By disabling the flag, the failed components are not rolled back. \ No newline at end of file +- To understand which component failed during deployment, *deactivate* the default atomic deployment: `--atomic=false`. + With atomic deployment active, any component that hasn't been installed successfully is rolled back, which may make it hard to find out what went wrong. By disabling the flag, the failed components are not rolled back. diff --git a/docs/04-operation-guides/troubleshooting/01-deplyoment-fails-pending-pods.md b/docs/04-operation-guides/troubleshooting/01-deplyoment-fails-pending-pods.md index 5aa8dd4775a4..3fa459086821 100644 --- a/docs/04-operation-guides/troubleshooting/01-deplyoment-fails-pending-pods.md +++ b/docs/04-operation-guides/troubleshooting/01-deplyoment-fails-pending-pods.md @@ -11,7 +11,7 @@ Describing the Pod reveals such an error message: ## Cause -The underlying Docker environment ran out of resources (memory/CPU/disk). +The underlying Docker environment ran out of resources (memory/CPU/disk). Thus, k3d marked all Kubernetes nodes with a taint `disk-pressure`. ## Remedy @@ -19,10 +19,13 @@ Thus, k3d marked all Kubernetes nodes with a taint `disk-pressure`. Verify the cause: 1. Find out which Pods are pending: + ```bash kubectl --all-namespaces get pods ``` + 2. For the pending Pods, verify which error message you get: + ```bash kubectl -n {POD_NAMESPACE} describe pod {POD_NAME} ``` diff --git a/docs/04-operation-guides/troubleshooting/01-k3d-fails-on-linux.md b/docs/04-operation-guides/troubleshooting/01-k3d-fails-on-linux.md index bf5c38fb74c7..76770d751c64 100644 --- a/docs/04-operation-guides/troubleshooting/01-k3d-fails-on-linux.md +++ b/docs/04-operation-guides/troubleshooting/01-k3d-fails-on-linux.md @@ -12,6 +12,7 @@ On Linux, the ports are reserved to be used by a privileged user. ## Remedy Use a custom port for the load balancer. For example, use the port `8080`: + ```bash kyma provision k3d -p 8080:80@loadbalancer -p 8443:443@loadbalancer ``` diff --git a/docs/04-operation-guides/troubleshooting/01-kyma-domain-unresolvable.md b/docs/04-operation-guides/troubleshooting/01-kyma-domain-unresolvable.md index 273422e20081..c872c7d6c851 100644 --- a/docs/04-operation-guides/troubleshooting/01-kyma-domain-unresolvable.md +++ b/docs/04-operation-guides/troubleshooting/01-kyma-domain-unresolvable.md @@ -4,7 +4,7 @@ You get the following error message: -``` +```bash The configured Kyma domain {DOMAIN} is not resolvable. This could be due to activated rebind protection of your DNS resolver. Please add virtual service domains to your hosts file." ``` diff --git a/docs/05-technical-reference/00-api-overview/README.md b/docs/05-technical-reference/00-api-overview/README.md index 3262ac0b12db..cf45b67efa74 100644 --- a/docs/05-technical-reference/00-api-overview/README.md +++ b/docs/05-technical-reference/00-api-overview/README.md @@ -2,7 +2,7 @@ Kyma API versioning and deprecation closely follows the Kubernetes API versioning and deprecation policy. Hence, this document is based on the Kubernetes official documentation. -## API Versioning +## API Versioning (Derived from [API Overview](https://kubernetes.io/docs/reference/using-api/#api-versioning)) @@ -43,14 +43,14 @@ API versions fall into 3 main tracks. Each of the tracks has different policies | v1beta1 | Beta (pre-release) | | v1alpha1 | Alpha (experimental) | -The following rules govern the deprecation of elements of the API which +The following rules govern the deprecation of elements of the API which include: - * REST resources (also known as API objects) - * Fields of REST resources - * Annotations on REST resources, including `beta` annotations, but not including `alpha` annotations - * Enumerated or constant values - * Component config structures +- REST resources (also known as API objects) +- Fields of REST resources +- Annotations on REST resources, including `beta` annotations, but not including `alpha` annotations +- Enumerated or constant values +- Component config structures These rules are enforced between official releases, not between arbitrary commits to main or release branches. @@ -64,15 +64,15 @@ For example, an object can be written as v1 and then read back as v2 and convert **Rule #3: An API version in a given track may not be deprecated in favor of a less stable API version.** - * GA API versions can replace beta and alpha API versions. - * Beta API versions can replace earlier beta and alpha API versions, but *may not* replace GA API versions. - * Alpha API versions can replace earlier alpha API versions, but *may not* replace GA or beta API versions. +- GA API versions can replace beta and alpha API versions. +- Beta API versions can replace earlier beta and alpha API versions, but *may not* replace GA API versions. +- Alpha API versions can replace earlier alpha API versions, but *may not* replace GA or beta API versions. **Rule #4a: minimum API lifetime is determined by the API stability level.** - * **GA API versions may be marked as deprecated, but must not be removed within a major version of a Kyma module** - * **Beta API versions must be supported for 6 months or 3 releases (whichever is longer) after deprecation** - * **Alpha API versions may be removed in any release without prior deprecation notice** +- **GA API versions may be marked as deprecated, but must not be removed within a major version of a Kyma module** +- **Beta API versions must be supported for 6 months or 3 releases (whichever is longer) after deprecation** +- **Alpha API versions may be removed in any release without prior deprecation notice** **Rule #4b: The `preferred` API version and the `storage version` for a given group may not advance until after a release has been made that supports both the new version and the previous version.** diff --git a/docs/05-technical-reference/00-architecture/README.md b/docs/05-technical-reference/00-architecture/README.md index 35e1ad343e27..7e598b648f1b 100644 --- a/docs/05-technical-reference/00-architecture/README.md +++ b/docs/05-technical-reference/00-architecture/README.md @@ -2,6 +2,6 @@ In this section you can learn more about technicalities behind each main area: the components, their interactions, and step-by-step workflows followed by diagrams. -### Application Connectivity +## Application Connectivity * [Runtime Agent Architecture](ra-01-runtime-agent-workflow.md) diff --git a/docs/05-technical-reference/00-architecture/ra-01-runtime-agent-workflow.md b/docs/05-technical-reference/00-architecture/ra-01-runtime-agent-workflow.md index 55ab6f11a448..9e2060ec0ba4 100644 --- a/docs/05-technical-reference/00-architecture/ra-01-runtime-agent-workflow.md +++ b/docs/05-technical-reference/00-architecture/ra-01-runtime-agent-workflow.md @@ -1,7 +1,7 @@ # Runtime Agent Architecture > [!WARNING] -> Runtime Agent is used in the [Compass mode](../../01-overview/application-connectivity/README.md) of Application Connectivity. To learn how to install Compass and integrate with it, refer to the [Compass documentation](https://github.com/kyma-incubator/compass/blob/master/docs/compass/04-01-installation.md) or to the [Director GraphQL schema](https://github.com/kyma-incubator/compass/blob/master/components/director/pkg/graphql/schema.graphql) directly. +> Runtime Agent is used in the [Compass mode](../../01-overview/application-connectivity/README.md) of Application Connectivity. To learn how to install Compass and integrate with it, refer to the [Compass documentation](https://github.com/kyma-incubator/compass/blob/master/docs/compass/04-01-installation.md) or to the [Director GraphQL schema](https://github.com/kyma-incubator/compass/blob/master/components/director/pkg/graphql/schema.graphql) directly. This document presents the workflow of Runtime Agent. @@ -12,8 +12,9 @@ This document presents the workflow of Runtime Agent. 2. Runtime Agent stores the certificate and key for the Connector and the Director in the Secret. 3. Runtime Agent synchronizes the Runtime with the Director. It does so by: - - fetching new Applications from the Director and creating them in the Runtime - - removing from the Runtime the Applications that no longer exist in the Director. + +- fetching new Applications from the Director and creating them in the Runtime +- removing from the Runtime the Applications that no longer exist in the Director. 4. Runtime Agent labels the Runtime data in the Director with the Event Gateway URL and the Console URL of the Kyma cluster. These URLs are displayed in the Compass UI. diff --git a/docs/05-technical-reference/00-configuration-parameters/ra-01-connection-with-compass.md b/docs/05-technical-reference/00-configuration-parameters/ra-01-connection-with-compass.md index d2ae61ef8a70..5dbdc6b6fd74 100644 --- a/docs/05-technical-reference/00-configuration-parameters/ra-01-connection-with-compass.md +++ b/docs/05-technical-reference/00-configuration-parameters/ra-01-connection-with-compass.md @@ -15,7 +15,7 @@ Runtime Agent reads this configuration from the Secret specified in the Runtime To see how to create the Secret, see the [tutorial](../../03-tutorials/00-application-connectivity/ra-04-configure-runtime-agent-with-compass.md). -## Connection status +## Connection Status The connection status is preserved in the [CompassConnection](../00-custom-resources/ra-01-compassconnection.md) custom resource (CR). This CR also stores the Connector URL and the Director URL. diff --git a/docs/05-technical-reference/00-custom-resources/README.md b/docs/05-technical-reference/00-custom-resources/README.md index fb9c18556ea2..87911ba63bb8 100644 --- a/docs/05-technical-reference/00-custom-resources/README.md +++ b/docs/05-technical-reference/00-custom-resources/README.md @@ -6,5 +6,5 @@ A custom resource (CR) is an extension to the Kubernetes API which allows you to | ---- | -------------- | | Application Connectivity | [CompassConnection](ra-01-compassconnection.md) | - > [!NOTE] + > [!NOTE] > For information about third-party custom resources that come together with Kyma, visit the documentation of the respective project. diff --git a/docs/05-technical-reference/00-custom-resources/ra-01-compassconnection.md b/docs/05-technical-reference/00-custom-resources/ra-01-compassconnection.md index a38566bd7abc..c6873e4f032e 100644 --- a/docs/05-technical-reference/00-custom-resources/ra-01-compassconnection.md +++ b/docs/05-technical-reference/00-custom-resources/ra-01-compassconnection.md @@ -1,8 +1,8 @@ # CompassConnection CR -The `compassconnections.compass.kyma-project.io` CustomResourceDefinition (CRD) -is a detailed description of the kind of data and the format used to preserve -the status of the connection between the Runtime Agent and Compass. +The `compassconnections.compass.kyma-project.io` CustomResourceDefinition (CRD) +is a detailed description of the kind of data and the format used to preserve +the status of the connection between the Runtime Agent and Compass. The `CompassConnection` custom resource (CR) contains the connection statuses and Compass URLs. To get the up-to-date CRD and show the output in the `yaml` format, run this command: @@ -13,7 +13,7 @@ kubectl get crd compassconnections.compass.kyma-project.io -o yaml ## Sample Custom Resource This is a sample resource that registers the `compass-agent-connection` CompassConnection -which preserves the status of the connection between Runtime Agent and Compass. +which preserves the status of the connection between Runtime Agent and Compass. It also stores the URLs for the Connector and the Director. ```yaml @@ -51,7 +51,7 @@ This table lists all the possible parameters of the CompassConnection custom res -### CompassConnection.compass.kyma-project.io/v1alpha1 +### CompassConnection.compass.Kyma-project.io/v1alpha1 **Spec:** @@ -91,4 +91,3 @@ This table lists all the possible parameters of the CompassConnection custom res | **Component** | **Description** | |---------------|------------------------------------------------------------------------------------------------------------| | Runtime Agent | Stores the Connector and Director URLs and preserves the status of the connection with Compass in this CR. | - diff --git a/docs/05-technical-reference/ra-01-configuring-runtime.md b/docs/05-technical-reference/ra-01-configuring-runtime.md index b6d75c5002e1..3f3757b1d2d6 100644 --- a/docs/05-technical-reference/ra-01-configuring-runtime.md +++ b/docs/05-technical-reference/ra-01-configuring-runtime.md @@ -1,6 +1,6 @@ # Configuring the Runtime -> [!NOTE] +> [!NOTE] > To represent API and Event Definitions of the Applications connected to a Runtime, we recommend that you use the Open Service Broker API. Runtime Agent periodically requests for the configuration of its Runtime from Compass. @@ -8,16 +8,16 @@ Changes in the configuration for the Runtime are applied by Runtime Agent on the To fetch the Runtime configuration, Runtime Agent calls the [`applicationsForRuntime`](https://github.com/kyma-incubator/compass/blob/master/components/director/pkg/graphql/schema.graphql) query offered by the Compass component called Director. The response for the query contains Applications assigned for the Runtime. -Each Application contains only credentials that are valid for the Runtime that called the query. Runtime Agent uses the credentials to create Secrets used by Application Gateway. +Each Application contains only credentials that are valid for the Runtime that called the query. Runtime Agent uses the credentials to create Secrets used by Application Gateway. Each Runtime Agent can fetch the configurations for Runtimes that belong to its tenant. Runtime Agent reports back to the Director the Runtime-specific [LabelDefinitions](https://github.com/kyma-incubator/compass/blob/master/docs/compass/03-04-labels.md#labeldefinitions), which represent Runtime configuration, together with their values. Runtime-specific LabelDefinitions are Event Gateway URL and Runtime Console URL. -The data mapping between Director and Kyma looks as follows: +The data mapping between Director and Kyma looks as follows: | **Director (Compass)** | **Kyma** | |---------------------------|-------------------------------| | Application | Application CR | | API Bundle | Service in the Application CR | -| API Definition | Entry under the service | \ No newline at end of file +| API Definition | Entry under the service | diff --git a/docs/README.md b/docs/README.md index 7d16274c6fc6..78a3d3caf20e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -5,13 +5,13 @@ It is the open path to the SAP ecosystem supporting business scenarios end-to-en ![overview](assets/modular-kyma.png) -Kyma is an actively maintained open-source project supported by SAP. The Kyma project is also a foundation of SAP BTP, Kyma runtime which is a part of SAP Business Technology Platform (BTP). You can use Kyma modules in your own Kubernetes cluster, or try the managed version from SAP BTP with a ready-to-use Kubernetes cluster powered by Gardener. +Kyma is an actively maintained open-source project supported by SAP. The Kyma project is also a foundation of SAP BTP, Kyma runtime which is a part of SAP Business Technology Platform (BTP). You can use Kyma modules in your own Kubernetes cluster, or try the managed version from SAP BTP with a ready-to-use Kubernetes cluster powered by Gardener. # Kyma's Strengths Kyma is built upon leading cloud-native, open-source projects and open standards, such as Istio, NATS, Cloud Events, and Open Telemetry. We created an opinionated set of modules you can easily enable in your Kubernetes cluster to speed up cloud application development and operations. With Kyma, you save the time to pick the right tools and the effort to keep them secure and up to date. Also, you can use the modules you need from Kyma and complement them with other Kubernetes tools. -Kyma is a Kubernetes-based application runtime with several extensions, not a full-blown platform. The extensions make Kyma more attractive for developers who want to focus on business logic and limit investment in technical services and infrastructure. Kyma is part of SAP Business Technology Platform and offers easy integration with BTP services and other SAP systems. +Kyma is a Kubernetes-based application runtime with several extensions, not a full-blown platform. The extensions make Kyma more attractive for developers who want to focus on business logic and limit investment in technical services and infrastructure. Kyma is part of SAP Business Technology Platform and offers easy integration with BTP services and other SAP systems. Kyma has been open-source since 2018 and part of SAP BTP since 2019. We believe that openness and vendor independence is a valuable proposition. Even though Kyma is a part of the commercial product, SAP BTP, Kyma runtime, it will remain an open project. We also believe that offering an open-source project as a commercial product only benefits both parties. Open-source users get the confidence that the project won't be abandoned anytime soon, and customers see the quality and technical details of the product. Apart from that, SAP strongly supports the open-source community. For more information, visit [SAP Open Source](https://community.sap.com/topics/open-source). diff --git a/docs/glossary.md b/docs/glossary.md index 1b093921c257..3bcf14d33c8a 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -14,7 +14,7 @@ Here's a list of the most commonly used terms that you may come across when brow | Deployment | Deployment is a Kubernetes object that represents a replicated application running in your cluster. | [Kubernetes - Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) | | Function | A simple code snippet that you can run without provisioning or managing servers. It implements the exact business logic you define. A Function is based on the Function custom resource (CR) and can be written in either Node.js or Python. A Function can perform a business logic of its own. You can also bind it to an instance of a service and configure it to be triggered whenever it receives a particular event type from the service or a call is made to the service's API. Functions are executed only if they are triggered by an event or an API call. | [What is Serverless in Kyma?](https://kyma-project.io/#/serverless-manager/user/README) | | Kyma cluster | A Kubernetes cluster with Kyma installed. | [Kubernetes components](https://kubernetes.io/docs/concepts/overview/components/) | -| Kyma dashboard | Kyma dashboard is a web-based UI for managing resources within Kyma or any Kubernetes cluster. | [What are the UIs available in Kyma?](./01-overview/ui) +| Kyma dashboard | Kyma dashboard is a web-based UI for managing resources within Kyma or any Kubernetes cluster. | [What are the UIs available in Kyma?](./01-overview/ui) | | Microservice | An architectural variant for extensions or applications, where you separate the tasks into smaller pieces that interact with each other as loosely coupled, independently deployable units of code. A failing microservice should not cause your whole application to fail. Microservices are packed in a container that is always running; it's idling if there is no load. The microservice should always be reachable even when the Pods move around. Microservices typically communicate through APIs. | | | Namespace | Namespaces organize objects in a cluster and provide a way to divide cluster resources. This way, several users can share a cluster but have access to resources restricted to specified namespaces only. This increases the security and organization of your cluster by dividing it into smaller units. Access to namespaces in the Kyma environment depends on your permissions. | [Kubernetes - Namespaces](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) | | Pod | Pod is the smallest and simplest Kubernetes object that represents a set of containers running in your cluster. | | @@ -22,5 +22,5 @@ Here's a list of the most commonly used terms that you may come across when brow | Service | A Service in Kubernetes is an abstract way to expose an application running on a set of Pods as a network service.

In Kyma documentation, we use `Service` to refer to the Kubernetes term, and `service` to refer to a software functionality in general. | [Kubernetes - Service](https://kubernetes.io/docs/concepts/services-networking/service/) | | Service operator | Service Management in Kyma uses service operators. A service operator is a piece of software that provides a set of all necessary resources (such as CustomResourceDefinition and controllers) needed to provision third-party services in your Kubernetes cluster. | [OperatorHub.io](https://operatorhub.io/) & [SAP BTP Operator Module](https://kyma-project.io/#/btp-manager/user/README) | -> [!TIP] +> [!TIP] > To learn the basic Kubernetes terminology, read the [Kubernetes glossary](https://kubernetes.io/docs/reference/glossary). diff --git a/docs/migration-guide-2.19-2.20.md b/docs/migration-guide-2.19-2.20.md index 2b36f6c25498..f2ee490d4fc4 100644 --- a/docs/migration-guide-2.19-2.20.md +++ b/docs/migration-guide-2.19-2.20.md @@ -1,8 +1,6 @@ ---- -Migration Guide 2.19-2.20 ---- +# Migration Guide 2.19-2.20 Prometheus and Grafana have been removed with Kyma 2.20. After upgrading to Kyma 2.20, run the script [2.19-2.20-cleanup-monitoring.sh](./assets/2.19-2.20-cleanup-monitoring.sh) to remove Prometheus and Grafana. -> [!NOTE] -> If you want to continue using Prometheus and Grafana, you can [Install a custom kube-prometheus-stack in Kyma](https://github.com/kyma-project/examples/tree/main/prometheus). +> [!NOTE] +> If you want to continue using Prometheus and Grafana, you can [Install a custom kube-prometheus-stack in Kyma](https://github.com/kyma-project/examples/tree/main/prometheus). diff --git a/docs/release-notes.md b/docs/release-notes.md index 56a420bfe6a5..5250adb784b7 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -1,6 +1,6 @@ # Release Notes -As Kyma moved from the component-based to the module-based approach, all new versions of the Kyma modules are now released separately. +As Kyma moved from the component-based to the module-based approach, all new versions of the Kyma modules are now released separately. See the GitHub release pages for all the available modules: * [Istio](https://github.com/kyma-project/istio/releases) @@ -11,4 +11,4 @@ See the GitHub release pages for all the available modules: * [Telemetry](https://github.com/kyma-project/telemetry-manager/releases) * [NATS](https://github.com/kyma-project/nats-manager/releases) * [Eventing](https://github.com/kyma-project/eventing-manager/releases) -* [API Gateway](https://github.com/kyma-project/api-gateway/releases) \ No newline at end of file +* [API Gateway](https://github.com/kyma-project/api-gateway/releases) diff --git a/docs/support-contribution.md b/docs/support-contribution.md index 411ac6eed5d6..6d04fa6de066 100644 --- a/docs/support-contribution.md +++ b/docs/support-contribution.md @@ -10,4 +10,4 @@ Here are our support channels: ## Contribution -To learn how to contribute to Kyma code and documentation, check [Kyma Community](https://github.com/kyma-project/community?tab=readme-ov-file#kyma-community). \ No newline at end of file +To learn how to contribute to Kyma code and documentation, check [Kyma Community](https://github.com/kyma-project/community?tab=readme-ov-file#kyma-community). diff --git a/heading_capitalization.js b/heading_capitalization.js new file mode 100644 index 000000000000..7f0e7c80bb12 --- /dev/null +++ b/heading_capitalization.js @@ -0,0 +1,28 @@ +module.exports = [{ + "names": [ "custom/capitalize-headings" ], + "description": "Heading words longer than 4 characters should be capitalized", + "tags": [ "formatting" ], + "function": function rule(params, onError) { + params.tokens.filter(function filterToken(token) { + return token.type === "heading_open"; + }).forEach(function forToken(heading) { + var headingTokenContent = heading.line.trim(); + var wordsInHeading = headingTokenContent.split(' '); + + for (var i = 0; i < wordsInHeading.length; i++) { + if (wordsInHeading[i].length > 4 && wordsInHeading[i] && + wordsInHeading[i].charAt(0) !== wordsInHeading[i].charAt(0).toUpperCase()) { + var capitalizedWord = wordsInHeading[i].charAt(0).toUpperCase() + wordsInHeading[i].slice(1); + var detailMessage = "Change " + "'" + wordsInHeading[i] + "'" + " to " + "'" + capitalizedWord + "'"; + + onError({ + "lineNumber": heading.lineNumber, + "detail": detailMessage, + "context": headingTokenContent, // Show the whole heading as context + "range": [headingTokenContent.indexOf(wordsInHeading[i]), wordsInHeading[i].length] // Underline the word which needs a change + }); + } + } + }); + } + }]; \ No newline at end of file From a811f6e270f0a9a61e14bc3c3f9c4c341d3e9f8e Mon Sep 17 00:00:00 2001 From: grego952 Date: Thu, 21 Mar 2024 08:22:47 +0100 Subject: [PATCH 2/3] Add config files to CODEOWNERS --- CODEOWNERS | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index 2f4eb936c4e7..38aee668184e 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -33,8 +33,9 @@ /tests/components/application-connector @kyma-project/Framefrog -# Config file for MILV - milv.config.yaml -milv.config.yaml @kyma-project/technical-writers +# Config files for markdownlint +.markdownlint.yaml @kyma-project/technical-writers +heading_capitalization.js @kyma-project/technical-writers # VERSION file VERSION @kyma-project/prow From a7d7db762348cfa4d02747ef472750cca4a81709 Mon Sep 17 00:00:00 2001 From: grego952 Date: Thu, 21 Mar 2024 10:01:32 +0100 Subject: [PATCH 3/3] Add markdown prefix to the js file and explanatory comment --- heading_capitalization.js => markdown_heading_capitalization.js | 2 ++ 1 file changed, 2 insertions(+) rename heading_capitalization.js => markdown_heading_capitalization.js (77%) diff --git a/heading_capitalization.js b/markdown_heading_capitalization.js similarity index 77% rename from heading_capitalization.js rename to markdown_heading_capitalization.js index 7f0e7c80bb12..2fdede35ee9e 100644 --- a/heading_capitalization.js +++ b/markdown_heading_capitalization.js @@ -1,3 +1,5 @@ +// This file is used to trigger the custom rule that checks if all markdown headings (words longer than 4 characters) are written in the title case. To run this check, you must include the check in the markdownlint command. +// For example, if you want to run the check on the `docs` folder, run the following command: `markdownlint -r ./markdown_heading_capitalization.js docs/`. module.exports = [{ "names": [ "custom/capitalize-headings" ], "description": "Heading words longer than 4 characters should be capitalized",