Merge pull request #1775 from Felixnoo/update-secrets
Update Doc: Secrets
|
|
@ -24,7 +24,7 @@ You need to create a workspace, a project and an account (`project-regular`). Th
|
|||
|
||||
Log in to the console as `project-regular`. Go to **Configurations** of a project, choose **Secrets** and click **Create**.
|
||||
|
||||

|
||||

|
||||
|
||||
### Step 2: Enter basic information
|
||||
|
||||
|
|
@ -32,57 +32,51 @@ Specify a name for the Secret (for example, `demo-secret`) and click **Next** to
|
|||
|
||||
{{< notice tip >}}
|
||||
|
||||
You can see the Secret's manifest file in YAML format by enabling **Edit Mode** in the top-right corner. KubeSphere allows you to edit the manifest file directly to create a Secret. Alternatively, you can follow the steps below to create a Secret via the dashboard.
|
||||
You can see the Secret's manifest file in YAML format by enabling **Edit Mode** in the upper-right corner. KubeSphere allows you to edit the manifest file directly to create a Secret. Alternatively, you can follow the steps below to create a Secret via the dashboard.
|
||||
|
||||
{{</ notice >}}
|
||||
|
||||

|
||||

|
||||
|
||||
### Step 3: Set a Secret
|
||||
|
||||
1. Under the tab **Secret Settings**, you must choose a Secret type. In KubeSphere, you can create the following types of Secrets, indicated by the `type` field.
|
||||
|
||||

|
||||

