Skip to content

Commit

Permalink
Apply markdowlint rules in the kyma repository (#18621)
Browse files Browse the repository at this point in the history
* Apply markdowlint rules in the kyma repository

* Add config files to CODEOWNERS

* Add markdown prefix to the js file and explanatory comment
  • Loading branch information
grego952 authored Mar 22, 2024
1 parent 2511d50 commit 148ab08
Show file tree
Hide file tree
Showing 36 changed files with 165 additions and 91 deletions.
28 changes: 28 additions & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -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
4 changes: 4 additions & 0 deletions .markdownlintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
_sidebar.md
_navbar.md
_footer.md
_sidebar1.md
5 changes: 3 additions & 2 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docs/01-overview/application-connectivity/README.md
Original file line number Diff line number Diff line change
@@ -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).
This content has been moved to: [Application Connector module](https://kyma-project.io/#/application-connector-manager/user/README).
Original file line number Diff line number Diff line change
Expand Up @@ -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.
22 changes: 11 additions & 11 deletions docs/01-overview/application-connectivity/ra-02-useful-links.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
- [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)
16 changes: 8 additions & 8 deletions docs/01-overview/ui/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,39 +5,39 @@ 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:

- Provision a cluster locally or on cloud providers, such as GCP or Azure, or use Gardener to set up and easily manage your clusters.
- 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:

Expand Down
4 changes: 2 additions & 2 deletions docs/02-get-started/01-quick-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion docs/02-get-started/08-uninstall-upgrade-kyma-module.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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}") {
Expand All @@ -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}
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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}") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docs/03-tutorials/00-observability.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
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).
4 changes: 2 additions & 2 deletions docs/03-tutorials/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
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)
* [Revoke a Client Certificate (RA)](00-application-connectivity/ra-03-revoke-client-certificate.md)
* [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)
8 changes: 4 additions & 4 deletions docs/04-operation-guides/security/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
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.
2 changes: 1 addition & 1 deletion docs/04-operation-guides/security/sec-03-access-kyma.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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.
- 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.
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,21 @@ 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
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}
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
```
Expand Down
Loading

0 comments on commit 148ab08

Please sign in to comment.