|
||||
|
||||
{{< notice note >}}
|
||||
|
||||
For all Secret types, values for all keys under the field `data` in the manifest must be base64-encoded strings. After you specify values on the KubeSphere dashboard, KubeSphere converts them into corresponding base64 character values in the YAML file. For example, if you enter `password` and `hello123` for **Key** and **Value** respectively on the **Edit Data** page when you create the default type of Secret, the actual value displaying in the YAML file is `aGVsbG8xMjM=` (i.e. `hello123` in base64 format), automatically created by KubeSphere.
|
||||
For all Secret types, values for all keys under the field `data` in the manifest must be base64-encoded strings. After you specify values on the KubeSphere dashboard, KubeSphere converts them into corresponding base64 character values in the YAML file. For example, if you enter `password` and `hello123` for **Key** and **Value** respectively on the **Edit Data** page when you create the default type of Secret, the actual value displaying in the YAML file is `aGVsbG8xMjM=` (namely, `hello123` in base64 format), automatically created by KubeSphere.
|
||||
|
||||
{{</ notice >}}
|
||||
|
||||
- **Default**. The type of [Opaque](https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets) in Kubernetes, which is also the default Secret type in Kubernetes. You can create arbitrary user-defined data for this type of Secret.
|
||||
- **Opaque (Default)**. The type of [Opaque](https://kubernetes.io/docs/concepts/configuration/secret/#opaque-secrets) in Kubernetes, which is also the default Secret type in Kubernetes. You can create arbitrary user-defined data for this type of Secret. Click **Add Data** to add key-value pairs for it.
|
||||
|
||||

|
||||

|
||||
|
||||
- **TLS**. The type of [kubernetes.io/tls](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) in Kubernetes, which is used to store a certificate and its associated key that are typically used for TLS, such as TLS termination of Ingress resources. You must specify **Credential** and **Private Key** for it, indicated by `tls.crt` and `tls.key` in the YAML file respectively.
|
||||
- **kubernetes.io/tis (TLS)**. The type of [kubernetes.io/tls](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) in Kubernetes, which is used to store a certificate and its associated key that are typically used for TLS, such as TLS termination of Ingress resources. You must specify **Credential** and **Private Key** for it, indicated by `tls.crt` and `tls.key` in the YAML file respectively.
|
||||
|
||||

|
||||

|
||||
|
||||
- **Image Registry Secret**. The type of [kubernetes.io/dockerconfigjson](https://kubernetes.io/docs/concepts/configuration/secret/#docker-config-secrets) in Kubernetes, which is used to store the credentials for accessing a Docker registry for images. For more information, see [Image Registries](../image-registry/).
|
||||
- **kubernetes.io/dockerconfigjson (Image Registry Secret)**. The type of [kubernetes.io/dockerconfigjson](https://kubernetes.io/docs/concepts/configuration/secret/#docker-config-secrets) in Kubernetes, which is used to store the credentials for accessing a Docker registry for images. For more information, see [Image Registries](../image-registry/).
|
||||
|
||||

|
||||

|
||||
|
||||
- **Account Password Secret**. The type of [kubernetes.io/basic-auth](https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret) in Kubernetes, which is used to store credentials needed for basic authentication. You must specify **User Name** and **Password** for it, indicated by `username` and `password` in the YAML file respectively.
|
||||
- **kubernetes.io/basic-auth (Account Password Secret)**. The type of [kubernetes.io/basic-auth](https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret) in Kubernetes, which is used to store credentials needed for basic authentication. You must specify **Username** and **Password** for it, indicated by `username` and `password` in the YAML file respectively.
|
||||
|
||||

|
||||
|
||||
- **Custom**. You can enter [any type of Secrets supported by Kubernetes](https://kubernetes.io/docs/concepts/configuration/secret/#secret-types) in the box. Click **Add Data** to add key-value pairs for it.
|
||||
|
||||

|
||||

|
||||
|
||||
2. For this tutorial, select the default type of Secret. Click **Add Data** and enter the **Key** (`MYSQL_ROOT_PASSWORD`) and **Value** (`123456`) as below to specify a Secret for MySQL.
|
||||
|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
3. Click **√** in the bottom-right corner to confirm. You can continue to add key-value pairs to the Secret or click **Create** to finish the creation. For more information about how to use the Secret, see [Compose and Deploy WordPress](../../../quick-start/wordpress-deployment/#task-3-create-an-application).
|
||||
|
||||
## Check Secret Details
|
||||
|
||||
1. After a Secret is created, it displays in the list as below. You can click the three dots on the right and select the operation from the menu to modify it.
|
||||
1. After a Secret is created, it will be displayed in the list as below. You can click <img src="/images/docs/project-user-guide/configurations/secrets/three-dots.png" width="20px" /> on the right and select the operation from the menu to modify it.
|
||||
|
||||

|
||||

|
||||
|
||||
- **Edit**: View and edit the basic information.
|
||||
- **Edit YAML**: View, upload, download, or update the YAML file.
|
||||
|
|
@ -91,17 +85,17 @@ You can see the Secret's manifest file in YAML format by enabling **Edit Mode**
|
|||
|
||||
2. Click the name of the Secret and you can go to its detail page. Under the tab **Detail**, you can see all the key-value pairs you have added for the Secret.
|
||||
|
||||

|
||||

|
||||
|
||||
{{< notice note >}}
|
||||
|
||||
As mentioned above, KubeSphere automatically converts the value of a key into its corresponding base64 character value. To see the actual decoded value, click the eye icon on the right.
|
||||
As mentioned above, KubeSphere automatically converts the value of a key into its corresponding base64 character value. To see the actual decoded value, click <img src="/images/docs/project-user-guide/configurations/secrets/eye-icon.png" width="20px" /> on the right.
|
||||
|
||||
{{</ notice >}}
|
||||
|
||||
3. Click **More** to display what operations about this Secret you can do.
|
||||
|
||||

|
||||

|
||||
|
||||
- **Edit YAML**: View, upload, download, or update the YAML file.
|
||||
- **Edit Secret**: Modify the key-value pair of the Secret.
|
||||
|
|
@ -112,11 +106,11 @@ As mentioned above, KubeSphere automatically converts the value of a key into it
|
|||
|
||||
Generally, you need to use a Secret when you create workloads, [Services](../../../project-user-guide/application-workloads/services/), [Jobs](../../../project-user-guide/application-workloads/jobs/) or [CronJobs](../../../project-user-guide/application-workloads/cronjobs/). For example, you can select a Secret for a code repository. For more information, see [Image Registries](../image-registry/).
|
||||
|
||||

|
||||

|
||||
|
||||
Alternatively, you may need to add environment variables for containers. On the **Container Image** page, check **Environment Variables** and click **Use ConfigMap or Secret** to use a Secret from the list.
|
||||
Alternatively, you may need to add environment variables for containers. On the **Container Image** page, select **Environment Variables** and click **Use ConfigMap or Secret** to use a Secret from the list.
|
||||
|
||||

|
||||

|
||||
|
||||
## Create the Most Common Secrets
|
||||
|
||||
|
|
@ -126,19 +120,17 @@ This section shows how to create Secrets from your Docker Hub account and GitHub
|
|||
|
||||
1. Log in to KubeSphere as `project-regular` and go to your project. Select **Secrets** from the navigation bar and click **Create** on the right.
|
||||
|
||||

|
||||
|
||||
2. Set a name, such as `dockerhub-id`, and click **Next**. On the **Secret Settings** page, fill in the following fields and click **Validate** to verify whether the information provided is valid.
|
||||
|
||||
**Type**: Select **Image Registry Secret**.
|
||||
**Type**: Select **kubernetes.io/dockerconfigjson (Image Registry Secret)**.
|
||||
|
||||
**Registry Address**: Enter the Docker Hub registry address, such as `docker.io`.
|
||||
|
||||
**User Name**: Enter your Docker ID.
|
||||
**Username**: Enter your Docker ID.
|
||||
|
||||
**Password**: Enter your Docker Hub password.
|
||||
|
||||

|
||||

|
||||
|
||||
3. Click **Create** to finish.
|
||||
|
||||
|
|
@ -146,16 +138,14 @@ This section shows how to create Secrets from your Docker Hub account and GitHub
|
|||
|
||||
1. Log in to KubeSphere as `project-regular` and go to your project. Select **Secrets** from the navigation bar and click **Create** on the right.
|
||||
|
||||

|
||||
|
||||
2. Set a name, such as `github-id`, and click **Next**. On the **Secret Settings** page, fill in the following fields.
|
||||
|
||||
**Type**: Select **Account Password Secret**.
|
||||
**Type**: Select **kubernetes.io/basic-auth (Account Password Secret)**.
|
||||
|
||||
**User Name**: Enter your GitHub account.
|
||||
**Username**: Enter your GitHub account.
|
||||
|
||||
**Password**: Enter your GitHub password.
|
||||
|
||||

|
||||

|
||||
|
||||
3. Click **Create** to finish.
|
||||
|
|
@ -24,7 +24,7 @@ Kubernetes [密钥 (Secret)](https://kubernetes.io/zh/docs/concepts/configuratio
|
|||
|
||||
以 `project-regular` 用户登录控制台并进入项目,在左侧导航栏中选择**配置中心**下的**密钥**,然后点击**创建**。
|
||||
|
||||

|
||||

|
||||
|
||||
### 步骤 2:配置基本信息
|
||||
|
||||
|
|
@ -36,13 +36,13 @@ Kubernetes [密钥 (Secret)](https://kubernetes.io/zh/docs/concepts/configuratio
|
|||
|
||||
{{</ notice >}}
|
||||
|
||||

|
||||

|
||||
|
||||
### 步骤 3:设置密钥
|
||||
|
||||
1. 在**密钥设置**选项卡,从**类型**下拉列表中选择密钥类型。您可以在 KubeSphere 中创建以下密钥,类型对应 YAML 文件中的 `type` 字段。
|
||||
|
||||

|
||||

|
||||
|
||||
{{< notice note >}}
|
||||
|
||||
|
|
@ -50,39 +50,33 @@ Kubernetes [密钥 (Secret)](https://kubernetes.io/zh/docs/concepts/configuratio
|
|||
|
||||
{{</ notice >}}
|
||||
|
||||
- **默认**:对应 Kubernetes 的 [Opaque](https://kubernetes.io/zh/docs/concepts/configuration/secret/#opaque-secret) 密钥类型,同时也是 Kubernetes 的默认密钥类型。您可以用此类型密钥创建任意自定义数据。
|
||||
- **Opaque(默认)**:对应 Kubernetes 的 [Opaque](https://kubernetes.io/zh/docs/concepts/configuration/secret/#opaque-secret) 密钥类型,同时也是 Kubernetes 的默认密钥类型。您可以用此类型密钥创建任意自定义数据。点击**添加数据**为其添加键值对。
|
||||
|
||||

|
||||

|
||||
|
||||
- **TLS**:对应 Kubernetes 的 [kubernetes.io/tls](https://kubernetes.io/zh/docs/concepts/configuration/secret/#tls-secret) 密钥类型,用于存储证书及其相关密钥。这类数据通常用于 TLS 场景,例如提供给应用路由 (Ingress) 资源用于终结 TLS 链接。使用此类型的密钥时,您必须为其指定**凭证**和**私钥**,分别对应 YAML 文件中的 `tls.crt` 和 `tls.key` 字段。
|
||||
- **kubernetes.io/tls (TLS)**:对应 Kubernetes 的 [kubernetes.io/tls](https://kubernetes.io/zh/docs/concepts/configuration/secret/#tls-secret) 密钥类型,用于存储证书及其相关密钥。这类数据通常用于 TLS 场景,例如提供给应用路由 (Ingress) 资源用于终结 TLS 链接。使用此类型的密钥时,您必须为其指定**凭证**和**私钥**,分别对应 YAML 文件中的 `tls.crt` 和 `tls.key` 字段。
|
||||
|
||||

|
||||

|
||||
|
||||
- **镜像仓库密钥**:对应 Kubernetes 的 [kubernetes.io/dockerconfigjson](https://kubernetes.io/zh/docs/concepts/configuration/secret/#docker-config-secrets) 密钥类型,用于存储访问 Docker 镜像仓库所需的凭证。有关更多信息,请参阅[镜像仓库](../image-registry/)。
|
||||
- **kubernetes.io/dockerconfigjson(镜像仓库密钥)**:对应 Kubernetes 的 [kubernetes.io/dockerconfigjson](https://kubernetes.io/zh/docs/concepts/configuration/secret/#docker-config-secrets) 密钥类型,用于存储访问 Docker 镜像仓库所需的凭证。有关更多信息,请参阅[镜像仓库](../image-registry/)。
|
||||
|
||||

|
||||

|
||||
|
||||
- **帐户密码密钥**:对应 Kubernetes 的 [kubernetes.io/basic-auth](https://kubernetes.io/zh/docs/concepts/configuration/secret/#basic-authentication-secret) 密钥类型,用于存储基本身份认证所需的凭证。使用此类型的密钥时,您必须为其指定**用户名**和**密码**,分别对应 YAML 文件中的 `username` 和 `password` 字段。
|
||||
- **kubernetes.io/basic-auth(帐户密码密钥)**:对应 Kubernetes 的 [kubernetes.io/basic-auth](https://kubernetes.io/zh/docs/concepts/configuration/secret/#basic-authentication-secret) 密钥类型,用于存储基本身份认证所需的凭证。使用此类型的密钥时,您必须为其指定**用户名**和**密码**,分别对应 YAML 文件中的 `username` 和 `password` 字段。
|
||||
|
||||

|
||||

|
||||
|
||||
- **自定义**:您可以输入[任何 Kubernetes 支持的密钥类型](https://kubernetes.io/zh/docs/concepts/configuration/secret/#secret-types),并点击**添加数据**为其添加键值对。
|
||||
2. 本教程以默认类型为例。点击**添加数据**,将**键 (Key)** 设置为 `MYSQL_ROOT_PASSWORD` 并将**值 (Value)** 设置为 `123456`,为 MySQL 设置密钥。
|
||||
|
||||

|
||||
|
||||
2. 本教程以**默认**类型为例。点击**添加数据**,将**键 (Key)** 设置为 `MYSQL_ROOT_PASSWORD` 并将**值 (Value)** 设置为 `123456`,为 MySQL 设置密钥。
|
||||
|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
3. 点击对话框右下角的 **√** 以确认配置。您可以继续为密钥添加键值对或点击**创建**完成操作。有关密钥使用的更多信息,请参阅[创建并发布 WordPress](../../../quick-start/wordpress-deployment/#任务-3创建应用程序)。
|
||||
|
||||
## 查看密钥详情
|
||||
|
||||
1. 密钥创建后会显示在如图所示的列表中。您可以点击右边的三个点,并从下拉菜单中选择操作来修改密钥。
|
||||
1. 密钥创建后会显示在如图所示的列表中。您可以点击右边的 <img src="/images/docs/zh-cn/project-user-guide/configurations/secrets/three-dots.png" width="20px" />,并从下拉菜单中选择操作来修改密钥。
|
||||
|
||||

|
||||

|
||||
|
||||
- **编辑**:查看和编辑基本信息。
|
||||
- **编辑配置文件**:查看、上传、下载或更新 YAML 文件。
|
||||
|
|
@ -91,17 +85,17 @@ Kubernetes [密钥 (Secret)](https://kubernetes.io/zh/docs/concepts/configuratio
|
|||
|
||||
2. 点击密钥名称打开密钥详情页面。在**详情**选项卡,您可以查看密钥的所有键值对。
|
||||
|
||||

|
||||

|
||||
|
||||
{{< notice note >}}
|
||||
|
||||
如上文所述,KubeSphere 自动将键值对的值转换成对应的 base64 编码。您可以点击右边的眼睛图标查看解码后的值。
|
||||
如上文所述,KubeSphere 自动将键值对的值转换成对应的 base64 编码。您可以点击右边的 <img src="/images/docs/zh-cn/project-user-guide/configurations/secrets/eye-icon.png" width="20px" /> 查看解码后的值。
|
||||
|
||||
{{</ notice >}}
|
||||
|
||||
3. 点击**更多操作**对密钥进行其他操作。
|
||||
|
||||

|
||||

|
||||
|
||||
- **编辑配置文件**:查看、上传、下载或更新 YAML 文件。
|
||||
- **编辑密钥**:修改密钥键值对。
|
||||
|
|
@ -112,11 +106,11 @@ Kubernetes [密钥 (Secret)](https://kubernetes.io/zh/docs/concepts/configuratio
|
|||
|
||||
通常情况下,在创建工作负载、[服务](../../../project-user-guide/application-workloads/services/)、[任务](../../../project-user-guide/application-workloads/jobs/)或[定时任务](../../../project-user-guide/application-workloads/cronjobs/)时,您需要使用密钥。例如,您可以为代码仓库选择密钥。有关更多信息,请参阅[镜像仓库](../image-registry/)。
|
||||
|
||||

|
||||

|
||||
|
||||
此外,您还可以用密钥为容器添加环境变量。您可以在**容器镜像**页面勾选**环境变量**,点击**引用配置文件或密钥**,然后从下拉列表中选择一个密钥。
|
||||
|
||||

|
||||

|
||||
|
||||
## 创建常用密钥
|
||||
|
||||
|
|
@ -126,11 +120,9 @@ Kubernetes [密钥 (Secret)](https://kubernetes.io/zh/docs/concepts/configuratio
|
|||
|
||||
1. 以 `project-regular` 用户登录 KubeSphere 并进入您的项目。在左侧导航栏中选择**配置中心**下的**密钥**,然后在页面右侧点击**创建**。
|
||||
|
||||

|
||||
|
||||
2. 设置密钥名称(例如 `dockerhub-id`)并点击**下一步**。在**密钥设置**页面,设置以下参数,然后点击**验证**以检查设置的信息是否有效。
|
||||
|
||||
**类型**:选择**镜像仓库密钥**。
|
||||
**类型**:选择**kubernetes.io/dockerconfigjson(镜像仓库密钥)**。
|
||||
|
||||
**仓库地址**:输入您的 Docker Hub 仓库地址,例如 `docker.io`。
|
||||
|
||||
|
|
@ -138,7 +130,7 @@ Kubernetes [密钥 (Secret)](https://kubernetes.io/zh/docs/concepts/configuratio
|
|||
|
||||
**密码**:输入您的 Docker Hub 密码。
|
||||
|
||||

|
||||

|
||||
|
||||
3. 点击**创建**完成操作。
|
||||
|
||||
|
|
@ -146,16 +138,14 @@ Kubernetes [密钥 (Secret)](https://kubernetes.io/zh/docs/concepts/configuratio
|
|||
|
||||
1. 以 `project-regular` 用户登录 KubeSphere 并进入您的项目。在左侧导航栏中选择**配置中心**下的**密钥**,然后在页面右侧点击**创建**。
|
||||
|
||||

|
||||
|
||||
2. 设置密钥名称(例如 `github-id`)并点击**下一步**。在**密钥设置**页面,设置以下参数。
|
||||
|
||||
**类型**:选择**帐户密码密钥**。
|
||||
**类型**:选择**kubernetes.io/basic-auth(帐户密码密钥)**。
|
||||
|
||||
**用户名**:输入您的 GitHub 帐户。
|
||||
|
||||
**密码**:输入您的 GitHub 密码。
|
||||
|
||||

|
||||

|
||||
|
||||
3. 点击**创建**完成操作。
|
||||
|
Before Width: | Height: | Size: 138 KiB |
|
After Width: | Height: | Size: 286 KiB |
|
After Width: | Height: | Size: 177 KiB |
|
Before Width: | Height: | Size: 192 KiB |
|
After Width: | Height: | Size: 536 KiB |
|
Before Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 130 KiB |
|
After Width: | Height: | Size: 294 KiB |
|
Before Width: | Height: | Size: 176 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 300 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 153 KiB |
|
After Width: | Height: | Size: 105 KiB |
|
Before Width: | Height: | Size: 178 KiB |
|
After Width: | Height: | Size: 334 KiB |
|
Before Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 272 KiB |
|
Before Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 451 KiB |
|
Before Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 195 KiB |
|
After Width: | Height: | Size: 612 KiB |
|
Before Width: | Height: | Size: 152 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 176 KiB |
|
After Width: | Height: | Size: 128 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 280 KiB |
|
Before Width: | Height: | Size: 291 KiB |
|
After Width: | Height: | Size: 922 KiB |
|
Before Width: | Height: | Size: 325 KiB |
|
After Width: | Height: | Size: 952 KiB |
|
Before Width: | Height: | Size: 186 KiB |
|
After Width: | Height: | Size: 278 KiB |
|
Before Width: | Height: | Size: 198 KiB |
|
Before Width: | Height: | Size: 270 KiB |
|
After Width: | Height: | Size: 534 KiB |
|
Before Width: | Height: | Size: 197 KiB |
|
Before Width: | Height: | Size: 192 KiB |
|
After Width: | Height: | Size: 292 KiB |
|
Before Width: | Height: | Size: 218 KiB |
|
After Width: | Height: | Size: 127 KiB |
|
After Width: | Height: | Size: 97 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 188 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 212 KiB |
|
After Width: | Height: | Size: 318 KiB |
|
Before Width: | Height: | Size: 192 KiB |
|
Before Width: | Height: | Size: 270 KiB |
|
Before Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 455 KiB |
|
Before Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 262 KiB |
|
After Width: | Height: | Size: 236 KiB |
|
Before Width: | Height: | Size: 197 KiB |
|
After Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 205 KiB |
|
After Width: | Height: | Size: 121 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 186 KiB |
|
After Width: | Height: | Size: 274 KiB |
|
Before Width: | Height: | Size: 261 KiB |
|
After Width: | Height: | Size: 875 KiB |
|
Before Width: | Height: | Size: 262 KiB |
|
After Width: | Height: | Size: 828 KiB |