From a0f35949b4abbec9eae6de759002bfe4142de2c1 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Wed, 31 Dec 2025 01:46:36 +0000 Subject: [PATCH 01/43] chore: docs: update Epinio Version Information to 1.13.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- docs/installation/install_epinio_cli.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/installation/install_epinio_cli.md b/docs/installation/install_epinio_cli.md index 9a9b52321d..04acfb3a28 100644 --- a/docs/installation/install_epinio_cli.md +++ b/docs/installation/install_epinio_cli.md @@ -67,15 +67,15 @@ The following commands were tested using cosign version 2.1.1. Instead of signing all release assets, Epinio signs a file containing checksums for the release assets. From the repository you can download the three files: -- `epinio_1.13.6_checksums.txt.pem`, -- `epinio_1.13.6_checksums.txt.sig`, -- `epinio_1.13.6_checksums.txt` +- `epinio_1.13.5_checksums.txt.pem`, +- `epinio_1.13.5_checksums.txt.sig`, +- `epinio_1.13.5_checksums.txt` ``` -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.6_checksums.txt.pem -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.6_checksums.txt.sig -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.6_checksums.txt +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.5_checksums.txt.pem +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.5_checksums.txt.sig +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.5_checksums.txt ``` Once you have the three files locally, you can execute the following command @@ -84,9 +84,9 @@ Once you have the three files locally, you can execute the following command cosign verify-blob \ --certificate-identity-regexp "https://github.com/epinio/epinio" \ --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \ - --cert epinio_1.13.6_checksums.txt.pem \ - --signature epinio_1.13.6_checksums.txt.sig \ - epinio_1.13.6_checksums.txt + --cert epinio_1.13.5_checksums.txt.pem \ + --signature epinio_1.13.5_checksums.txt.sig \ + epinio_1.13.5_checksums.txt ``` A successful output looks like @@ -103,7 +103,7 @@ Before verifying the file integrity, you should first verify the checksum file s Once you’ve downloaded both the checksums and your binary, you can verify integrity by running: ``` -sha256sum --ignore-missing -c epinio_1.13.6_checksums.txt +sha256sum --ignore-missing -c epinio_1.13.5_checksums.txt ``` :::note From 13b7ab7f4790b30c13c9063b8f0b278c61bbbd21 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Wed, 31 Dec 2025 01:46:39 +0000 Subject: [PATCH 02/43] chore: docs: update Epinio Installation URL with version 1.13.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- docs/installation/install_epinio_cli.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installation/install_epinio_cli.md b/docs/installation/install_epinio_cli.md index 04acfb3a28..65ab7556e6 100644 --- a/docs/installation/install_epinio_cli.md +++ b/docs/installation/install_epinio_cli.md @@ -73,9 +73,9 @@ From the repository you can download the three files: ``` -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.5_checksums.txt.pem -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.5_checksums.txt.sig -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.5_checksums.txt +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.5/epinio_1.13.5_checksums.txt.pem +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.5/epinio_1.13.5_checksums.txt.sig +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.5/epinio_1.13.5_checksums.txt ``` Once you have the three files locally, you can execute the following command From 9bec0e9ab7fb48e3f56f9df75922dcabdc58b57f Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Wed, 31 Dec 2025 01:46:41 +0000 Subject: [PATCH 03/43] chore: docs: update Epinio Version Information to 1.13.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- docs/installation/install_epinio_cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/install_epinio_cli.md b/docs/installation/install_epinio_cli.md index 65ab7556e6..b6fe83db58 100644 --- a/docs/installation/install_epinio_cli.md +++ b/docs/installation/install_epinio_cli.md @@ -121,7 +121,7 @@ Run `epinio version` to test the successful installation. ```bash > epinio version -Epinio Version: v1.13.6 +Epinio Version: v1.13.5 Go Version: go1.20 ``` From a865c432dc8925c87df5c31c6c7bbf433a64b0a6 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Wed, 31 Dec 2025 01:46:43 +0000 Subject: [PATCH 04/43] chore: docs: update Epinio Swagger URL with version 1.13.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- docs/references/api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/references/api.md b/docs/references/api.md index 5fef54cc67..c385f6b512 100644 --- a/docs/references/api.md +++ b/docs/references/api.md @@ -17,7 +17,7 @@ curl -u your-username-here:password-here https://epinio.your-system-domain/api/v The responses are all JSON objects, except for some cases where you get an error before the request reaches the Epinio server (e.g. because of bad cluster configuration). -The endpoints are documented in the [OpenAPI Spec](https://www.openapis.org/) format. You can find the definition of the API here: https://github.com/epinio/epinio/blob/v1.13.6/docs/references/api/swagger.json +The endpoints are documented in the [OpenAPI Spec](https://www.openapis.org/) format. You can find the definition of the API here: https://github.com/epinio/epinio/blob/v1.13.5/docs/references/api/swagger.json __Make sure__ you change to the Epinio release you have deployed. From a5a23759474b7ca3aeab56e3baa877c1504d6f22 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Wed, 31 Dec 2025 01:46:45 +0000 Subject: [PATCH 05/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 5c86e7b7fe..76107fc4e9 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* [epinio helm chart 1.13.6](https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.6) +* \[epinio helm chart 1.13.5\](https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.6) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 554c3304f2930af1fc6c62f6a0b87fae6a08f8c0 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Wed, 31 Dec 2025 01:46:46 +0000 Subject: [PATCH 06/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 76107fc4e9..ab94a205b2 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \[epinio helm chart 1.13.5\](https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.6) +* \[epinio helm chart 1.13.5\]\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 36ee1051120102b4b2edd2f3fe8a16d608075e37 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Wed, 31 Dec 2025 12:45:11 +0000 Subject: [PATCH 07/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index ab94a205b2..86316635c4 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \[epinio helm chart 1.13.5\]\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) +* \[epinio helm chart 1.13.5\]\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 1a79dcb33c5f07fa08e7494ca767235adcf996dc Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Wed, 31 Dec 2025 12:45:13 +0000 Subject: [PATCH 08/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 86316635c4..bc2ff926d1 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \[epinio helm chart 1.13.5\]\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) +* \\[epinio helm chart 1.13.5\]\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 7056af41e9c4a434e3b6354732e09a4e43047320 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Thu, 1 Jan 2026 01:56:01 +0000 Subject: [PATCH 09/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index bc2ff926d1..2f372b19fe 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\[epinio helm chart 1.13.5\]\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) +* \\\[epinio helm chart 1.13.5\]\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 3f2d9c210824892b1c152c0778b7fde26f4a95cd Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Thu, 1 Jan 2026 01:56:08 +0000 Subject: [PATCH 10/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 2f372b19fe..ecd32186c0 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\[epinio helm chart 1.13.5\]\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) +* \\\[epinio helm chart 1.13.5\]\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From a304380df8b7155fd9a315e7caa915dd9b5aa136 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Thu, 1 Jan 2026 12:44:55 +0000 Subject: [PATCH 11/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index ecd32186c0..87095e2b8d 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\[epinio helm chart 1.13.5\]\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) +* \\\\[epinio helm chart 1.13.5\]\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 141283966bc1545e693bf5fe052a04c3550e2b68 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Thu, 1 Jan 2026 12:45:03 +0000 Subject: [PATCH 12/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 87095e2b8d..9bafbe71a5 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\[epinio helm chart 1.13.5\]\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) +* \\\\[epinio helm chart 1.13.5\]\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 19a0ed3891a895fd42364d223d372463efda2d94 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 01:47:45 +0000 Subject: [PATCH 13/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 9bafbe71a5..83c426199e 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\[epinio helm chart 1.13.5\]\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) +* \\\\[epinio helm chart 1.13.5\]\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 24fe8e98d01074eb4fad1b99e32e01c407218ded Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 01:47:47 +0000 Subject: [PATCH 14/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 83c426199e..0d494a6605 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\[epinio helm chart 1.13.5\]\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) +* \\\\\[epinio helm chart 1.13.5\]\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From f4b87457df0a97b8b1f9e83b822391fe60fcb882 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 12:43:57 +0000 Subject: [PATCH 15/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 0d494a6605..5dcd691587 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\[epinio helm chart 1.13.5\]\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) +* \\\\\[epinio helm chart 1.13.5\]\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From b815da2a0655d3d84df40b30012dd202b943d62a Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 12:44:03 +0000 Subject: [PATCH 16/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 5dcd691587..b119a39c0c 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\[epinio helm chart 1.13.5\]\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) +* \\\\\\[epinio helm chart 1.13.5\]\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 1a4e41689a9b50671079df5878aa542ddbb13a2f Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 19:09:32 +0000 Subject: [PATCH 17/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index b119a39c0c..ab77f0a0ba 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\[epinio helm chart 1.13.5\]\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.5\) +* \\\\\\[epinio helm chart 1.13.5\]\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.6\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 1b4288da25cc69aa574e206d8d6b7c9d3da3b3bf Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 19:09:34 +0000 Subject: [PATCH 18/43] chore: docs: update Epinio Version Information to 1.13.6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- docs/installation/install_epinio_cli.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/installation/install_epinio_cli.md b/docs/installation/install_epinio_cli.md index b6fe83db58..ea4d83d96f 100644 --- a/docs/installation/install_epinio_cli.md +++ b/docs/installation/install_epinio_cli.md @@ -67,15 +67,15 @@ The following commands were tested using cosign version 2.1.1. Instead of signing all release assets, Epinio signs a file containing checksums for the release assets. From the repository you can download the three files: -- `epinio_1.13.5_checksums.txt.pem`, -- `epinio_1.13.5_checksums.txt.sig`, -- `epinio_1.13.5_checksums.txt` +- `epinio_1.13.6_checksums.txt.pem`, +- `epinio_1.13.6_checksums.txt.sig`, +- `epinio_1.13.6_checksums.txt` ``` -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.5/epinio_1.13.5_checksums.txt.pem -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.5/epinio_1.13.5_checksums.txt.sig -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.5/epinio_1.13.5_checksums.txt +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.5/epinio_1.13.6_checksums.txt.pem +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.5/epinio_1.13.6_checksums.txt.sig +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.5/epinio_1.13.6_checksums.txt ``` Once you have the three files locally, you can execute the following command @@ -84,9 +84,9 @@ Once you have the three files locally, you can execute the following command cosign verify-blob \ --certificate-identity-regexp "https://github.com/epinio/epinio" \ --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \ - --cert epinio_1.13.5_checksums.txt.pem \ - --signature epinio_1.13.5_checksums.txt.sig \ - epinio_1.13.5_checksums.txt + --cert epinio_1.13.6_checksums.txt.pem \ + --signature epinio_1.13.6_checksums.txt.sig \ + epinio_1.13.6_checksums.txt ``` A successful output looks like @@ -103,7 +103,7 @@ Before verifying the file integrity, you should first verify the checksum file s Once you’ve downloaded both the checksums and your binary, you can verify integrity by running: ``` -sha256sum --ignore-missing -c epinio_1.13.5_checksums.txt +sha256sum --ignore-missing -c epinio_1.13.6_checksums.txt ``` :::note From 6a6480b58a32b99597b822b3a871ac1337a89e06 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 19:09:36 +0000 Subject: [PATCH 19/43] chore: docs: update Epinio Installation URL with version 1.13.6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- docs/installation/install_epinio_cli.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installation/install_epinio_cli.md b/docs/installation/install_epinio_cli.md index ea4d83d96f..d240089b68 100644 --- a/docs/installation/install_epinio_cli.md +++ b/docs/installation/install_epinio_cli.md @@ -73,9 +73,9 @@ From the repository you can download the three files: ``` -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.5/epinio_1.13.6_checksums.txt.pem -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.5/epinio_1.13.6_checksums.txt.sig -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.5/epinio_1.13.6_checksums.txt +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.6_checksums.txt.pem +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.6_checksums.txt.sig +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.6_checksums.txt ``` Once you have the three files locally, you can execute the following command From ec723e45ad936ce1cdda7115e5563c1cae768745 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 19:09:38 +0000 Subject: [PATCH 20/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index ab77f0a0ba..8f9a66fb8e 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\[epinio helm chart 1.13.5\]\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.6\) +* \\\\\\\[epinio helm chart 1.13.6\]\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.6\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 52ea8c64f22fbb2e08004660eaca2e1a669e18e7 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 19:09:41 +0000 Subject: [PATCH 21/43] chore: docs: update Epinio Swagger URL with version 1.13.6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- docs/references/api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/references/api.md b/docs/references/api.md index c385f6b512..5fef54cc67 100644 --- a/docs/references/api.md +++ b/docs/references/api.md @@ -17,7 +17,7 @@ curl -u your-username-here:password-here https://epinio.your-system-domain/api/v The responses are all JSON objects, except for some cases where you get an error before the request reaches the Epinio server (e.g. because of bad cluster configuration). -The endpoints are documented in the [OpenAPI Spec](https://www.openapis.org/) format. You can find the definition of the API here: https://github.com/epinio/epinio/blob/v1.13.5/docs/references/api/swagger.json +The endpoints are documented in the [OpenAPI Spec](https://www.openapis.org/) format. You can find the definition of the API here: https://github.com/epinio/epinio/blob/v1.13.6/docs/references/api/swagger.json __Make sure__ you change to the Epinio release you have deployed. From 8718df5aa760f5ea8bf08a0158f940d98359a79f Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 19:09:43 +0000 Subject: [PATCH 22/43] chore: docs: update Epinio Version Information to 1.13.6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- docs/installation/install_epinio_cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/install_epinio_cli.md b/docs/installation/install_epinio_cli.md index d240089b68..9a9b52321d 100644 --- a/docs/installation/install_epinio_cli.md +++ b/docs/installation/install_epinio_cli.md @@ -121,7 +121,7 @@ Run `epinio version` to test the successful installation. ```bash > epinio version -Epinio Version: v1.13.5 +Epinio Version: v1.13.6 Go Version: go1.20 ``` From 72ea76e9078f4d7081f3c4db1756a969ca78279c Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 22:26:07 +0000 Subject: [PATCH 23/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 8f9a66fb8e..3548825f97 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\[epinio helm chart 1.13.6\]\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.6\) +* \\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.6\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 1e2ab97a43f9abec0b13ad162d63c5d4806760a3 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 22:26:08 +0000 Subject: [PATCH 24/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 3548825f97..ec56e596f7 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.6\) +* \\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 00645f2da10f188edf7411d9badaa0908dffc4a3 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 22:26:09 +0000 Subject: [PATCH 25/43] chore: docs: update Epinio Swagger URL with version 1.13.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- docs/references/api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/references/api.md b/docs/references/api.md index 5fef54cc67..1e0007768d 100644 --- a/docs/references/api.md +++ b/docs/references/api.md @@ -17,7 +17,7 @@ curl -u your-username-here:password-here https://epinio.your-system-domain/api/v The responses are all JSON objects, except for some cases where you get an error before the request reaches the Epinio server (e.g. because of bad cluster configuration). -The endpoints are documented in the [OpenAPI Spec](https://www.openapis.org/) format. You can find the definition of the API here: https://github.com/epinio/epinio/blob/v1.13.6/docs/references/api/swagger.json +The endpoints are documented in the [OpenAPI Spec](https://www.openapis.org/) format. You can find the definition of the API here: https://github.com/epinio/epinio/blob/v1.13.7/docs/references/api/swagger.json __Make sure__ you change to the Epinio release you have deployed. From 8c61a22cf9d674a3a3aaa8709921914fccb0bb8d Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 22:28:24 +0000 Subject: [PATCH 26/43] chore: Set latest docusaurus version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../explanations/_category_.json | 5 + .../version-1.13.7/explanations/advanced.md | 194 +++ .../explanations/detailed-push-process.md | 136 ++ .../explanations/epinio-push-detailed.svg | 1150 +++++++++++++++++ .../version-1.13.7/explanations/principles.md | 38 + .../version-1.13.7/explanations/security.md | 43 + .../version-1.13.7/howtos/_category_.json | 5 + .../version-1.13.7/howtos/contribute.md | 128 ++ .../howtos/customization/_category_.json | 5 + .../customization/create_custom_appcharts.md | 250 ++++ .../customization/create_custom_role.md | 54 + .../customization/create_custom_service.md | 164 +++ .../customization/create_git_configuration.md | 41 + .../howtos/customization/custom_builder.md | 109 ++ .../howtos/customization/custom_routes.md | 49 + .../customization/export_to_oci_registries.md | 62 + ...vision_external_ip_for_local_kubernetes.md | 72 ++ .../customization/setup_export_registry.md | 104 ++ .../customization/setup_external_registry.md | 62 + .../howtos/customization/setup_external_s3.md | 53 + .../customization/setup_routing_secrets.md | 76 ++ .../using_custom_service_values.md | 222 ++++ .../howtos/operations/_category_.json | 5 + .../howtos/operations/aws_iam_integration.md | 215 +++ .../howtos/operations/configuring_entra_id.md | 94 ++ .../operations/install_metrics_server.md | 37 + .../howtos/other/_category_.json | 5 + .../howtos/other/certificate_issuers.md | 219 ++++ .../howtos/other/gitjob_push.md | 140 ++ .../version-1.13.7/howtos/other/minio.md | 85 ++ .../howtos/other/port_forwarding.md | 65 + .../howtos/other/separate_workload_ingress.md | 37 + .../howtos/other/using_custom_appcharts.md | 141 ++ .../howtos/use-develop/_category_.json | 5 + .../howtos/use-develop/app_recover.md | 163 +++ .../howtos/use-develop/debug.md | 56 + .../howtos/use-develop/example-apps.md | 61 + .../howtos/use-develop/export-and-transfer.md | 67 + .../install_wordpress_application.md | 62 + .../howtos/use-develop/namespaces.md | 60 + .../installation/_category_.json | 5 + .../version-1.13.7/installation/dns_setup.md | 207 +++ .../installation/install_epinio.md | 290 +++++ .../installation/install_epinio_cli.md | 127 ++ .../other_inst_scenarios/_category_.json | 5 + .../install_epinio_on_eks.md | 127 ++ .../install_epinio_on_k3d.md | 65 + .../install_epinio_on_k3s.md | 63 + .../install_epinio_on_public_cloud.md | 71 + .../install_epinio_on_rancher.md | 108 ++ .../install_epinio_on_rancher_desktop.md | 91 ++ .../install_epinio_on_rke.md | 101 ++ .../installation/uninstall_epinio.md | 23 + .../installation/wildcardDNS_setup.md | 53 + versioned_docs/version-1.13.7/intro.md | 63 + .../version-1.13.7/references/_category_.json | 5 + .../version-1.13.7/references/api.md | 24 + .../references/authentication_oidc.md | 142 ++ .../references/authorization.md | 250 ++++ .../version-1.13.7/references/cert-manager.md | 159 +++ .../references/command_requirements.md | 18 + .../references/commands/_category_.json | 5 + .../references/commands/cli/_category_.json | 4 + .../commands/cli/app/_category_.json | 4 + .../commands/cli/app/chart/_category_.json | 4 + .../cli/app/chart/epinio_app_chart.md | 45 + .../cli/app/chart/epinio_app_chart_default.md | 46 + .../cli/app/chart/epinio_app_chart_list.md | 46 + .../cli/app/chart/epinio_app_chart_show.md | 42 + .../commands/cli/app/env/_category_.json | 4 + .../commands/cli/app/env/epinio_app_env.md | 46 + .../cli/app/env/epinio_app_env_list.md | 46 + .../cli/app/env/epinio_app_env_set.md | 46 + .../cli/app/env/epinio_app_env_show.md | 42 + .../cli/app/env/epinio_app_env_unset.md | 46 + .../references/commands/cli/app/epinio_app.md | 61 + .../commands/cli/app/epinio_app_create.md | 49 + .../commands/cli/app/epinio_app_delete.md | 43 + .../commands/cli/app/epinio_app_exec.md | 43 + .../commands/cli/app/epinio_app_export.md | 47 + .../commands/cli/app/epinio_app_list.md | 48 + .../commands/cli/app/epinio_app_logs.md | 44 + .../commands/cli/app/epinio_app_manifest.md | 42 + .../cli/app/epinio_app_port-forward.md | 44 + .../commands/cli/app/epinio_app_push.md | 55 + .../commands/cli/app/epinio_app_restage.md | 43 + .../commands/cli/app/epinio_app_restart.md | 42 + .../commands/cli/app/epinio_app_show.md | 43 + .../commands/cli/app/epinio_app_update.md | 53 + .../cli/configuration/_category_.json | 4 + .../cli/configuration/epinio_configuration.md | 53 + .../epinio_configuration_bind.md | 46 + .../epinio_configuration_create.md | 47 + .../epinio_configuration_delete.md | 48 + .../epinio_configuration_list.md | 48 + .../epinio_configuration_show.md | 47 + .../epinio_configuration_unbind.md | 46 + .../epinio_configuration_update.md | 48 + .../references/commands/cli/epinio.md | 52 + .../commands/cli/epinio_client-sync.md | 46 + .../commands/cli/epinio_completion.md | 113 ++ .../commands/cli/epinio_export-registries.md | 46 + .../references/commands/cli/epinio_info.md | 47 + .../references/commands/cli/epinio_login.md | 51 + .../references/commands/cli/epinio_logout.md | 46 + .../references/commands/cli/epinio_push.md | 55 + .../references/commands/cli/epinio_server.md | 63 + .../references/commands/cli/epinio_target.md | 42 + .../references/commands/cli/epinio_version.md | 42 + .../commands/cli/gitconfig/_category_.json | 4 + .../cli/gitconfig/epinio_gitconfig.md | 50 + .../cli/gitconfig/epinio_gitconfig_create.md | 49 + .../cli/gitconfig/epinio_gitconfig_delete.md | 43 + .../cli/gitconfig/epinio_gitconfig_list.md | 42 + .../cli/gitconfig/epinio_gitconfig_show.md | 42 + .../commands/cli/namespace/_category_.json | 4 + .../cli/namespace/epinio_namespace.md | 46 + .../cli/namespace/epinio_namespace_create.md | 42 + .../cli/namespace/epinio_namespace_delete.md | 44 + .../cli/namespace/epinio_namespace_list.md | 43 + .../cli/namespace/epinio_namespace_show.md | 43 + .../commands/cli/service/_category_.json | 4 + .../commands/cli/service/epinio_service.md | 55 + .../cli/service/epinio_service_bind.md | 42 + .../cli/service/epinio_service_catalog.md | 42 + .../cli/service/epinio_service_create.md | 44 + .../cli/service/epinio_service_delete.md | 44 + .../cli/service/epinio_service_list.md | 44 + .../service/epinio_service_port-forward.md | 43 + .../cli/service/epinio_service_show.md | 43 + .../cli/service/epinio_service_unbind.md | 42 + .../cli/service/epinio_service_update.md | 49 + .../commands/cli/settings/_category_.json | 4 + .../commands/cli/settings/epinio_settings.md | 49 + .../cli/settings/epinio_settings_colors.md | 46 + .../cli/settings/epinio_settings_show.md | 44 + .../cli/settings/epinio_settings_update-ca.md | 46 + .../references/configurations.md | 77 ++ .../references/customization/_category_.json | 5 + .../references/customization/appcharts.md | 139 ++ .../references/customization/catalog.md | 21 + .../customization/export_registries.md | 92 ++ .../references/customization/images.md | 27 + .../references/customization/lb.md | 20 + .../customization/routing_secrets.md | 34 + .../references/customization/sources.md | 31 + .../customization/staging-scripts.md | 122 ++ .../references/customization/staging.md | 26 + .../references/epinio-push-simple.svg | 277 ++++ .../references/git_configuration.md | 116 ++ .../version-1.13.7/references/manifests.md | 182 +++ .../version-1.13.7/references/namespaces.md | 25 + .../version-1.13.7/references/services.md | 77 ++ .../version-1.13.7/references/settings.md | 92 ++ .../references/supported_applications.md | 43 + .../system_requirements/_category_.json | 5 + .../references/system_requirements/global.md | 50 + .../references/system_requirements/windows.md | 34 + .../version-1.13.7/tutorials/_category_.json | 5 + .../tutorials/custom_builder_go.md | 299 +++++ .../tutorials/namespace-tutorial.md | 123 ++ .../version-1.13.7/tutorials/quickstart.md | 193 +++ .../tutorials/single-dev-workflow.md | 279 ++++ versioned_docs/version-1.13.7/versions.md | 27 + .../version-1.13.7-sidebars.json | 8 + versions.json | 1 + 166 files changed, 12132 insertions(+) create mode 100644 versioned_docs/version-1.13.7/explanations/_category_.json create mode 100644 versioned_docs/version-1.13.7/explanations/advanced.md create mode 100644 versioned_docs/version-1.13.7/explanations/detailed-push-process.md create mode 100644 versioned_docs/version-1.13.7/explanations/epinio-push-detailed.svg create mode 100644 versioned_docs/version-1.13.7/explanations/principles.md create mode 100644 versioned_docs/version-1.13.7/explanations/security.md create mode 100644 versioned_docs/version-1.13.7/howtos/_category_.json create mode 100644 versioned_docs/version-1.13.7/howtos/contribute.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/_category_.json create mode 100644 versioned_docs/version-1.13.7/howtos/customization/create_custom_appcharts.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/create_custom_role.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/create_custom_service.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/create_git_configuration.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/custom_builder.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/custom_routes.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/export_to_oci_registries.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/provision_external_ip_for_local_kubernetes.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/setup_export_registry.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/setup_external_registry.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/setup_external_s3.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/setup_routing_secrets.md create mode 100644 versioned_docs/version-1.13.7/howtos/customization/using_custom_service_values.md create mode 100644 versioned_docs/version-1.13.7/howtos/operations/_category_.json create mode 100644 versioned_docs/version-1.13.7/howtos/operations/aws_iam_integration.md create mode 100644 versioned_docs/version-1.13.7/howtos/operations/configuring_entra_id.md create mode 100644 versioned_docs/version-1.13.7/howtos/operations/install_metrics_server.md create mode 100644 versioned_docs/version-1.13.7/howtos/other/_category_.json create mode 100644 versioned_docs/version-1.13.7/howtos/other/certificate_issuers.md create mode 100644 versioned_docs/version-1.13.7/howtos/other/gitjob_push.md create mode 100644 versioned_docs/version-1.13.7/howtos/other/minio.md create mode 100644 versioned_docs/version-1.13.7/howtos/other/port_forwarding.md create mode 100644 versioned_docs/version-1.13.7/howtos/other/separate_workload_ingress.md create mode 100644 versioned_docs/version-1.13.7/howtos/other/using_custom_appcharts.md create mode 100644 versioned_docs/version-1.13.7/howtos/use-develop/_category_.json create mode 100644 versioned_docs/version-1.13.7/howtos/use-develop/app_recover.md create mode 100644 versioned_docs/version-1.13.7/howtos/use-develop/debug.md create mode 100644 versioned_docs/version-1.13.7/howtos/use-develop/example-apps.md create mode 100644 versioned_docs/version-1.13.7/howtos/use-develop/export-and-transfer.md create mode 100644 versioned_docs/version-1.13.7/howtos/use-develop/install_wordpress_application.md create mode 100644 versioned_docs/version-1.13.7/howtos/use-develop/namespaces.md create mode 100644 versioned_docs/version-1.13.7/installation/_category_.json create mode 100644 versioned_docs/version-1.13.7/installation/dns_setup.md create mode 100644 versioned_docs/version-1.13.7/installation/install_epinio.md create mode 100644 versioned_docs/version-1.13.7/installation/install_epinio_cli.md create mode 100644 versioned_docs/version-1.13.7/installation/other_inst_scenarios/_category_.json create mode 100644 versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_eks.md create mode 100644 versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_k3d.md create mode 100644 versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_k3s.md create mode 100644 versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_public_cloud.md create mode 100644 versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_rancher.md create mode 100644 versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md create mode 100644 versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_rke.md create mode 100644 versioned_docs/version-1.13.7/installation/uninstall_epinio.md create mode 100644 versioned_docs/version-1.13.7/installation/wildcardDNS_setup.md create mode 100644 versioned_docs/version-1.13.7/intro.md create mode 100644 versioned_docs/version-1.13.7/references/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/api.md create mode 100644 versioned_docs/version-1.13.7/references/authentication_oidc.md create mode 100644 versioned_docs/version-1.13.7/references/authorization.md create mode 100644 versioned_docs/version-1.13.7/references/cert-manager.md create mode 100644 versioned_docs/version-1.13.7/references/command_requirements.md create mode 100644 versioned_docs/version-1.13.7/references/commands/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/chart/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart_default.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart_list.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart_show.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/env/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_list.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_set.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_show.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_unset.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_create.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_delete.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_exec.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_export.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_list.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_logs.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_manifest.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_port-forward.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_push.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_restage.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_restart.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_show.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_update.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/configuration/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_bind.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_create.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_delete.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_list.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_show.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_unbind.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_update.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/epinio.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/epinio_client-sync.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/epinio_completion.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/epinio_export-registries.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/epinio_info.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/epinio_login.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/epinio_logout.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/epinio_push.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/epinio_server.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/epinio_target.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/epinio_version.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/gitconfig/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_create.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_delete.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_list.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_show.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/namespace/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_create.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_delete.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_list.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_show.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/service/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_bind.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_catalog.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_create.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_delete.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_list.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_port-forward.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_show.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_unbind.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_update.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/settings/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings_colors.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings_show.md create mode 100644 versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings_update-ca.md create mode 100644 versioned_docs/version-1.13.7/references/configurations.md create mode 100644 versioned_docs/version-1.13.7/references/customization/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/customization/appcharts.md create mode 100644 versioned_docs/version-1.13.7/references/customization/catalog.md create mode 100644 versioned_docs/version-1.13.7/references/customization/export_registries.md create mode 100644 versioned_docs/version-1.13.7/references/customization/images.md create mode 100644 versioned_docs/version-1.13.7/references/customization/lb.md create mode 100644 versioned_docs/version-1.13.7/references/customization/routing_secrets.md create mode 100644 versioned_docs/version-1.13.7/references/customization/sources.md create mode 100644 versioned_docs/version-1.13.7/references/customization/staging-scripts.md create mode 100644 versioned_docs/version-1.13.7/references/customization/staging.md create mode 100644 versioned_docs/version-1.13.7/references/epinio-push-simple.svg create mode 100644 versioned_docs/version-1.13.7/references/git_configuration.md create mode 100644 versioned_docs/version-1.13.7/references/manifests.md create mode 100644 versioned_docs/version-1.13.7/references/namespaces.md create mode 100644 versioned_docs/version-1.13.7/references/services.md create mode 100644 versioned_docs/version-1.13.7/references/settings.md create mode 100644 versioned_docs/version-1.13.7/references/supported_applications.md create mode 100644 versioned_docs/version-1.13.7/references/system_requirements/_category_.json create mode 100644 versioned_docs/version-1.13.7/references/system_requirements/global.md create mode 100644 versioned_docs/version-1.13.7/references/system_requirements/windows.md create mode 100644 versioned_docs/version-1.13.7/tutorials/_category_.json create mode 100644 versioned_docs/version-1.13.7/tutorials/custom_builder_go.md create mode 100644 versioned_docs/version-1.13.7/tutorials/namespace-tutorial.md create mode 100644 versioned_docs/version-1.13.7/tutorials/quickstart.md create mode 100644 versioned_docs/version-1.13.7/tutorials/single-dev-workflow.md create mode 100644 versioned_docs/version-1.13.7/versions.md create mode 100644 versioned_sidebars/version-1.13.7-sidebars.json diff --git a/versioned_docs/version-1.13.7/explanations/_category_.json b/versioned_docs/version-1.13.7/explanations/_category_.json new file mode 100644 index 0000000000..fbe5562995 --- /dev/null +++ b/versioned_docs/version-1.13.7/explanations/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Explanations", + "position": 4, + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/explanations/advanced.md b/versioned_docs/version-1.13.7/explanations/advanced.md new file mode 100644 index 0000000000..6017187060 --- /dev/null +++ b/versioned_docs/version-1.13.7/explanations/advanced.md @@ -0,0 +1,194 @@ +--- +sidebar_label: "Advanced topics" +title: "Advanced topics" +description: Advanced topics in Epinio application development environments +keywords: [epinio, kubernetes, advanced topics] +--- + +## Prerequisites + +There are some components, such as an Ingress controller and a Certificate Manager, +required in a Kubernetes cluster before an Epinio installation. +The Epinio helm chart doesn't deploy these components. + +### Ingress controller + +On a Kubernetes cluster, certain services need to be reachable from outside the cluster. +For Epinio, the `API server` is one of them. +Some applications deployed with Epinio might also need to be reachable from outside. + +One way to expose services externally is by creating +[Ingress resources](https://kubernetes.io/docs/concepts/services-networking/ingress/). +Ingress resources on their own, have no effect. +They're merely descriptions of the needed routing. +An Ingress controller handles the implementation of this routing. + +:::note + +Most clusters have an Ingress controller deployed by default. +Install [Traefik](https://doc.traefik.io/traefik/providers/kubernetes-ingress/), +or another, if an Ingress controller is absent. +The project uses Traefik in Epinio CI to test Epinio. + +There is installation documentation for +[Traefik](../installation/install_epinio.md#ingress-controller) + +::: + +Epinio creates an Ingress resource for the Epinio API server and each application deployed. + +### Cert-manager + +[Cert-manager documentation](https://cert-manager.io/docs/) + +Cert-manager is a Kubernetes controller that generates and renews certificates. +You need these certificates to securely serve the endpoints over TLS +(for example, the Epinio API server). + +Epinio supports options when it comes to certificate issuers +(Let's Encrypt, your own private CA, self signed certs). +Cert-manager simplifies the handling of certificate issuers within Epinio. + +You can read more about certificate issuers in the +[certificate issuers documentation](../howtos/other/certificate_issuers.md) + +## Epinio installed components + +The official, supported, way to install Epinio is with the +[Epinio Helm chart](https://artifacthub.io/packages/helm/epinio/epinio). +This Helm chart installs Epinio and it's component dependencies, +listed below, needed for Epinio to work. + +### Epinio API server + +The main component of Epinio is the API server. +The same `epinio` binary is both the server and the CLI. +The server starts with the `epinio server` command within a Kubernetes Pod, configured for Epinio. + +Epinio CLI and web UI functionality are implemented using +the endpoints provided by the Epinio API server component. +For example, when the user asks Epinio to "push" an application, +the CLI contacts the "Upload", "Stage" and "Deploy" endpoints of the Epinio API to: + +- upload the application code +- create a container image for the application using this code +- run the application on the cluster. + +The Epinio API server runs on the cluster. +It's reached using Kubernetes resources like +Deployments, Services, Ingresses and Secrets. + +### Kubed + +[Kubed documentation](https://github.com/kubeops/kubed) + +Epinio installs Kubed to keep secrets, needed in more than one namespace, synchronized. +For example, the image pull secret is needed in every application namespace +so that Kubernetes can pull the built application images from the [Container Registry](#container-registry). + +Kubed makes sure that if the source secret changes, the copies change too. + +### Minio + +[Minio project link](https://github.com/minio/minio) + +Minio is a storage solution implementing the same API as [Amazon S3](https://aws.amazon.com/s3/). + +When the user pushes an application using a source code directory +(with the [`epinio push`](../references/commands/cli/epinio_push.md) command), +the CLI packages the source code into a tarball. +It then uploads it to the Epinio API server. +The API server copies that to the configured S3 storage for +use during the staging of the application. + +When installing Epinio, you choose to use external S3 compatible storage, +or let Epinio install one of Minio or s3gw on the cluster. +You can see a [How-to here](../howtos/customization/setup_external_s3.md). + +### s3gw + +[The s3gw project link](https://github.com/aquarist-labs/s3gw) + +S3gw is a lightweight S3-compatible solution. +You can specify it in the Epinio Helm chart as an alternative to Minio or an external S3 provider. + +### Container registry + +The result of Epinio's application staging is a container image. +You use this image to create a Kubernetes deployment to run the application code. +The staging job writes the image to a container registry. +There is further information in the +[detailed push process](detailed-push-process.md) documentation. + +By default, the Epinio installation deploys a container registry inside the Kubernetes cluster, making the process fast and convenient. + +Epinio comes with two consumers of this registry: + +- Staging job - pushing the images +- Kubernetes - pulling the images when creating a deployment for the application + +All consumers should communicate with the registry using TLS to encrypt communication. +Epinio controls the staging job and it ensures that it trusts the CA used to sign the registry certificate. +Achieving the same for Kubernetes requires configuration that's impossible from within the cluster, +therefore Epinio has no way to ensure that it trusts the CA. +Epinio runs in a pod of the cluster and can't have permission to change cluster settings. +Changes are only possible, from outside, by a cluster administrator. + +There are 3 options: + +1. Let the Epinio user manually configure Kubernetes to trust the CA +1. Use a well-known trusted CA, so there's no configuration needed +1. Don't encrypt the communication at all + +Currently Epinio doesn't support the first 2 options. +If `containerregistry.enabled` is `true` during installation (default), +Epinio makes Kubernetes pull the images un-encrypted (the last option above). +If you need encryption, install the container registry manually +and configure as an ["external" registry](../howtos/customization/setup_external_registry.md) +during Epinio installation. + +:::note + +Communication between the staging job and container registry is TLS encrypted even when using the built-in container registry. + +::: + +## Other advanced topics + +### Git pushing + +The quick way of pushing an application, explained in +[Quickstart: push an application](../tutorials/quickstart.md#push-an-application), +uses a local directory containing a checkout of the application's sources. + +Internally this is a [complex](detailed-push-process.md) procedure. +The client creates and uploads an archive (tarball or zip) +from the sources to the Epinio server, +copying into Epinio's internal (or external) S3 storage. +It's then copied from that storage to a `PersistentVolumeClaim` +to use in the job for staging. +Staging is the compilation and creation of the docker image +for use by the underlying Kubernetes cluster. + +The process is different when using the Epinio client's "git mode". +In this mode [`epinio push`](../references/commands/cli/epinio_push.md) +doesn't take a local directory of sources, +but the location of a git repository and the id of the revision to use. +The client then asks the Epinio server to pull those sources and store them to the S3 storage. +The rest of the process is the same. + +The syntax is + +```console +epinio push --name NAME --git GIT-REPOSITORY-URL,REVISION +``` + +For comparison all the relevant syntax: + +```console +epinio push +epinio push MANIFEST-PATH +epinio push --name NAME +epinio push --name NAME --path DIRECTORY +epinio push --name NAME --git GIT-REPOSITORY-URL,REVISION +``` diff --git a/versioned_docs/version-1.13.7/explanations/detailed-push-process.md b/versioned_docs/version-1.13.7/explanations/detailed-push-process.md new file mode 100644 index 0000000000..93cb0ba4f6 --- /dev/null +++ b/versioned_docs/version-1.13.7/explanations/detailed-push-process.md @@ -0,0 +1,136 @@ +--- +sidebar_label: "Epinio push process" +title: "The Epinio push process in detail" +description: The Epinio push process in detail +keywords: [epinio, kubernetes, push process] +--- + +Epinio makes use of well supported, well known projects. +There is further discussion about this in the +[project principles](principles.md#guidelines-soft-principles) document. +While doing so, Epinio makes sure those components are correctly deployed and work together seamlessly. +This detailed description of the Epinio push process lets you understand the components and their relationships. + +There is a diagram of the Epinio push process later on this page. +Refer to it while reading the text to aid understanding. +The number labels on the paths in the image indicate process ordering. + +## Epinio push (step 1) + +Epinio exposes an API server, running inside the Kubernetes cluster. +It's used by all clients, including the CLI, to communicate with Epinio. + +The `epinio push` CLI command, creates an archive containing application code. +This archive package is uploaded to the API server (step 1a). +A Kubernetes Ingress controller (for example, Traefik) routes your request to the API server (1b). + +Request authentication at the API server uses +BasicAuth, a session cookie or, if using WebSockets, a token. + +## Copying the code to S3 (step 2) + +The Epinio helm-chart can install either [Minio](https://min.io/) (the default) +or [s3gw](https://s3gw.io/) on your cluster. +You can also [configure external S3](../howtos/customization/setup_external_s3.md). +Both Minio and s3gw are S3-compatible storage solutions which Epinio uses to store application source code. +The chosen S3 storage solution is later used by the staging job. + +After successful authentication (step 1), +the API server uploads the package to the S3 endpoint and +responds with a `blobUID` that can be later used to reference the uploaded package. + +## Staging the app (step 3) + +When the upload request is complete, the CLI sends a request to the `stage` endpoint of the Epinio API server. +This instructs the server to start the staging of the uploaded code. + +## Trigger the job (step 4) + +When the Epinio API server receives the stage request, +it creates a +[`Job`](https://kubernetes.io/docs/concepts/workloads/controllers/job/) +that runs the staging scripts using the version of the code referenced in the request. +This job has 3 steps and each one is a script stored in a `ConfigMap` called `epinio-stage-scripts`. +The namespace containing the Epinio installation contains this `ConfigMap`. +The following three sections describe their roles. + +## Fetch the code (step 5) + +This first step of staging, fetching the code, downloads the code from S3 storage. +This makes the code available to the following steps. + +## Unpack the sources (step 6) + +The second step of staging detects the type of the archive and unpacks it. +Supported formats are: **zip**, **tar**, **tgz**, **tbz**, and **txz** + +## Stage (step 7) + +The third step of staging uses the +[Paketo buildpacks](https://paketo.io/) +to create a container image for your application. +The result of a successful staging process is a new image. +This image is pushed to the Registry component of Epinio. +Read further information in the [Epinio Registry](../explanations/advanced.md#container-registry) documentation. + +## Run (step 8) + +Only having a container image isn't enough to run a workload on Kubernetes. +You need, as a minimum, a Pod running, with at least one container running that image. + +The API server provides these requirements +on demand by the client (8a) after it finishes the staging process. + +The most important resources created (8c) are a +[Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/), +a [Service](https://kubernetes.io/docs/concepts/services-networking/service/) and an +[Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) resource. + +The needed resources are part of a Helm chart which Epinio uses to deploy the application. +The application Helm chart source is located here: +[Epinio application helm chart](https://github.com/epinio/helm-charts/tree/main/chart/application). + +As it's a Helm release, you can list the deployed applications using Helm: + +```console +helm list -n workspace +``` + +This assumes application deployment is in the `workspace` namespace. + +## Pull image (step 9) + +The Deployment uses the image pushed as part of the staging step (7). +Now, the kubelet pulls the image from the registry so the deployment resource can use it (9). + +You can read how these resources work in Kubernetes using the provided links but if you have to know one thing is that Ingress is the thing that describes how a request that uses the Application's url is routed to the application container. In Kubernetes, the thing that reads that description and implements the routing is called an Ingress Controller. Such an Ingress Controller is provided by [Traefik](https://doc.traefik.io/traefik/providers/kubernetes-ingress/). + +## Ingress implementation + +Epinio needs an ingress controller to work. + +Something needs to manage routing your applications URL to the application container. +The Kubernetes component that describes and implements this routing is the Ingress Controller. [Traefik](https://doc.traefik.io/traefik/providers/kubernetes-ingress/) is an Ingress Controller used by the Epinio project. + +The ingress controller reads your Ingress Resource Definitions and implements the desired routing to the appropriate Services/Pods. + +There is further information in the ingress controller section in ["Advanced Topics"](./advanced.md#ingress-controller) + +In Epinio, for every application, you create an Ingress that routes the traffic for the application through a subdomain that looks similar to this: + +```console +myapplication.my_epinio_system_domain.com +``` + +You can get your application routing with `epinio apps list` or `epinio apps show myapplication`. +By specifying one or more `--route` options, either with the `epinio push` command or later with `epinio app update`, +it's possible to set and use arbitrary custom routes for the application. +You need to make sure that these custom domains point to your Ingress controller IP. + +## The process diagram + +![epinio-push-detailed](epinio-push-detailed.svg?raw=true "Epinio push") + +## Credits + +- Icons from: https://materialdesignicons.com/ (Source: https://github.com/Templarian/MaterialDesign) diff --git a/versioned_docs/version-1.13.7/explanations/epinio-push-detailed.svg b/versioned_docs/version-1.13.7/explanations/epinio-push-detailed.svg new file mode 100644 index 0000000000..6be0a0fbb0 --- /dev/null +++ b/versioned_docs/version-1.13.7/explanations/epinio-push-detailed.svg @@ -0,0 +1,1150 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + epinio push + + + + Kubernetes cluster + + + Epinio API + + upload + + + + stage + + + + + deploy + + + + + + + + + S3 (Minio) + + App 1 + + App 2 + + ... + + + + Staging Job + + + unpack + + + + download + + + + build + + + + + + + + + Registry + + + App 1 - stage 2 + + + + App 1 - stage 1 + + + + App 2 - stage 1 + + + + + ... + + + + + + + + + App runtime resources + Kubernetes Deployment + + Kubernetes Service + + Kubernetes Ingress + + + + + + + + app1.mysystemdomain.org + + + + + 1b + 2 + 3b + 4 + 5 + 6 + 7 + 9 + 8 + 8b + + + + AWS S3 + + App 1 + + App 2 + + ... + + + External registry + + App 1 - stage 1 + + App 1 - stage 2 + + ... + + + + + + + + + + + epinio.mysystemdomain.org/api/v1 + + + + + + 1a + + + + + + 3a + + + + + 8a + + + + + alternatively + alternatively + + + + Ingress Controller (e.g. Traefik + + Ingress controller (e.g. Traefik) + diff --git a/versioned_docs/version-1.13.7/explanations/principles.md b/versioned_docs/version-1.13.7/explanations/principles.md new file mode 100644 index 0000000000..1c9a4e82c0 --- /dev/null +++ b/versioned_docs/version-1.13.7/explanations/principles.md @@ -0,0 +1,38 @@ +--- +sidebar_label: "Principles" +title: "Epinio design principles" +description: The design principles Epinio is based upon. +keywords: [epinio, kubernetes, design principles] +--- + +These principles guide Epinio's development: + +- Good developer experience + - single command push for short learning curve + - good documentation + +- Edge computing friendly + - fit in less than 4 GB of RAM + - consistent tooling across environments + - open APIs + +- Easy installation and removal, minimum complexity + - installation time less than 5 minutes when images are warm + - installation with a one-line command and zero configuration + - removal with a single line command leaving the cluster in its prior state + - must scale from a local desktop to a data center environment + +- API driven architecture + - splitting the client and server components + - scalability, parallel, scalable developer development + - hiding the complexity + - DevOps friendly + +- Security focused + +- Other guidelines + - prefer components written in Go + - prefer Kubernetes primitives over custom resources + - prefer well known components with active community over custom code + - acceptance tests should complete less than 10 minutes + - tests should be able to run on a minimal Epinio cluster installation diff --git a/versioned_docs/version-1.13.7/explanations/security.md b/versioned_docs/version-1.13.7/explanations/security.md new file mode 100644 index 0000000000..1644ebfdda --- /dev/null +++ b/versioned_docs/version-1.13.7/explanations/security.md @@ -0,0 +1,43 @@ +--- +sidebar_label: "Security" +title: "Epinio security" +description: Epinio security, concepts and context +keywords: [epinio, kubernetes, security, application development] +--- + +Epinio secures access to its API with TLS and basic authentication. + +Use the `epinio login [URL]` command after installation to save the necessary credentials (user, password) and certificates. +Epinio stores credentials in its settings for use by other Epinio commands requiring them. + +For a trial deployment the underlying cluster generates a certificate securing the API. +It's a self-signed certificate, and its certificate authority certificate is stored in the settings for verification. + +For a production deployment, +with a domain specified (`--set global.domain=...`, +when installing the chart), +the certificate is obtained from [Let's Encrypt](https://letsencrypt.org/). +Credential storage in settings isn't necessary as Let's Encrypt is a known CA. + +:::note + +Read more on how to use Let's Encrypt with Epinio in the [certificate issuers](../howtos/other/certificate_issuers.md) documentation. + +::: + +Kubernetes accesses the Epinio registry (TLS or not) differently depending on installation flags. +There is more detail in the [Epinio registry](../explanations/advanced.md#container-registry) documentation. + +### OpenID Connect (OIDC) + +Since version **1.3.0**, Epinio has integrated [Dex](https://dexidp.io/) +as an identity provider which adds the support for external OIDC providers. + +To authenticate through Dex, you use the login command with the `--oidc` flag. +This opens a web page where you can authenticate with the configured provider. + +### Cosign and Epinio images + +We use Cosign to sign the Epinio images, rather than signing all individual release assets. +You can use Cosign to check the images, following download. +There is further information in the [installation documentation](https://docs.epinio.io/installation/install_epinio_cli#verify-file-checksum-signature). diff --git a/versioned_docs/version-1.13.7/howtos/_category_.json b/versioned_docs/version-1.13.7/howtos/_category_.json new file mode 100644 index 0000000000..908c1af5fc --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "How-tos", + "position": 5, + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/howtos/contribute.md b/versioned_docs/version-1.13.7/howtos/contribute.md new file mode 100644 index 0000000000..ec9d7a9456 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/contribute.md @@ -0,0 +1,128 @@ +--- +sidebar_label: "Contributing to Epinio" +sidebar_position: 1 +title: "Contributing to Epinio" +description: How to go about contributing to Epinio. What you need to know. +keywords: [epinio, contributing] +doc-type: [how-to] +doc-topic: [contribute-to-epinio] +--- + +Epinio welcomes your participation in the project. +Epinio accepts contributions via GitHub issues and pull requests. +This document outlines what you need to make a successful contribution to the project. + +## Start with an issue + +Before creating a pull request, [check the issues](https://github.com/epinio/epinio/issues). +Is the topic already live, are there any linked pull requests? +This is especially true if the change request is something large. +You can discuss the bug, feature request, or other type of issue with the team and others. +Lastly, [create an issue](https://github.com/epinio/epinio/issues/new), and perhaps a pull request, if needed. +This helps define common goals and reduces duplication of effort. + +## Sign your commits + +A sign-off is a line at the end of the explanation for a commit. +You must sign all your commits. +Your signature certifies that you wrote the patch or otherwise have the right to contribute the material. +When signing-off you agree to the following rules +(from [developercertificate.org](https://developercertificate.org/)): + +```plain +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. +1 Letterman Drive +Suite D4700 +San Francisco, CA, 94129 + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. +``` + +Then you add a line to every git commit message: + +```console +Signed-off-by: Joe Smith +``` + +You should use your real name (no pseudonyms or anonymous contributions please). + +If you set your `user.name` and `user.email` in your local git configuration, +you can sign your commit automatically with `git commit -s`. + +:::note + +If your `git config` information is correctly set then viewing the `git log` +information for your commit looks something like this: + +```console +Author: John Smith +Date: Thu Feb 2 11:41:15 2023 -0800 + Update README + Signed-off-by: John Smith +``` + +The `Author` and `Signed-off-by` lines match. +If not, the Developer Certificate of Origin (DCO) check rejects the pull request. + +::: + +## Pull requests + +Pull requests for a code change should reference the issue they're for. +This enables issues to serve as a central point of reference for a change. +For example, if a pull request fixes or completes an issue, the commit or +pull request should include something like: + +```markdown +Closes #123 +``` + +This indicates that the PR closes issue #123 when merged. + +## Semantic versioning + +Epinio follows [semantic versioning](https://semver.org/). + +This doesn't cover other tools included in Epinio. +Kubernetes has its own [release versioning](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/release/versioning.md#kubernetes-release-versioning) +scheme that's similar to SemVer but semantically different. + +## Coding style + +Epinio expects Go code formatted with `go fmt`. + +Epinio further follows the style guidelines at: + +- [Effective Go](https://go.dev/doc/effective_go) and +- [Go Wiki Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments) +- [Go Style At Google](https://google.github.io/styleguide/go/guide) diff --git a/versioned_docs/version-1.13.7/howtos/customization/_category_.json b/versioned_docs/version-1.13.7/howtos/customization/_category_.json new file mode 100644 index 0000000000..3ab0c0db14 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/customization/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Customization", + "position": 3, + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/howtos/customization/create_custom_appcharts.md b/versioned_docs/version-1.13.7/howtos/customization/create_custom_appcharts.md new file mode 100644 index 0000000000..28628ba853 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/customization/create_custom_appcharts.md @@ -0,0 +1,250 @@ +--- +sidebar_label: Custom application Helm charts +sidebar_position: 15 +title: Creating custom application Helm charts +description: How to create custom application Helm charts +keywords: [epinio, kubernetes, custom application helm charts] +doc-type: [how-to] +doc-topic: [epinio, how-to, customize, custom-app-helm-chart] +doc-persona: [epinio-operator] +--- + +Epinio deploys applications on Kubernetes as [Helm charts](https://helm.sh/). + +By default, Epinio provides a standard Helm chart installation. +However, operators may wish to create custom charts specific to their environment, +and register them in Epinio, so [their developers can use them](../other/using_custom_appcharts.md). + +## Setting up a custom Helm chart + +To add a custom Helm chart to the system, there are two mandatory steps: + +1. Create the chart, +1. Make it known to the Epinio installation + +The following two sections explain these steps in detail. + +An advanced feature of custom application charts is the ability to expose user-settable configuration values to the user. + +### Creating the Helm chart + +You can use the standard chart provided by Epinio as a template for the modifications. + +You can download the chart from +[the Epinio repository](https://github.com/epinio/helm-charts/tree/main/chart/application) +into a directory `` of your choice, +or, you can clone the +[Epinio Helm chart repository](https://github.com/epinio/helm-charts.git), +again, into a `` of your choice. + +```console +git clone https://github.com/epinio/helm-charts.git +``` + +The chart is in the subdirectory `helm-charts/chart/application`. + +In the following steps, +the commands given, +assume that the directory `` is the working directory. + +You create a variant of the chart by adding an annotation to every application `Deployment`. +The annotation enables the filtering of Epinio applications in [fluentd](https://www.fluentd.org/). + +Open the file `helm-charts/chart/application/templates/deployment.yaml` in your editor. +This file is the template for the application's `Deployment` resource. + +First, locate the section `annotations`: + +```yaml +[...] + template: + metadata: + annotations: + app.kubernetes.io/name: {{ .Values.epinio.appName }} +[...] +``` + +Add the following annotations: + +```yaml +fluentd-enable: "true" +fluentd-application-name: {{ .Values.epinio.appName }} +``` + +The result should look like: + +```yaml +[...] + template: + metadata: + annotations: + fluentd-enable: "true" + fluentd-application-name: {{ .Values.epinio.appName }} + app.kubernetes.io/name: {{ .Values.epinio.appName }} +[...] +``` + +The templating uses the `.Values.epinio.appName` field to insert the application name into the annotation. + +An explanation of the values Epinio sets when deploying an application using the chart is in the +[Application Chart Reference](../../references/customization/appcharts.md#configuration). +It's also available locally in the comments at the top of file `helm-charts/chart/application/values.yaml`. + +Once you have modified the chart, use the following command to package the changed chart into a tarball: + +```console +helm package helm-charts/chart/application +``` + +The `helm` command places the tarball into `` and the file name should be `application-VERSION.tgz` where `VERSION` is the chart version. + +Don't change the chart version. +Versioned chart development is out of scope for this How-to. + +### Making the helm Chart known to Epinio + +Once you have created the new chart, +it's necessary to place the generated tarball on a web server. +A few possible options are: + +- A server in the public cloud available to you +- The company's host web server, if available, and permitted by company policies +- A personal web server +- A local web server, perhaps an nginx in a docker container + +Given the range of possible options, this How-to assumes that the tarball is available at the example URL. + +```console +https://mydomain.org/epinio-application-fluentd.tgz +``` + +Copy the following YAML text, +change the `RELEASE_NAMESPACE` value to the namespace where Epinio was installed, +by default it's `epinio`, and add it to a file of your choice: + +```yaml +apiVersion: application.epinio.io/v1 +kind: AppChart +metadata: + namespace: RELEASE_NAMESPACE + name: fluentd +spec: + shortDescription: Fluentd filterable standard deployment + description: Epinio standard support chart extended for fluentd filtering + helmChart: https://mydomain.org/epinio-application-fluentd.tgz +``` + +This How-to assumes that the name of the chosen file is `fluentd-appchart.yaml`. + +:::info + +This is a Kubernetes custom resource, which describes the new Helm chart to Epinio. +In this example, it provides the information about the name, the source and descriptions. + +::: + +The Epinio installation provides the necessary Kubernetes CRD. + +Apply this resource to the Epinio cluster: + +```console +kubectl apply -f fluentd-appchart.yaml +``` + +Verify that the new chart is now registered in Epinio: + +```console +epinio app chart list +``` + +You can also see the details of the chart in Epinio: + +```console +epinio app chart show fluentd +``` + +### User-settable configuration values + +To expose the user-settable configuration value `foo` the created application chart has to look for this variable in the `.Values.userConfig` map. +That is, it has to use the helm variable `.Values.userConfig.foo`. + +:::caution + +The chart should use a default value when this helm variable isn't set. + +::: + +With the application chart exposing `foo` Epinio has to be aware of the configuration value by adding a specification to the `AppChart` resource describing it. + +Do this by adding an entry `foo` to the `spec.settings` map of the AppChart resource. +This entry is itself a map, with a mandatory `type` field, and type-dependent **optional** restrictions on the valid values of `foo`. + +Example: + +```yaml +kind: AppChart +metadata: + [...] +spec: + [...] + settings: + foo: + type: integer + minimum: '42' + bar: + type: number + maximum: '122' + flag: + type: bool + mode: + type: string + enum: + - "sequential" + - "out of order" + - "randomized" +``` + +The valid types and their possible restrictions are: + +|Type|Restriction|Semantics| +|---|---|---| +|`integer`|`minimum`|Minimum valid integer value| +| |`maximum`|Maximum valid integer value| +|`number`|`minimum`|floating-point| +| |`maximum`|floating-point| +|`string`|`enum`|Sequence of valid values| +|`bool`|n/a| | + +Restrictions set on a type not supporting them, for example, a `minimum` on a `string`-type configuration value, are ignored. + +:::caution + +The restriction values have to be YAML **strings**, regardless the type of the configuration value. +Note how in the example the `maximum` and `minimum` values are quoted to make them strings. + +::: + +## Troubleshooting + +If the new Helm chart isn't correctly registered in Epinio, +check that the `RELEASE_NAMESPACE` is set in `fluentd-appchart.yaml`. + +## Going further + +The standard app chart, and the chart created here, +use a Kubernetes `Deployment` as the main resource describing the active application. + +Up to Epinio version 1.0, this was the only kind of resource supported. +Epinio supports other kinds of controllers, +for example, `StatefulSet` since versions greater than 1.0. + +However, even when changing controllers, +it's important to keep the `Pod` annotations and labels the same as for the standard chart. +This lets Epinio's server locate the required resources and use them. + +Here's a couple of examples: + +1. The value of `epinio.io/stage-id` is the id of the staging Pod which created the application's image. + +1. The value of `epinio.io/app-container` is the name of the application's main `Container`, used by `epinio exec`. +This label has to match the actual name of the container in the pod spec. diff --git a/versioned_docs/version-1.13.7/howtos/customization/create_custom_role.md b/versioned_docs/version-1.13.7/howtos/customization/create_custom_role.md new file mode 100644 index 0000000000..2f35fd131d --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/customization/create_custom_role.md @@ -0,0 +1,54 @@ +--- +sidebar_label: "Creating A custom role" +sidebar_position: 14 +title: "Creating a custom role" +description: Creating a custom role in Epinio. +keywords: [epinio, kubernetes, create custom role] +doc-type: [how-to] +doc-topic: [epinio, how-to, customize, create-custom-role] +doc-persona: [epinio-operator] +--- + +As described in the [Authorization reference](../../references/authorization.md), +Epinio Roles are Kubernetes ConfigMaps with a particular label. + +To create a role execute the `kubectl` command: + +```console +cat < service.yaml +``` + +Or, you can find the definition of the catalog services +[in the GitHub repository](https://github.com/epinio/helm-charts/blob/main/chart/epinio/templates/service-catalog.yaml). + +Change the fields to point to the desired helm chart and apply the YAML with a command like: + +```console +kubectl apply -f service.yaml +``` + +If everything worked correctly, you can see your Service in the Epinio `service-catalog`: + +```console +epinio service catalog +``` + +## Adding an Image to the service + +The consumers of the API (that is, the web UI of Epinio) can show an icon when listing the available services. +To assign an image to your custom service, make sure you add the `serviceIcon` field in the Custom Resource YAML. + +Helm charts have an icon field defined which already provides such an image. +You can find the icon field with the `helm show` command. For example, for the Bitnami RabbitMQ Helm chart: + +```console +helm show chart https://charts.bitnami.com/bitnami/rabbitmq-9.0.5.tgz | yq .icon +``` + +## Multiple secret types + +By default, Epinio looks for Opaque secret types to label them as Configurations. +Sometimes this isn't enough, +so you can define different types with the `application.epinio.io/catalog-service-secret-types` annotation: + +```yaml +apiVersion: application.epinio.io/v1 +kind: Service +metadata: + name: myservice + namespace: epinio + annotations: + application.epinio.io/catalog-service-secret-types: Opaque,BasicAuth,connection.crossplane.io/v1alpha1 + ... +``` + +With this definition, Epinio gets all the `Opaque`, `BasicAuth`, +and `connection.crossplane.io/v1alpha1` secrets generated during the creation of this Service (you can list any type of secret). + +## Customization + +You can customize services in two possible ways. +The first, system settings, is for operators to configure the referenced chart so that it works within the Epinio environment. +The second, user settings, declares the chart settings the user can change when deploying the service from the catalog. + +System settings have priority over user settings. +So, declaring a field used by system settings as user-settable is a `no operation`. +While the user can see that setting, and provide values, these values are ignored in favor of the system values. + +### System settings + +You enter system settings in the `spec.values` field of the service declaration. + +```yaml +apiVersion: application.epinio.io/v1 +kind: Service +metadata: + name: myservice + ... +spec: + values: |- + ... text ... +``` + +The value of this field is YAML formatted text. + +For example, the predefined development services coming with an Epinio installation +use this to set the `extraDeploy` field of the Bitnami charts. +This is to inject supporting service accounts, roles, bindings, and PVCs for the service to use. + +### User-settable configuration values {#user-settable} + +You declare user settings through the `spec.settings` field of the service declaration. + +```yaml +apiVersion: application.epinio.io/v1 +kind: Service +metadata: + name: myservice + ... +spec: + settings: + "ingress.enabled": + type: "bool" + "ingress.hostname": + type: "string" +``` + +The example settings shown are taking from the nginx service used in the Epinio test suite. + +The syntax of the `settings` map is the same as that of the `settings` map for app chart resources. +See section `User-settable configuration values` in the How-to for +[Creating Custom Application Helm Charts](create_custom_appcharts.md). + +There are semantic differences between the app chart and service declarations. +For app charts the keys are simple strings for the `userConfig` map. +They don't permit nesting. + +For service charts the keys are proper paths into the set of fields exposed by the chart through its `values.yaml` file. +You express nesting using full stops (`.`). +For example, see `ingress.enabled` in the YAML at the start of [this section](#user-settable). + +### Private repositories and registries + +You can use charts stored in private repositories or OCI registries. +You need to use a secret that provides credentials. + +```yaml +apiVersion: application.epinio.io/v1 +kind: Service +metadata: + name: myservice + ... +spec: + helmRepo: + name: myregistry + url: oci://ghcr.io/myregistry + secret: oci-secret +``` + +Epinio looks for the `oci-secret` in the namespace where it's installed. +This secret has to contain the registry, or repository, login `username` and `password` fields: + +```console +kubectl create secret generic -n epinio oci-secret --from-literal=username=myusername --from-literal=password=mypassword +``` + +For example, to use the GitHub container registry you need a Personal Access Token (PAT) with the `package:read/write` scopes. +Use the PAT as both the username and the password. diff --git a/versioned_docs/version-1.13.7/howtos/customization/create_git_configuration.md b/versioned_docs/version-1.13.7/howtos/customization/create_git_configuration.md new file mode 100644 index 0000000000..c26bf6ab52 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/customization/create_git_configuration.md @@ -0,0 +1,41 @@ +--- +sidebar_label: Creating a Git configuration +sidebar_position: 13 +title: Creating a Git configuration +description: How to create a Git configuration +keywords: [epinio, kubernetes, git configuration] +doc-type: [how-to] +doc-topic: [epinio, how-to, customize, create-git-config] +doc-persona: [epinio-operator] +--- + + +As described +[in the Git Configuration reference page](../../references/git_configuration.md), +Epinio Git Configurations are Kubernetes secrets with a particular label. + +Creation is done with the +[epinio gitconfig create](../../references/commands/cli/gitconfig/epinio_gitconfig_create.md) +command. + +For example: + +```console +epinio gitconfig create github-epinio-example-go-configuration https://github.com \ + --git-provider github \ + --user-org epinio \ + --repository example-go \ + --skip-ssl \ + --username myuser \ + --password abcde12345 \ + --cert-file /path/to/some/certfile +``` + +The only required arguments are the name of the git configuration, and the repository URL. +Everything else is optional, and specified through flags. + +If, for example, to skip the SSL configuration for a particular provider use: + +```bash +epinio gitconfig create mygit-config https://gitlab.mydomain.com --skip-ssl +``` diff --git a/versioned_docs/version-1.13.7/howtos/customization/custom_builder.md b/versioned_docs/version-1.13.7/howtos/customization/custom_builder.md new file mode 100644 index 0000000000..bf0f1a7241 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/customization/custom_builder.md @@ -0,0 +1,109 @@ +--- +sidebar_label: Custom builders +sidebar_position: 14 +title: Creating a custom builder +description: How to create a custom builder +keywords: [epinio, kubernetes, create a custom builder] +doc-type: [how-to] +doc-topic: [epinio, how-to, customize, create-custom-builder] +doc-persona: [epinio-operator] +--- + +The default builder image used by Epinio (`paketobuildpacks/builder:full`) may not work for every application. +It could happen if using an unsupported programming language, +or when the application needs staging in a particular way. +This page explains how to build a custom builder image including one or more buildpacks. +This guide doesn't explain how to create a custom buildpack. +For information on that, +use the ([Buildpack documentation](https://buildpacks.io/docs/buildpack-author-guide/create-buildpack/) +or the [Paketo documentation](https://paketo.io/docs/howto/create-paketo-buildpack/)). + +## Background + +Using the [`pack` CLI](https://buildpacks.io/docs/tools/pack/) +you can add a buildpack to a project using a `project.toml` configuration file: + +```toml +[project] +id = "sample" +version = "0.1" + +[build] + +[[build.buildpacks]] +id = "paketo-community/python" +version = "0.4.2" +``` + +You can then build the image for the application by running: + +```console +pack build test/pip -B paketobuildpacks/builder:full +``` + +However, since Epinio isn't using `pack` but the `lifecycle` directly +([link 1](https://github.com/buildpacks/lifecycle), +[link 2](https://github.com/epinio/helm-charts/blob/3954c214de3d7b957cfc2054ba4fa4bfa140f5a3/chart/epinio/templates/stage-scripts.yaml#L83)), +using project.toml isn't possible: + +* https://github.com/buildpacks/lifecycle/issues/555 +* https://github.com/haliliceylan/rfcs/blob/2152fc5c817d971b6ead2069d82c459f432a7acc/text/0000-prepare-phase.md + +## Solution: Using a custom builder + +You can create a custom builder that supports Python and then tell Epinio to use that for staging. + +```console +git clone git@github.com:paketo-buildpacks/full-builder.git + +patch -p1 <` in the command below, and then invoke it + +```console showLineNumbers +kubectl apply -f - <" + labels: + epinio.io/api-export-registry: "true" +// highlight-next-line + name: "" + namespace: epinio +stringData: +// highlight-next-line + # certs: "" + .dockerconfigjson: |- + { + "auths": { + "registry.hub.docker.com": { +// highlight-next-line + "auth":"PHVzZXI+OjxwYXNzd29yZD4=", +// highlight-next-line + "username":"", +// highlight-next-line + "password":"" + } + } + } +EOF +``` + +As the `auth` element derives from the username and password it needs replacing as well. +Its value is the base64 encoding of `:`. + +:::tip + +An easy way to create the desired value is: + +```console +echo -n ":" | base64 - +``` + +Note the `-n` flag of `echo`. +Without it a trailing newline is added, creating a wrong auth string result. + +::: + +This creates the authentication secret for the destination, in the `epinio` namespace. +If Epinio is differently configured, so that `epinio` isn't Epinio's system namespace then it needs changing. +That's in line 12 of the command above. + +Epinio now knows the specified account at the docker hub as an export destination for use with `epinio app export --registry`. + +For other registries change the `registry.hub.docker.com` reference as well (line 18). + +## Certificate secrets + +Should the selected registry require more TLS certificates to communicate it's necessary to + +- Create a Kubernetes secret with key `tls.crt` whose value is the set of extra certificates in PEM-encoded form. + + This secret has to reside in the same namespace as the authentication secret, that is, Epinio's system namespace. + That namespace default is `epinio`. + + For example: + +```console + kubectl create secret generic \ + --namespace epinio \ + --from-file=tls.crt=tls-registry.pem \ + export-registry + ``` + +- Extend the authentication secret with a key `certs` (sibling to key `.dockerconfigjson`) whose value is the name of the secret created in the preceding step. diff --git a/versioned_docs/version-1.13.7/howtos/customization/setup_external_registry.md b/versioned_docs/version-1.13.7/howtos/customization/setup_external_registry.md new file mode 100644 index 0000000000..63be2343c7 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/customization/setup_external_registry.md @@ -0,0 +1,62 @@ +--- +sidebar_label: Setting up an external container registry +sidebar_position: 8 +title: How to set up an external container registry +description: How to setup an external container registry +keywords: [epinio, kubernetes, external container registry setup] +doc-type: [how-to] +doc-topic: [epinio, how-to, custom, setup-external-container-registry] +doc-persona: [epinio-operator] +--- + +You can use an external registry for Epinio to store application images. +You can do this by setting the following variables during the `helm install`: + +```console +helm install \ + --set containerregistry.enabled=false \ + --set global.registryURL=$REGISTRY_URL \ + --set global.registryNamespace=$REGISTRY_NAMESPACE \ + --set global.registryUsername=$REGISTRY_USER \ + --set global.registryPassword=$REGISTRY_PASSWORD \ + ... (other options here) \ + epinio epinio/epinio +``` + +Using [Docker Hub](https://hub.docker.com/) as an example, you would have to set +the value of `$REGISTRY_URL` to `registry.hub.docker.com`, `$REGISTRY_USER` and +`$REGISTRY_PASSWORD` are set to the Docker Hub credentials. +Lastly, `$REGISTRY_NAMESPACE` +would be either an organization or username. + +With these arguments set, Epinio doesn't deploy a registry on the cluster. + +## Advanced setup for a secure external registry + +When access to the external registry is secured via TLS it's necessary to make the correct certificate known to both Epinio and the cluster (that is, the kubelets). + +Assuming that `epinio-external-registry-tls` is the name of the Kubernetes secret used to store the certificate then adding to the `helm install` command: + +```console + --set containerregistry.certificateSecret=epinio-external-registry-tls +``` + +is enough to make the certificate known to Epinio. + +:::note + +The secret needs to be in the `epinio` namespace. +The certificate needs to be under the key `tls.crt` of that secret +and needs to be in PEM format. + +::: + +Making the same information known to the cluster itself, that is, the kubelets, differs between distributions of Kubernetes. + +Assuming a k3s cluster running on an openSUSE or SLE-based host, and the certificate is in a file named `CA.pem`, in the current working directory the commands would be: + +```console +sudo cp CA.pem /etc/pki/trust/anchors/ +sudo update-ca-certificates +sudo systemctl restart k3s[-agent].service +``` diff --git a/versioned_docs/version-1.13.7/howtos/customization/setup_external_s3.md b/versioned_docs/version-1.13.7/howtos/customization/setup_external_s3.md new file mode 100644 index 0000000000..bcbb8cd2d1 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/customization/setup_external_s3.md @@ -0,0 +1,53 @@ +--- +sidebar_label: "Setting up external S3 storage" +sidebar_position: 7 +title: "How to set up external S3 storage" +description: "How to set up external S3 storage" +keywords: [epinio, kubernetes, external S3 storage] +doc-type: [how-to] +doc-topic: [how-to, custom, external-s3-storage] +doc-persona: [epinio-operator] +--- + +One of the steps involved in running `epinio push` is storing the requested version of the code in the configured Epinio S3 compatible storage. +By default, Epinio installs and configures [Minio](https://github.com/minio/minio) to use. +This document describes how to configure Epinio to use another S3 compatible storage and skip the Minio installation. + +The Epinio Helm chart has the following optional parameters: + +|Variable name|Description|Mandatory|Default| +|:---|:---|:---:|:---:| +|`minio.enabled`|Whether to install Minio or not|yes|"true"| +|`s3.bucket`|S3 bucket where you want to store your apps|yes|`epinio`| +|`s3.endpoint`|S3 endpoint|yes|`minio.epinio.svc.cluster.local`| +|`s3.accessKeyID`|S3 access key id to authenticate to the endpoint|no|random value when Minio is enabled| +|`s3.secretAccessKey`|S3 secret access key id to authenticate to the endpoint|no|random value when Minio is enabled| +|`s3.useSSL`|Use SSL for encryption|no|`true`| +|`s3.region`|S3 region where your bucket is|no|""| +|`s3.certificateSecret`|An existing TLS secret to be trusted (if self signed)|no|"minio-tls" if Minio is enabled| + +To configure Epinio to store application sources to an external S3 compatible storage, at least the mandatory options should be set. + +:::note + +Some implementations don't need the location, for example, Minio and `s3.useSSL` has a default value of "true". + +::: + +For instance, add the following options to your Helm command to make Epinio point to AWS: + +```console +--set minio.enabled=false \ +--set s3.endpoint=s3.amazonaws.com \ +--set s3.bucket= \ +--set s3.region= \ +--set s3.accessKeyID= \ +--set s3.secretAccessKey= \ +``` + +If the bucket doesn't exist, Epinio tries to create it when it first writes to it. +Make sure the access key and the access secret have enough permissions to create a bucket before writing to it. + +When you successfully push a new version of your application, Epinio removes the resources of the earlier staging process from the Kubernetes cluster. +It also deletes the earlier version of the sources from S3. +This way, Epinio doesn't store more than it needs on the S3 storage and no manual cleanup is necessary. diff --git a/versioned_docs/version-1.13.7/howtos/customization/setup_routing_secrets.md b/versioned_docs/version-1.13.7/howtos/customization/setup_routing_secrets.md new file mode 100644 index 0000000000..b53dc53697 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/customization/setup_routing_secrets.md @@ -0,0 +1,76 @@ +--- +sidebar_label: Setting up routing secrets +sidebar_position: 10 +title: Setting up routing secrets for use by applications +description: How to set up routing secrets for use by applications +keywords: [epinio, kubernetes, setup routing secrets] +doc-type: [how-to] +doc-topic: [epinio, how-to, custom, setup-routing-secrets] +doc-persona: [epinio-operator] +--- + +This is a How-to for operators. + +## Introduction + +In regular operation Epinio automatically creates the `kubernetes.io/tls` Secrets needed by a new application's Ingress to secure communication with that application. + +The application chart used to deploy that application creates both the `Ingress` and a `Certificate` resource for it. +The `Certificate` resource is then picked up by the Cert manager component, which in turn creates the Secret that holds the certificate data. + +There's a window where the Ingress isn't secured due to the time needed to see the new Certificate and then create the associated Secret. + +This situation can be worse if using an external provider for certificates, for example, [Let's Encrypt](https://letsencrypt.org/), which may impose rate limits, lengthening the time window. + +Epinio `routing secrets` are an (optional) means to side-step these issues by creating secrets ahead of deploying the applications using them. + +## Creating a routing secret + +The steps to create a routing secret suitable for Epinio are: + +1. Create a regular `kubernetes.io/tls` Secret, for a domain `D`. + +1. Mark the resulting secret with the label `epinio.io/routing`. +The value of that label isn't relevant, just its presence. + +1. Deploy an application into the namespace containing the marked secret, and requesting +a route for domain `D`. + +Epinio now sees that there is a secret for `D` in the namespace and passes the name of the secret to the application chart responsible for deployment. + +The chart now creates an `Ingress` directly referencing that secret and skips the creation of a `Certificate` for it. + +## Issues and solutions + +When using routing secrets, a manual process replaces a fully automatic one. +The load normally placed on the Cert manager component and the providers backing it, now belongs to the operator. +The operator now creates Certificates and Secrets, placing them in the relevant namespaces, etc. + +There are mitigating factors however: + +1. Routing secrets are **optional**. +Use them only where absolutely necessary with everything else keeping to the automatic process. + +1. Routing secrets may hold certificates for **wildcard domains**. +The secret is used whenever a requested application route matches the wildcard pattern. +This reduces the number of Secrets needing creation. + +1. You can automate distribution of routing secrets by using a component like Kubed. +Kubed can automatically copy secrets between namespaces based on annotations. +Kubed is a component of Epinio so is available. +As an example, + + 1. Place a new routing secret `RS` into the namespace `epinio`. + + 1. Annotate the secret with + + `kubed.appscode.com/sync="app.kubernetes.io/component=epinio-namespace"` + + 1. Kubed now distributes `RS` to all namespaces which have the label `app.kubernetes.io/component=epinio-namespace`. + These are all the namespaces under Epinio's control. + + For a more limited distribution it's possible to add custom labels to the + desired namespaces and add matching annotations on the relevant Secrets. + + The distribution automatically includes all new namespaces + matching whatever criteria are in place. diff --git a/versioned_docs/version-1.13.7/howtos/customization/using_custom_service_values.md b/versioned_docs/version-1.13.7/howtos/customization/using_custom_service_values.md new file mode 100644 index 0000000000..56f86e4ee0 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/customization/using_custom_service_values.md @@ -0,0 +1,222 @@ +--- +sidebar_label: Custom values for service Helm charts +sidebar_position: 17 +title: Custom values for service Helm charts +description: How to specify custom values for service Helm charts +keywords: [epinio, kubernetes, custom service values] +doc-type: [how-to] +doc-topic: [epinio, how-to, customize, custom-service-values] +doc-persona: [epinio-operator, epinio-user] +--- + +## Audience + +This documentation is for Epinio operators specifying custom services for users, +and users creating instances of those custom services who need to customize them. + +It shows operators how to specify user settings based on the form of the field in the `values.yaml` file of the underlying service Helm chart. + +It also shows Epinio users how to set values for the user settings of a service. + +## General information + +Operators, should see +[Creating A Custom Service](create_custom_service.md) +for the general syntax of +user settings. + +For users, +the relevant option is `--chart-value` (short: `-v`) +of the `epinio service create` command. + +Following is a series of examples showing how you specify forms of Helm chart values in the custom services and then using `--chart-value`. + +## Examples + +All the examples have the same structure. The tables show, side by side, + +- how the field looks like in the `values.yaml` of the underlying service, +- how you specify the field in the custom service, and +- how you address it as a user using `--chart-value`. + +### Basic map, simple value + +This example assumes that the field value is of a simple type `T`, +that is, `string`, `integer`, `number`, or `bool`. + +
+
+
+
+
+
+
+
+
+
+
+
+
values.yamlService specCLI usage
+ +{`foo: + bar: value +`} + + + +{`settings: + "foo.bar": + type: "T" +`} + + + +-v "foo.bar=value" + +
+
+ +### Basic array, simple value + +This example assumes that the field value is of a simple type `T`, +that is, `string`, `integer`, `number`, or `bool`. + +The field name in the service spec doesn't mention that `bar` is an array. +Here, the name `foo.bar`, in the service spec, describes the path to the field. + +
+
+
+
+
+
+
+
+
+
+
+
+
values.yamlService specCLI usage
+ +{`foo: + bar: + - value1 + - value2 + - ... +`} + + + +{`settings: + "foo.bar": + type: "T" +`} + + + +{`-v "foo.bar[0]=value1" +-v "foo.bar[1]=value2" +... +`} + +
+
+ +### Mixed map and array, simple values + +This example assumes that the value field is a simple type `T`, +that is, `string`, `integer`, `number`, or `bool`. + +Here, `foo` is the array, +having maps as elements, +of which the keys `name` and `value` are of interest. + +The names of the field don't mention that `foo` is an array, +and the paths to fields of interest are used to name them in the CLI settings. + +
+
+
+
+
+
+
+
+
+
+
+
+
values.yamlService specCLI usage
+ +{`foo: + - name: name1 + value: value1 + - name: name2 + value: value2 + - ... +`} + + + +{`settings: + "foo.name": + type: "string" + "foo.value": + type: "T" +`} + + + +{`-v "foo[0].name=name1" +-v "foo[0].value=value1" +-v "foo[1].name=name2" +-v "foo[1].value=value2" +... +`} + +
+
+ +### Map-valued map + +This example assumes that the field value is a map itself, +with arbitrary keys, and values. +An example would be the annotation fields provided by Bitnami services enabling the user to set custom annotations on the groups of pods of the service. + +
+
+
+
+
+
+
+
+
+
+
+
+
values.yamlService specCLI usage
+ +{`foo: + bar: + key1: value1 + key2: value2 + ... +`} + + + +{`settings: + "foo.bar": + type: "map" +`} + + + +{`-v "foo.bar.key1=value1 +-v "foo.bar.key2=value2 +... +`} + +
+
diff --git a/versioned_docs/version-1.13.7/howtos/operations/_category_.json b/versioned_docs/version-1.13.7/howtos/operations/_category_.json new file mode 100644 index 0000000000..630be1d11f --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/operations/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Operations", + "position": 2, + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/howtos/operations/aws_iam_integration.md b/versioned_docs/version-1.13.7/howtos/operations/aws_iam_integration.md new file mode 100644 index 0000000000..d4aa999f88 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/operations/aws_iam_integration.md @@ -0,0 +1,215 @@ +--- +sidebar_label: "AWS IAM integration" +sidebar_position: 27 +title: "AWS IAM integration" +description: How-to use Amazon Web Services (AWS) Identity and Access Management (IAM) with Epinio. +keywords: [epinio, kubernetes, aws, iam] +doc-type: [how-to] +doc-topic: [epinio, customize, operations, aws-iam] +--- + +How-to use Amazon Web Services (AWS) Identity and Access Management (IAM) with Epinio. + +## Authentication using an IAM profile + +When using AWS S3 Epinio supports authentication by AWS IAM profile, instead of using regular credentials. +Epinio uses this mode when the credential keys are empty. +That is, `s3.accessKeyID=""`, and `s3.secretAccessKey=""`. +When using AWS, the Kubernetes cluster has to have an IAM policy attached. +This provides the permissions for access to S3. + +### Example + +Create a policy with + +```console +aws iam create-policy \ + --policy-name EpinioECEKSClusterPolicy \ + --policy-document \ +'{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "s3:ListBucket", + "s3:PutObject", + "s3:GetObject", + "s3:GetBucketLocation", + "s3:ListAllMyBuckets", + "s3:CreateBucket", + "s3:DeleteObject", + "sts:AssumeRole" + ], + "Resource": [ + "*" + ] + } + ] +}' +``` + +Attach that policy to the instance role with + +```console +aws iam attach-role-policy \ + --role-name "" \ + --policy-arn "" +``` + +You can find the instance role with: + +```console +kubectl -n kube-system describe configmap aws-auth \ + | grep rolearn | cut -d':' -f7 | cut -d'/' -f2 +``` + +To clean up once finished, remove Epinio, detach and delete policies with: + +```console +helm delete --wait epinio -n epinio +kubectl delete --wait ns epinio workspace + +aws iam detach-role-policy \ + --role-name "" \ + --policy-arn "" + +# If created ad-hoc policy +aws iam list-policies # find and copy EpinioECEKSClusterPolicy ARN used in next step +aws iam delete-policy --policy-arn arn:aws:iam::${AWS_ACCOUNT_ID}:policy/EpinioECEKSClusterPolicy + +``` + +## Authentication with an AWS EKS service account + +EKS is the Elastic Kubernetes Service. + +For increased security you can attach the policy to the Epinio pod ServiceAccount. +You also need to create a specific ServiceAccount that you bind to the staging job with the `server.stagingWorkloads.serviceAccountName` value. + +To use AWS IAM roles for service accounts, an IAM OIDC provider must exist for your cluster's OIDC issuer URL. + +Find whether you have an existing IAM OIDC provider for your cluster with: + +```console +oidc_id=$(aws eks describe-cluster --name ${CLUSTER_NAME} \ + --query "cluster.identity.oidc.issuer" \ + --output text | cut -d '/' -f 5) +aws iam list-open-id-connect-providers \ + | grep $oidc_id | cut -d "/" -f4 +``` + +If the command returns any output, then you already have an IAM OIDC provider for your cluster so you can skip the next step. +If there is no output, then you must create an IAM OIDC provider for your cluster. +Check the [AWS guide](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) for this task. + +### Epinio server role + +Make sure you have correctly deployed Epinio. +Later, you assign a new AWS Service Account to an existing Epinio installation with the `helm upgrade` command. + +You need to create a IAM Role: + +```bash +#!/bin/bash + +set -euo pipefail + +OIDC_PROVIDER=$(aws eks describe-cluster --name ${CLUSTER_NAME} --query "cluster.identity.oidc.issuer" --output text | sed -e "s/^https:\/\///") + +FILENAME=trust-relationship.json + +cat > ${FILENAME} < +`--set server.stagingWorkloads.serviceAccountName=epinio-staging-service-account`
+when upgrading Epinio: + +```console +helm upgrade epinio epinio/epinio \ + --namespace epinio --create-namespace \ + --set global.domain= \ + --set server.stagingWorkloads.serviceAccountName=epinio-staging-service-account \ + --wait +``` + +Once finished, to remove everything, remove Epinio, delete the service account, detach and delete the policies: + +```console +helm delete --wait epinio -n epinio +kubectl delete --wait ns epinio workspace + +eksctl delete iamserviceaccount \ +--cluster $CLUSTER_NAME \ +--name epinio-staging-service-account \ +--namespace epinio + +aws iam detach-role-policy \ +--role-name epinio-server-role \ +--policy-arn "arn:aws:iam::${AWS_ACCOUNT_ID}:policy/EpinioECEKSClusterPolicy" + +aws iam delete-role \ +--role-name epinio-server-role + +aws iam list-policies # find and copy EpinioECEKSClusterPolicy ARN used in next step +aws iam delete-policy \ +--policy-arn arn:aws:iam::${AWS_ACCOUNT_ID}:policy/EpinioECEKSClusterPolicy +``` diff --git a/versioned_docs/version-1.13.7/howtos/operations/configuring_entra_id.md b/versioned_docs/version-1.13.7/howtos/operations/configuring_entra_id.md new file mode 100644 index 0000000000..dfff07c91e --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/operations/configuring_entra_id.md @@ -0,0 +1,94 @@ +--- +sidebar_label: "Entra ID Authentication" +sidebar_position: 21 +title: "Entra ID Authentication" +description: How-to configure SSO for Epinio using Microsoft Entra ID. +keywords: [epinio, kubernetes, microsoft, azure, sso, entraid, entra, id, activedirectory, active, directory] +doc-type: [how-to] +doc-topic: [epinio, customize, operations, microsoft, azure, entraId] +--- + +How-to configure SSO for Epinio using Microsoft Entra ID + +# Configuring Microsoft Entra ID SSO + +In order to configure SSO using Microsoft Entra ID, we need to set up a client within Azure and configure Dex with that client's details. This document will attempt to provide instructions as concisely as possible. Here is the general outline of required steps: + +1. Create App Registration +2. Create Client Secret +3. Grant Directory Permissions +4. Add Connector to Dex Configuration + +Once completed, your Epinio instance should now allow signin through Entra ID instead of local user authentication. + + +## Create App Registration + +1. Visit Microsoft Entra ID +2. Note the `Tenant ID` +3. Navigate to **App Registrations** +4. Click **New Registration** +5. Configure the new registration + - The name is arbitrary, e.g. `epinio-sso` + - Single Tenant + - Set the platform as `Web` + - Set the Redirect URI as `https://auth./callback` +6. Click **Register** +7. Note the `Client ID` + +We should now have a `Client ID` and `Tenant ID` which will be used later to configure our Dex connector. + +## Create Client Secret + +1. Navigate to your new app registration +2. Navigate to that app registration's **Certificates & secrets** +3. Click **New Client Secret** +4. Set an arbitrary description and expiration +5. Click **Add** +6. Copy the **Secret Value** for your newly added client secret + +We should now have a `Client Secret` which will be used later to configure our Dex connector. + +## Grant Directory Permissions + +Our App Registration will need some permissions to be utilized in authentication. + +1. Navigate to your new app registration +2. Navigate to the app registration's **API Permissions** +3. Click **Add a permission** +4. Click **Microsoft.Graph** +5. Click **Delegated permissions** +6. Search `Directory.Read.All` +7. Ensure `Directory.Read.All` is enabled +8. Click **Add permissions** +9. Using the information from the previous steps, following the substituted link: + - `https://login.microsoftonline.com//adminconsent?client_id=` + +We should now be able to plug these details into Dex and configure SSO. + +## Add Connector to Dex Configuration + +Dex provides [documentation](https://dexidp.io/docs/connectors/microsoft/) on the exact process you may follow to set up SSO through Microsoft Entra ID. Once you have created your **App Registration** and its respective **Client Secret**, we are ready to configure Dex with the resulting information: + +- **Tenant ID** +- **Client ID** (for the App Registration, from Step #1) +- **Client Secret** (from Step #2) +- **Redirect URI** + +We need to update the `dex-config` secret within the `epinio` namespace (depending on your installation namespace). We will append the following block to the bottom of our config at secret key `config.yaml`: + +```yaml +connectors: + - type: microsoft + # Required field for connector id. + id: microsoft + # Required field for connector name. + name: Microsoft + config: + clientID: + clientSecret: + redirectURI: https://auth./callback + tenant: +``` + +Restart or redeploy the **Dex** deployment in your cluster. The Entra ID connector set up should now be complete and you should be able to log in through Microsoft Entra ID. diff --git a/versioned_docs/version-1.13.7/howtos/operations/install_metrics_server.md b/versioned_docs/version-1.13.7/howtos/operations/install_metrics_server.md new file mode 100644 index 0000000000..3895e62560 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/operations/install_metrics_server.md @@ -0,0 +1,37 @@ +--- +sidebar_label: "Installing a metrics server" +sidebar_position: 24 +title: "Installing a metrics server" +description: Installing a metrics server for an Epinio environment. +keywords: [epinio, kubernetes, metrics server, installation] +doc-type: [how-to] +doc-topic: [epinio, customize, operations, metrics-server] +--- + +If you don't have a metrics server in your Kubernetes cluster, +the application Pods (instances) report errors when trying to show metrics (RAM, CPU etc). +You would do this with the command [`epinio app show`](../../references/commands/cli/app/epinio_app_show.md). + +To have this command operating correctly you need a metrics server. + +## Installation + +Follow the +[documentation](https://github.com/kubernetes-sigs/metrics-server) +for installing a metrics server. +The documentation has requirements, installation methods (plain YAML, helm chart, and others), +and guidance for more configurations such as high availability and security. + +As an example, this command installs a metrics server: + +```console +kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml +``` + +:::note + +This installation method is for simple environments, +meaning those which aren't high availability setup, +those that aren't large clusters needing custom scaling setups. + +::: diff --git a/versioned_docs/version-1.13.7/howtos/other/_category_.json b/versioned_docs/version-1.13.7/howtos/other/_category_.json new file mode 100644 index 0000000000..2294630b23 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/other/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Other", + "position": 999, + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/howtos/other/certificate_issuers.md b/versioned_docs/version-1.13.7/howtos/other/certificate_issuers.md new file mode 100644 index 0000000000..15190ef26a --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/other/certificate_issuers.md @@ -0,0 +1,219 @@ +--- +sidebar_label: Certificate issuers +sidebar_position: 2 +title: Set up and use certificate issuers +description: How to set up and use certificate issuers +keywords: [epinio, kubernetes, certificate issuers] +doc-type: [how-to] +doc-topic: [epinio, how-to, certificate-issuer] +doc-persona: [epinio-developer, epinio-operator] +--- + +Epinio comes with many +[cert-manager ClusterIssuers](https://cert-manager.io/docs/configuration/) +for creating certificates. +By default, it installs the issuers `epinio-ca` and `selfsigned-issuer`. +If requested it also installs either `letsencrypt-staging` or `letsencrypt-production`, +to create certificates issued from [Let's Encrypt](https://letsencrypt.org/). + +- epinio-ca (default) +- selfsigned-issuer (internal) +- letsencrypt-[staging|production] (optional) + +You use the specified issuer for both Epinio API endpoint and workloads +(that is, the pushed applications). + +## Choosing a different issuer + +When [installing Epinio with helm](../../installation/install_epinio.md#install-epinio), +you can choose between those issuers by using the `global.tlsIssuer` helm variable. + +It's also possible to create a cert-manager cluster issuer in the cluster, +before installing Epinio, +and referencing it by name when installing, +using `global.customTlsIssuer`. + +When using either `letsencrypt-staging` or `letsencrypt-production` +then use the `global.tlsIssuerEmail` helm variable +to set an email address for the reception of the certificate notification e-mails sent by that issuer. + +### Cluster issuer for ACME DNS challenge + +For an example, to use Let's Encrypt with a DNS challenge, +which supports wildcards and private IP addresses, +create this cluster issuer after installing cert-manager: + +```yaml +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: dns-staging +spec: + acme: + server: https://acme-staging-v02.api.letsencrypt.org/directory + privateKeySecretRef: + name: example-issuer-account-key + solvers: + - dns01: + cloudflare: + email: user@example.com + apiKeySecretRef: + name: cloudflare-apikey-secret + key: apikey + selector: + dnsNames: + - 'example.com' + - '*.example.com' +``` + +This uses the Let's Encrypt staging endpoint for testing. +There's more information in the +[cert-manager ACME](https://cert-manager.io/docs/configuration/acme/dns01/) +documentation. + +You then install Epinio with the `global.tlsIssuer` pointing to the new cluster issuer: + +```console +helm install epinio epinio/epinio --set global.tlsIssuer=dns-staging ...(other values here) +``` + +### Cluster issuer for an existing private CA + +According to the instructions from +[cert-manager](https://cert-manager.io/docs/configuration/ca/), +follow these steps: + +#### Create secret with CA certificate and key + +If you don't already have a private CA, +use a tool like `openssl` or `easy-rsa` to create it. + +The following one-liner creates a CA: + +```console +openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \ + -keyout example.key -out example.crt -subj "/CN=*.yourdomainhere.org" +``` + +Make sure the `CN` field matches the domain you are planning to use with Epinio. + +Create a Kubernetes secret from the CA, in the cert-manager namespace. + +```console +kubectl create secret -n cert-manager tls private-ca-secret \ + --cert=./example.crt --key=./example.key +``` + +The cert-manager documentation has more details about this. + +#### Create ClusterIssuer + +Then create the cluster issuer: + +```yaml +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: private-ca +spec: + ca: + secretName: private-ca-secret +``` + +#### Install Epinio + +Use the `global.tlsIssuer` variable to choose your cluster issuer: + +```console +helm install --set global.tlsIssuer=private-ca epinio epinio/epinio --global.domain=epinio.yourdomainhere.org +``` + +## Background on Cert manager and issuers + +Cert manager watches for a *certificate* resource and uses the referenced *cluster issuer* to generate a certificate. +The certificate is stored in a *secret*, +in the namespace the certificate resource was created in. +An *Ingress* resource can then use that secret to set up TLS. + +Example: + +1. The Epinio installation creates a certificate resource in the Epinio namespace + + ```yaml + apiVersion: cert-manager.io/v1alpha2 + kind: Certificate + metadata: + name: epinio + namespace: epinio + spec: + commonName: epinio.172.27.0.2.sslip.io + dnsNames: + - epinio.172.27.0.2.sslip.io + issuerRef: + kind: ClusterIssuer + name: epinio-ca + secretName: epinio-tls + ``` + +1. cert-manager creates the 'epinio-tls' secret, using the referenced cluster issuer 'epinio-ca' + + ```yaml + apiVersion: v1 + kind: Secret + type: kubernetes.io/tls + metadata: + annotations: + cert-manager.io/alt-names: epinio.172.27.0.2.sslip.io + cert-manager.io/certificate-name: epinio + cert-manager.io/common-name: epinio.172.27.0.2.sslip.io + cert-manager.io/ip-sans: "" + cert-manager.io/issuer-group: "" + cert-manager.io/issuer-kind: ClusterIssuer + cert-manager.io/issuer-name: epinio-ca + cert-manager.io/uri-sans: "" + name: epinio-tls + namespace: epinio + data: + ca.crt: ... + tls.crt: ... + tls.key: ... + ``` + +1. Epinio creates an ingress resource + + ```yaml + apiVersion: networking.k8s.io/v1 + kind: Ingress + metadata: + annotations: + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.middlewares: epinio-epinio-api-auth@kubernetescrd + traefik.ingress.kubernetes.io/router.tls: "true" + labels: + app.kubernetes.io/name: epinio + name: epinio + namespace: epinio + spec: + rules: + - host: epinio.172.27.0.2.sslip.io + http: + paths: + - backend: + service: + name: epinio-server + port: + number: 80 + path: / + pathType: ImplementationSpecific + tls: + - hosts: + - epinio.172.27.0.2.sslip.io + secretName: epinio-tls + ``` + +## Epinio push + +The same is true for applications, +`epinio push` creates a `certificate` in the app's workspace and +cert-manager creates a secret for the app's ingress. diff --git a/versioned_docs/version-1.13.7/howtos/other/gitjob_push.md b/versioned_docs/version-1.13.7/howtos/other/gitjob_push.md new file mode 100644 index 0000000000..4fbb00e95f --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/other/gitjob_push.md @@ -0,0 +1,140 @@ +--- +sidebar_label: Pushing with a Git job +sidebar_position: 6 +title: Pushing with a Git job +description: How to do an Epinio push with a Git job. +keywords: [epinio, kubernetes, epinio push, git job] +doc-type: [how-to] +doc-topic: [epinio, how-to, other, gitjob-push] +doc-persona: [epinio-developer, epinio-operator] +--- + +## Introduction + +In certain other "application deployment" solutions, +there is a feature that lets you set up a deployment that rebuilds and republishes, +when your code repository in Git changes + +You can have this functionality in Epinio using the GitJob CRD from [Rancher Fleet](https://fleet.rancher.io/). + +## Setup + +### Install GitJob + +If you don't have Rancher, or stand-alone Fleet installed, you need to +[install the GitJob operator](https://github.com/rancher/gitjob#running). + +Now you need to setup the Service Account to run your Jobs with. +You don't need to do anything using the Kube API, so you don't need to add any role bindings to it: + +```yaml +apiVersion: v1 +kind: ServiceAccount +metadata: + name: epinio-gitjob +``` + +### Check Epinio installation + +If you are using Rancher, you can install Epinio directly from there. +For more information check the +[Rancher configuration](../../installation/other_inst_scenarios/install_epinio_on_rancher.md) with Epinio. + +Once you have deployed Epinio, +log in as admin and verify that the namespace `workspace` exists. +It also needs to be the current target. +You can do this, if necessary, by running: + +```console +epinio namespace create workspace +epinio target workspace +``` + +### Upload Epinio settings + +For the GitJob to authenticate and push correctly, upload your Epinio settings file to the cluster with: + +```console +kubectl create secret generic epinio-creds --from-file=$HOME/.config/epinio/settings.yaml +``` + +This creates a secret containing the settings.yaml when you do an `epinio login` + +### Setup sample project + +Next, as an example, you can use the 12factor app to write a GitJob. + +Create a YAML file called `12factor-gitjob.yaml` containing: + +```yaml +apiVersion: gitjob.cattle.io/v1 +kind: GitJob +metadata: + # The name of the GitJob, doesn't need to match the project. + name: samplepush +spec: + syncInterval: 15 + git: + # The git repo and branch to track. + repo: https://github.com/epinio/example-12factor + branch: main + jobSpec: + template: + spec: + # This should match what we created in the last step + serviceAccountName: epinio-gitjob + restartPolicy: "Never" + containers: + # This version should match your epinio deployment + - image: "ghcr.io/epinio/epinio-server:v1.8.1" + name: epinio-push + volumeMounts: + - name: settings + mountPath: "/settings/" + readOnly: true + - name: tmp + mountPath: /tmp + readOnly: false + env: + - name: EPINIO_SETTINGS + value: "/settings/settings.yaml" + command: + - /epinio + args: + - push + - "--name" + # This is the name of the app to push + - test12factor + workingDir: /workspace/source + volumes: + - name: settings + secret: + secretName: epinio-creds + - name: tmp + emptyDir: {} +``` + + +You can apply this via: + +```console +kubectl apply -f 12factor-gitjob.yaml +``` + +Once applied, you should see a Job and then Pod get created: + +```console +kubectl get job,pod +``` + +You can follow the logs of the pod listed earlier with: + +```console +kubectl logs -f +``` + +### Using Webhooks + +If you prefer to use webhooks instead of polling, +set up the job in the same way as before but also follow the +[Rancher webhook instructions](https://github.com/rancher/gitjob#webhook). diff --git a/versioned_docs/version-1.13.7/howtos/other/minio.md b/versioned_docs/version-1.13.7/howtos/other/minio.md new file mode 100644 index 0000000000..b38200b0bd --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/other/minio.md @@ -0,0 +1,85 @@ +--- +sidebar_label: Epinio's MinIO service +sidebar_position: 30 +title: Accessing Epinio's internal MinIO service +description: How to access Epinio's internal MinIO service +keywords: [epinio, kubernetes, internal minio service] +doc-type: [how-to] +doc-topic: [epinio, how-to, other, access-minio-service] +doc-persona: [epinio-developer] +--- + +There are several ways to make Epinio's internal S3-compatible MinIO service available to use for debugging. +Here, two are covered, +first exposing the MinIO console web interface, +then accessing the MinIO service through the Amazon Web Services (AWS) CLI. +In both cases you expose the internal service through a Kubernetes `NodePort` service. + +:::caution + +For security reasons, make sure that you delete the exposed services immediately at the end of your debugging session. + +::: + +## Expose MinIO console web interface + +The simplest way to access Epinio's internal MinIO service is using a web browser. +Copy the block below and paste it to a terminal configured to have access to your Kubernetes cluster. + +```bash +kubectl expose pod minio-0 -n epinio --name epinio-console-np --port=9001 --type=NodePort +PORT=$(kubectl get svc -n epinio epinio-console-np -o jsonpath='{.spec.ports[0].nodePort}') +NODE=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}") +MINIO_USER=$(kubectl get secrets/minio-creds -n epinio -o=go-template='{{index .data "rootUser" | base64decode}}') +MINIO_PASS=$(kubectl get secrets/minio-creds -n epinio -o=go-template='{{index .data "rootPassword" | base64decode}}') +echo "Minio Console https://$NODE:$PORT, Username: $MINIO_USER Password: $MINIO_PASS" +``` + +The output from the command on the last line is similar to: + +```console +Minio Console https://10.0.0.12:31689, Username: 20bDikQsszYpcrBc Password: kDRHftasmW0CyRjy +``` + +Now you can point your web browser to the MinIO console using the provided URL and credentials. + +At the end of your debugging session delete the created service by running: + +```console +kubectl delete service epinio-console-np -n epinio +``` + +## Access Epinio's MinIO through the AWS CLI + +Another method is using the AWS CLI to communicate with the internal S3-compatible MinIO API endpoint. +If you choose this method copy the block below and paste it to a terminal configured to have access to your Kubernetes cluster. + +```bash +kubectl expose pod minio-0 -n epinio --name epinio-api-np --port=9000 --type=NodePort +PORT=$(kubectl get svc -n epinio epinio-api-np -o jsonpath='{.spec.ports[0].nodePort}') +NODE=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}") +MINIO_KEY=$(kubectl get secrets/minio-creds -n epinio -o=go-template='{{index .data "accesskey" | base64decode}}') +MINIO_SECRET=$(kubectl get secrets/minio-creds -n epinio -o=go-template='{{index .data "secretkey" | base64decode}}') +``` + +Install AWS CLI according to Amazon's +[Getting Started Guide](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) +and configure it to access the internal MinIO/S3 service as follows: + +```bash +aws configure set aws_access_key_id $MINIO_KEY +aws configure set aws_secret_access_key $MINIO_SECRET +aws configure set default.region us-east-1 +echo "Usage: aws --no-verify-ssl --endpoint-url https://$NODE:$PORT s3 ls" +``` + +For more information about using AWS CLI with S3, see Amazon's +[Getting Started Guide](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) +and also the documentation from +[MinIO](https://min.io/docs/minio/linux/integrations/aws-cli-with-minio.html) on this topic. + +At the end of your debugging session delete the created service by running: + +```console +kubectl delete service epinio-api-np -n epinio +``` diff --git a/versioned_docs/version-1.13.7/howtos/other/port_forwarding.md b/versioned_docs/version-1.13.7/howtos/other/port_forwarding.md new file mode 100644 index 0000000000..e42ca80192 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/other/port_forwarding.md @@ -0,0 +1,65 @@ +--- +sidebar_label: Port forwarding +sidebar_position: 11 +title: Setting up and using port forwarding +description: How to set up and use port forwarding +keywords: [epinio, kubernetes, port forwarding] +doc-type: [how-to] +doc-topic: [epinio, how-to, port-forwarding] +doc-persona: [epinio-developer, epinio-operator] +--- + +This How-to shows how to use port forwarding to access a running application. + +You start port forwarding with the `port-forward` command: + +```console +epinio app port-forward samplejava 34506:8080 +``` + +This forwards the traffic coming from `localhost:34506` to the remote `:8080`. +Specification of the local port is optional. +When none is provided a random port is selected. + +## Point to a specific instance + +You can direct port forwarding to a specific instance of your application. + +To do this: + +- list all the instances of the application +- pick the desired ID +- use the `--instance` flag to direct the port forwarding to that instance + +```console +-> % epinio app show samplejava + +🚢 Show application details +Namespace: workspace +Application: samplejava + +✔️ Details: +| KEY | VALUE | +|----------------------|---------------------------------------------| +| Origin | /home/user/sample | +| Status | 1/1 | +| Username | admin | +| StageId | cac0d6fec92e0a1f | +| Age | 2m50s | +| Active Routes | | +| | samplejava.172.19.0.4.sslip.io | +| Desired Instances | 1 | +| Bound Configurations | | +| Environment | | + +✔️ Instances: +| NAME | READY | MEMORY | MILLICPUS | RESTARTS | AGE | +|-----------------------------|-------|-----------|-----------|----------|-------| +| samplejava-5f84c47f76-7mvv7 | true | 214.0 MiB | 2 | 0 | 2m50s | +``` + + + +```console +epinio app port-forward samplejava 34506:8080 --instance samplejava-5f84c47f76-7mvv7 +``` diff --git a/versioned_docs/version-1.13.7/howtos/other/separate_workload_ingress.md b/versioned_docs/version-1.13.7/howtos/other/separate_workload_ingress.md new file mode 100644 index 0000000000..fe56c910e6 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/other/separate_workload_ingress.md @@ -0,0 +1,37 @@ +--- +sidebar_label: Ingress separation +sidebar_position: 9 +title: Separating application Ingress from Epinio API server Ingress +description: How to separate application Ingress from Epinio API server Ingress +keywords: [epinio, kubernetes, separate application ingress, epinio api server] +doc-type: [how-to] +doc-topic: [epinio, how-to, other, ingress-separation] +doc-persona: [epinio-developer, epinio-operator] +--- + +By default, applications deployed through Epinio share their ingress class with Epinio's API server. + +For situations where this kind of behavior isn't wanted you achieve separation with a couple of steps. + +Set the Helm template variable `server.ingressClassName` to the name of the Ingress class to use for application Ingress: + +```console +helm install \ + --set server.ingressClassName=nginx + ... (other options here) \ + epinio epinio/epinio +``` + +To use this application Ingress with a domain different to the Helm template variable `global.domain`, +the user can use `--route` flag. +Do this when pushing an application through the Epinio CLI or by setting a `Route` value using the Epinio Web UI. +The route value must contain the entire domain used by the application. + +```console +epinio app push -n sample -p . --route sample.myawesomedomain.org +``` + +## References + +- [Load Balancers](../../references/customization/lb.md) +- [Custom Routes](../customization/custom_routes.md) diff --git a/versioned_docs/version-1.13.7/howtos/other/using_custom_appcharts.md b/versioned_docs/version-1.13.7/howtos/other/using_custom_appcharts.md new file mode 100644 index 0000000000..abc940dbfe --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/other/using_custom_appcharts.md @@ -0,0 +1,141 @@ +--- +sidebar_label: Custom application Helm charts +sidebar_position: 16 +title: Using custom application Helm charts +description: How to use custom application Helm charts. +keywords: [epinio, kubernetes, custom application helm chart] +doc-type: [how-to] +doc-topic: [epinio, how-to, other, custom-app-chart] +doc-persona: [epinio-developer, epinio-operator] +--- + +Epinio deploys applications on Kubernetes as [Helm charts](https://helm.sh/). + +By default, a standard Helm chart is provided at Epinio installation time. +However, operators may wish to +[create and register custom charts](../customization/create_custom_appcharts.md) +specific to their environment. + +After developers have registered custom charts in Epinio, +developers can use them when deploying their applications as described here. + +## Listing the available Helm charts + +You can list the available Helm charts by running the following command: + +```console +epinio app chart list +``` + +For example, this is the output of an unmodified Epinio installation: + +```console +| DEFAULT | NAME | DESCRIPTION | +|---------|----------|----------------------------| +| | standard | Epinio standard deployment | +``` + +The output only lists the `standard` Helm chart, +which Epinio installs by default. + +## Deploying applications with a custom Helm chart + +Use the option `--app-chart` to specify the name of the custom Helm chart +to use when creating, updating, or deploying an application. + +For detailed information on the `--app-chart` setting, see the following CLI commands pages: + +- [epinio app create](../../references/commands/cli/app/epinio_app_create.md) +- [epinio app update](../../references/commands/cli/app/epinio_app_update.md) +- [epinio push](../../references/commands/cli/epinio_push.md) + +:::caution + +Changing the chart to use **isn't possible** if the application has an active workload. + +To switch a deployed application to a different Helm chart, +you have to delete and re-deploy the application. + +Scaling the application to zero instances **isn't enough**. +While that stops the application it doesn't remove the deployed workload, +just the underlying active elements. + +::: + +## Deploying applications with a custom Helm chart which has user-settable configuration values + +The general mechanism is the same as described in the earlier section. + +However, use the option `--chart-value` to specify name and value of a single user-settable configuration value. +Use the option as many times as needed to set all the desired configuration values. + +For example: + +```console +epinio push --name APPNAME --path APPSOURCEPATH --app-chart CHARTNAME --chart-value CVNAME=VALUE ... +``` + +:::note + +User-settable configuration values are usually optional. +The application chart should contain sensible defaults for all configuration values not set by the user. + +::: + +## Setting a default Helm chart + +The `--app-chart` option described in the earlier section is more suitable for single +or a small number requiring a custom Helm chart. + +However, if most applications use a specific custom chart, +for example, `FOO`, +it makes more sense to change the default chart. + +You can set a custom chart as the default by running the following command: + +```console +epinio app chart default FOO +``` + +Now, all future invocations of `epinio push` uses the custom Helm chart set as default. +You can override it with the `--app-chart` option, described above. + +:::note + +The `default` chart is a **local** setting. It affects only the local developer's environment. + +::: + +## Querying the default Helm chart + +You can check which chart is the `default` by running the following command: + +```console +epinio app chart default +``` + +You can check which chart is the `default` when listing the available charts. +For example, the output below shows the chart `FOO` as the current default: + +```console +| DEFAULT | NAME | DESCRIPTION | +|---------|----------|----------------------------| +| * | FOO | Foofy deployment | +| | standard | Epinio standard deployment | +``` + +## Reset to the default Helm chart + +You can set the system chart `standard` back as the default, by running the following command: + +```console +epinio app chart default '' +``` + +:::note + +You need the **empty string** used in place of the chart name. +If you don't add it, +the command only lists the charts available. + +::: diff --git a/versioned_docs/version-1.13.7/howtos/use-develop/_category_.json b/versioned_docs/version-1.13.7/howtos/use-develop/_category_.json new file mode 100644 index 0000000000..d489970356 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/use-develop/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Using and developing", + "position": 4, + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/howtos/use-develop/app_recover.md b/versioned_docs/version-1.13.7/howtos/use-develop/app_recover.md new file mode 100644 index 0000000000..d484f597a6 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/use-develop/app_recover.md @@ -0,0 +1,163 @@ +--- +sidebar_label: Recovering applications after CRD cycling +sidebar_position: 4 +title: Recovering applications after CRD cycling +description: How to recover applications after cycling the Epinio CRDs +keywords: [epinio, kubernetes, application recovery, crd] +doc-type: [how-to] +doc-topic: [epinio, how-to, recovery] +doc-persona: [epinio-operator] +--- + +Epinio uses 3 Kubernetes CRDs to manage its service catalog entries, app charts, and application data. + +When deleting a CRD Kubernetes also deletes all associated CRs. + +If, during an upgrade of an Epinio installation Epinio's CRDs were deleted, this means that Epinio's +service catalog entries, custom app charts, and applications data are **gone**. + +Regarding the latter note that the active parts of Epinio applications use regular Kubernetes +resources, and thus keep running during such an operation. Epinio however will lose track of these +applications. + +To recover from such a scenario the best way is to have made backups of all catalog entries, app +charts, and application data before the upgrade operation, and then re-apply them after. + +```bash +# SAVE +kubectl get app.application.epinio.io -A -o yaml > APPLICATIONS +kubectl get appchart.application.epinio.io -A -o yaml > APPCHARTS +kubectl get service.application.epinio.io -A -o yaml > CATALOG + +# UPGRADE + +# RESTORE +kubectl apply -f APPLICATIONS +kubectl apply -f APPCHARTS +kubectl apply -f CATALOG +``` + +If taking a backup was forgotten then recovery should be relatively easy for service catalog entries +and app charts. The standard entries and app charts are re-created when Epinio is re-installed. For +the non-standard entries and app-charts it is expected that the operator has their definitions +available, precisely because they are non-standard, and managed by the operator instead of Epinio. + +This leaves the application data. + +Scaling information, environment variables, bound configuration and services are stored in regular +Kubernetes resources (Secrets) and are therefore not affected by the deletion. Recovery is automatic +when the central application CR is created. + +An application data resource has the form + +```yaml +apiVersion: application.epinio.io/v1 +kind: App +metadata: + annotations: + epinio.io/created-by: admin + name: fox + namespace: workspace +spec: + blobuid: 5d00477c-9a2d-4c6f-bdc3-d1094f4e8901 + builderimage: paketobuildpacks/builder-jammy-full:0.3.290 + chartname: standard + imageurl: registry.epinio.svc.cluster.local:5000/apps/workspace-fox:1642fcf755ab41e8 + origin: + path: /home/work/SUSE/dev/epinio/assets/sample-app + routes: + - fox.172.18.0.4.sslip.io + - foxy.172.18.0.4.sslip.io + stageid: 1642fcf755ab41e8 +``` + +Recovery of the missing application requires filling out `name`, `namespace`, and `spec`. +Most of the necessary information can be found in the application pods (runtime and staging), and ingresses. +For inactive applications, which do not have pods nor ingresses, this means that the `spec` information is left empty. + +Use +```bash +kubectl get pod -A -l 'app.kubernetes.io/managed-by=epinio' +``` + +to locate all application pods managed by Epinio. +This includes the staging pods. + +The labels of the application's runtime pods directly provide application `name`, `namespace`, and `stageid`. +The `chartname` is indirectly recoverable by cross-referencing the value of `helm.sh/chart` against the app chart resources. +These should be recovered already. + +|Label|Content| +|---|---| +|`app.kubernetes.io/name`|name +|`app.kubernetes.io/part-of`|namespace +|`epinio.io/stage-id`|stageid| +|`helm.sh/chart`|chartname, indirect via app charts| + +Example: +```yaml + labels: + app.kubernetes.io/component: application + app.kubernetes.io/managed-by: epinio + app.kubernetes.io/name: fox + app.kubernetes.io/part-of: workspace + epinio.io/app-container: rfox-ff0f0a8b656f0b44c26933acd2e367b6c1211290 + epinio.io/stage-id: 1642fcf755ab41e8 + helm.sh/chart: epinio-application-0.1.26 + pod-template-hash: 5f9fd5c945 +``` + +The `imageurl` is recoverable from the pod's `spec.containers[0].image`: + +```yaml +spec: + containers: + - image: 127.0.0.1:30500/apps/workspace-fox:1642fcf755ab41e8 +``` + +Replace the `host:port` part of the url with `registry..svc.cluster.local:5000`. +The placeholder `` refers to the namespace Epinio was installed in. + +The `blobuid` is recovered from the application's staging pod, specifically its `epinio.io/blob-uid` label. +An alternative location is the `BLOBID` environment variable found in the container specifications of the staging pod. + +The `APPIMAGE` environment variable in the same place is an alternate location for the `imageurl` as well. +It is arguably even better, as no editing is required. + +```yaml +- name: BLOBID + value: 5d00477c-9a2d-4c6f-bdc3-d1094f4e8901 +[...] +- name: APPIMAGE + value: registry.epinio.svc.cluster.local:5000/apps/workspace-fox:1642fcf755ab41e8 +``` + +Furthermore, the `spec.containers[0].image` value provides the `builderimage`. + +```yaml +spec: + containers: + - args: + - -c + - source /stage-support/build + command: + - /bin/bash + env: + [...] + image: paketobuildpacks/builder-jammy-full:0.3.290 +[...] +``` + +To recover the application routes look at the Ingress resources in the application's namespace. +The ingresses for an application `` are named `r-...` and the listed hosts are the routes: + +```bash +% kubectl get ingress -n workspace +NAME CLASS HOSTS [...] +rfox-fox1721804omghowd-5af9c73b3c19f041d061042e158408a5275b015e traefik fox.172.18.0.4.sslip.io [...] +rfox-foxy1721804omghow-22ecdc59ff0c5c7b0f328802c6abea7739c2a388 traefik foxy.172.18.0.4.sslip.io [...] +``` + +Not recoverable is the `origin` data. It is stored nowhere else in the system. + +It is of course possible to enter it manually, if it is remembered. diff --git a/versioned_docs/version-1.13.7/howtos/use-develop/debug.md b/versioned_docs/version-1.13.7/howtos/use-develop/debug.md new file mode 100644 index 0000000000..01f5fc91df --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/use-develop/debug.md @@ -0,0 +1,56 @@ +--- +sidebar_label: Debugging an application +sidebar_position: 4 +title: Debugging an application +description: How to debug an Epinio application. +keywords: [epinio, kubernetes, application debugging] +doc-type: [how-to] +doc-topic: [epinio, how-to, use-develop, debug] +doc-persona: [epinio-developer, epinio-operator] +--- + +## Java + +To debug a Java application you have to set the +[`BPL_DEBUG_ENABLED`](https://paketo.io/docs/howto/java/#enable-remote-debugging) environment variable to `true`. +You can do this with the Epinio CLI `app env set` command: + +```console +epinio app env set samplejava BPL_DEBUG_ENABLED true +``` + +After the application has restarted (to integrate the change of the environment), +use [port forwarding](../other/port_forwarding.md) to attach the debugger. +It runs by default on the port `8000`: + +```console +epinio app port-forward sample 8000:8000 +``` + +This forwards the traffic coming from `localhost:8000` to the remote `:8000`. + +## Node + +To debug a Node application you need to start the application with the `--inspect` flag. +Your `package.json` has to be similar to: + +```json +{ + "name": "nodejs-sample-app", + "version": "1.0.0", + "scripts": { + "start": "node --inspect index.js" + } +} +``` + +After deploying the application , +use [port forwarding](../other/port_forwarding.md) +to attach the debugger. +By default, it runs on port `9229`: + +```console +epinio app port-forward sample 9229:9229 +``` + +This forwards the traffic coming from `localhost:9229` to the remote `:9229`. diff --git a/versioned_docs/version-1.13.7/howtos/use-develop/example-apps.md b/versioned_docs/version-1.13.7/howtos/use-develop/example-apps.md new file mode 100644 index 0000000000..94e6abc60c --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/use-develop/example-apps.md @@ -0,0 +1,61 @@ +--- +sidebar_label: Get Familiar With Epinio Via Example Applications +sidebar_position: 4 +title: Get Familiar With Epinio Via Example Applications +description: Get started with Epinio by deploying example applications. +keywords: [epinio, kubernetes, go, java, wordpress, html, install] +doc-type: [how-to] +doc-topic: [epinio, how-to, use-develop, install-example-apps] +doc-persona: [epinio-developer, epinio-operator] +--- + +## Introduction + +This guide provides a collection of example applications that you can deploy using Epinio. These applications cover various programming languages and frameworks, allowing you to explore Epinio's capabilities in different contexts. + +If you are using the latest version you can clone the example repository main branch. Some examples will have branches with specific versions like the Static HTML Example has a v1.11.0 branch. + +If you are using the Epinio CLI you can just clone the below examples and use the +Epinio push command with the specific instructions for each example. If you are using the Epinio UI can use the Create Application flow to deploy the examples. + +## Compatibility Table +Below are the list of example app branches in relation to the currently supported +versions of Epinio. + +| Example App | Epinio v1.13.* | Epinio v1.12.* | Epinio v1.11.* | +| ---------------------------------------------------------- | ------------- | ------------- | -------------- | +| [Static HTML](https://github.com/epinio/example-12factor) | main | main | v1.11 | +| [Golang](https://github.com/epinio/example-go) | main | main | main | +| [Java/Spring Boot](https://github.com/epinio/example-java) | main | main | v1.11 | +| [Rails](https://github.com/epinio/example-rails) | main | main | v1.11 | +| [Wordpress](https://github.com/epinio/example-wordpress) | main | main | main | + +## Static HTML Example + +This is a good starting point to get familiar with Epinio. It is a simple static HTML application that demonstrates the basic deployment process. + +https://github.com/epinio/example-12factor + +## Java Example + +This example showcases a Java with Spring Boot application. It demonstrates how to deploy a Java application using Epinio. + +https://github.com/epinio/example-java + +## Golang Example + +This example features a Go application. It illustrates the deployment of a Go-based application using Epinio. It also includes an example for bundling static files in your application binary if you are deploying a simple web server. + +https://github.com/epinio/example-go + +## Rails Example + +This example demonstrates a Ruby on Rails application. It highlights the deployment of a Rails application using Epinio. This is one of the more complex examples as it requires a database to be deployed alongside the application. There are also multiple environment variables that need to be set for the application to work. Its recommended to use the Epinio CLI for this example. + +https://github.com/epinio/example-rails + +## WordPress Example + +This example illustrates the deployment of a WordPress application. It includes steps to set up the necessary PHP extensions and configure the application. WordPress requires a database to function, so additional steps are needed to connect it to a database service. + +https://github.com/epinio/example-wordpress diff --git a/versioned_docs/version-1.13.7/howtos/use-develop/export-and-transfer.md b/versioned_docs/version-1.13.7/howtos/use-develop/export-and-transfer.md new file mode 100644 index 0000000000..bfc9888ad3 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/use-develop/export-and-transfer.md @@ -0,0 +1,67 @@ +--- +sidebar_label: Application export and transfer +sidebar_position: 40 +title: Application export from Epinio and transfer to another cluster +description: How to export an application from Epinio and transfer it to another cluster. +keywords: [epinio, kubernetes, application, transfer, export] +doc-type: [how-to] +doc-topic: [epinio, how-to, use-develop, application-export-transfer] +doc-persona: [epinio-developer, epinio-operator] +--- + +Epinio provides the ability to export all parts of a running application and then use these to run +the application in a different cluster. + +This only applies to the core application itself, and not to configurations +and services it may need or was bound to in the origin cluster. + +## Export + +Exporting an application `APP` is trivially done by running the command + +```console +epinio app export APP /path/to/a/directory/of/your/choice/ +``` + +After the command has run the chosen directory has the 3 parts of the application needed to run +it elsewhere, namely: + +- `app-image.tar`; The application's runtime image as generated by the staging process and saved into a tar archive as generated by `docker save`. + +- `app-chart.tar.gz`; The [application chart](../customization/create_custom_appcharts.md) used to deploy the application. + +- `values.yaml`; The configuration of the application chart. +This part references the application image. +This reference is only valid for the origin cluster. + +## Import + +To import `APP` into a new cluster + +1. Run `docker load app-image.tar` to import the image and its layers into the local docker setup. +The output has a line referencing the `Loaded image ID`. +This is the hash of the loaded image and needed in the next step. + + __Note__. Don't use `docker import`, nor `docker image import` for this. + While these commands do store the image into the local docker similar to `load` they don't preserve the layering, + nor the Entrypoint information coming with these. + It's the Entrypoint information which makes the result unusable. + +1. Run `docker tag HASH REGISTRY/ORG/NAME:TAG` where `HASH` is the hash of the image as reported by the previous step. +`REGISTRY`, etc. are arbitrary values chosen by the importer. +The `REGISTRY` is optional, that is, would default to dockerhub. +If set, it has to refer to an actual registry the destination cluster is able to pull from. + +1. Run `docker push REGISTRY/ORG/NAME:TAG` to save the image to the chosen registry. +Without this step the image would only exist locally and couldn't be pulled later. + +1. Edit the `imageURL` field in the file `values.yaml` to replace the existing image reference, +valid only for the origin cluster, with `REGISTRY/ORG/NAME:TAG`. + +1. Edit the `domain`/`id` information of the `routes` section of `values.yaml`, +to prevent clashes with the instance of `APP` running on the origin cluster. +This isn't necessary if `APP` wasn't kept running on the origin cluster. + +1. Edit the `appName` field in `values.yaml`, if required. + +1. Run `helm upgrade --install NAME app-chart.tar.gz --values values.yaml` to deploy the modified application on the destination cluster under the chosen release name. diff --git a/versioned_docs/version-1.13.7/howtos/use-develop/install_wordpress_application.md b/versioned_docs/version-1.13.7/howtos/use-develop/install_wordpress_application.md new file mode 100644 index 0000000000..053b89d5cb --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/use-develop/install_wordpress_application.md @@ -0,0 +1,62 @@ +--- +sidebar_label: Install WordPress with Epinio +sidebar_position: 25 +title: Installing WordPress with Epinio +description: How to install WordPress using Epinio. +keywords: [epinio, kubernetes, wordpress, install] +doc-type: [how-to] +doc-topic: [epinio, how-to, use-develop, install-wordpress] +doc-persona: [epinio-developer, epinio-operator] +--- + +## Create a directory for your application + +```console +mkdir wordpress +cd wordpress +``` + +## Get the code + +https://wordpress.org/download/#download-install + +```console +wget https://wordpress.org/latest.tar.gz +tar xvf latest.tar.gz +cd wordpress +``` + +## Enable the needed PHP extensions + +The PHP buildpack supports additional INI files for PHP through +[the PHP_INI_SCAN_DIR mechanism](https://paketo.io/docs/howto/php/#configure-php-with-a-custom-ini-file). + +For WordPress to work, there are certain PHP extensions that need enabling: + +```console +# This is still needed +mkdir .php.ini.d +cat << EOF > .php.ini.d/extensions.ini +extension=zlib +extension=mysqli +extension=openssl +EOF +``` + +## Deploy + +```console +epinio push --name wordpress +``` + +## Additional steps + +WordPress needs a database to work. +After visiting the route of your deployed application, +you have to set the connection details to the database. + +You can use the [Service](../../references/services.md) feature to deploy your database with Epinio. +Deploying a database manually is still possible. + +Check [the README of the example app](https://github.com/epinio/example-wordpress#step-4---create-a-database-for-wordpress), +on how to create a database and how to configure WordPress to use it. diff --git a/versioned_docs/version-1.13.7/howtos/use-develop/namespaces.md b/versioned_docs/version-1.13.7/howtos/use-develop/namespaces.md new file mode 100644 index 0000000000..9db9531435 --- /dev/null +++ b/versioned_docs/version-1.13.7/howtos/use-develop/namespaces.md @@ -0,0 +1,60 @@ +--- +sidebar_label: Multiple namespaces +sidebar_position: 3 +title: Working with multiple namespaces +description: How to use Epinio to work with multiple namespaces +keywords: [epinio, kubernetes, multiple namespaces] +doc-type: [how-to] +doc-topic: [epinio, how-to, multiple-namespace] +doc-persona: [epinio-developer, epinio-operator] +--- + +Like Kubernetes, Epinio has an idea of namespaces, and the means of working with them. +Working with many namespaces is a little different in Epinio than with Kubernetes. + +In Kubernetes the `kubectl` client accepts an option `--namespace` for all its commands, and is the name of the namespace to work with. + +Epinio maintains a **current namespace** in its local state, often also called the **targeted namespace**. + +To work with the applications, configurations, etc. in an existing namespace `foo` +invoke: + +```console +epinio target foo +``` + +This sets `foo` as the current namespace. +All other commands of `epinio` operating on a namespace now use `foo`. +To start working with a different existing namespace `bar` simply invoke +`epinio target` again, that is, run: + +```console +epinio target bar +``` + +To see the name of the current namespace invoke the command without a namespace +argument, i.e.: + +```console +epinio target +``` + +There are a few points to note: + +- The current namespace is **local state**, specific to the user invoking the Epinio client. +The state information isn't shared between users. + +- Creating a new namespace **doesn't** make it the current namespace. + +- Deleting the current namespace **doesn't** undo the targeting. +The removed namespace stays targeted and so the next commands fail. + +- While installation of Epinio creates the pre-defined namespace `workspace`, +the Helm chart is **not able** to automatically target this namespace. +The user must do this. +This, and the previous point means that whatever namespace was the last target +in a preceding installation of Epinio continues to be the target in a new installation. + +## References + +- [Namespaces](../../references/namespaces.md) diff --git a/versioned_docs/version-1.13.7/installation/_category_.json b/versioned_docs/version-1.13.7/installation/_category_.json new file mode 100644 index 0000000000..a366d2fe47 --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Installation", + "position": 2, + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/installation/dns_setup.md b/versioned_docs/version-1.13.7/installation/dns_setup.md new file mode 100644 index 0000000000..7ee7ff3320 --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/dns_setup.md @@ -0,0 +1,207 @@ +--- +sidebar_label: "DNS setup" +sidebar_position: 3 +title: "DNS setup" +description: How to setup DNS for Epinio and associated issues. +keywords: [epinio, kubernetes, k8s, DNS] +--- + +During an [Epinio installation](install_epinio.md), +you need to specify a "system" domain in the `global.domain` helm field. +You use this field for access to: + +- an Epinio API server +- an Epinio WebUI +- a dex (OpenID Connect Provider) +- create default routes for the deployed applications. + +The `global.domain` field must be a wildcard domain. +So, any subdomain should resolve to the same IP address as the domain itself. +That domain IP address, should target your cluster's Ingress controller (for example, Traefik) + +:::note + +Epinio will install successfully even if your DNS setup is not complete. +An exception is when the Lets Encrypt certificate issuer is used. +In this case, `cert-manager` will fail to create certificates. When the domain becomes accessible certificates can be created. +You can read more about certificate issuers [here](../howtos/other/certificate_issuers.md). +Epinio will work after the DNS setup is correct and the domain becomes available. + +::: + +For simplicity finish your DNS setup before installing Epinio. +You need to point your desired domain to the IP address of your Ingress controller. +The two steps in the process are described in these sections: + +1. [Find](#find-ip-for-ic) the IP address of the ingress controller +1. [Configure](#config-dns) your DNS + +:::note + +For development or demo environments, an easy [wildcard](wildcardDNS_setup.md) DNS setup can be used. + +::: + +## Find the IP address of the ingress controller {#find-ip-for-ic} + +Most Kubernetes clusters run a "load balancer" service. +It assigns IP addresses to load balanced services created on the cluster. +Ingress controllers are such services (for example, Traefik). They work only if they have an external accessible IP address. + +You can find the load balancer IP address of any service using `kubectl`. For example: + +```shell +kubectl get svc -n kube-system traefik -o jsonpath={@.status.loadBalancer.ingress} +``` + +will return output containing: + +```shell +[map[ip:172.18.0.4]] +``` + +You use the IP field in the next step to configure your DNS. + +## Configure your DNS {#config-dns} + +If you own the domain `example.com`, you configure a subdomain, for example, `test.example.com` for Epinio. +You can now configure your DNS so that any request for `test.example.com` resolves to the address you got in the previous section. + +- `test.example.com => "INGRESS-IP"` +- `*.test.example.com => "INGRESS-IP"` + +:::tip + +The setup of a wildcard entry is important. It allows automatic routing for applications to work in Epinio. + +::: + +We have some DNS configuration examples in the next section + +## DNS configuration examples + +### Amazon Route53 & AWS EKS + +We will use the [Amazon Route53](https://aws.amazon.com/route53/) to create a wildcard domain within an existing "Hosted zone", like `example.com`. + +If an Epinio ingress installation has provided you with the following hostname: + +```bash +Traefik Ingress info: [{"hostname":"abcdefg12345671234567abcdefg1234-1234567890.eu-west-1.elb.amazonaws.com"}] +``` + +That hostname is in a AWS format. +Below, for brevity, we will use the hostname `abcd.aws.com`. + +You need to add two `CNAME` records, for the subdomain and the wildcard. So, "test" for `test.example.com`, and `*.test.example.com` for the wildcard. + +Use `abcd.aws.com` with your EKS FQDN, and `test.example.com` with your custom domain. + +##### `test.example.com` + +```bash +Record name: test +Record type: CNAME - Routes traffic to another domain name and some AWS resources +Value: abcd.aws.com +``` + +##### `*.test.example.com` + +```bash +Record name: *.test +Record type: CNAME - Routes traffic to another domain name and some AWS resources +Value: abcd.aws.com +``` + +Now, the commands: + + +```bash +host test.example.com +``` + +or + +```bash +> host epinio.test.example.com +``` + +should resolve to something like: + +```bash +abcd.aws.com +``` + +### Azure AKS and "example-domain" + +For this example we use the Azure resource group `example-domain`, with the zone `example.com`. + +If the Epinio Ingress installation provides you with the following hostname: + +```bash +Traefik Ingress info: [{"ip":"10.0.0.1"}] +``` + +You need to add two A records, for the subdomain and wildcard. +So, "test" to have `test.example.com` and `*.test.example.com` added to the DNS zone `example.com`. +Replace "10.0.0.1" with the IP from "Traefik Ingress info", and "test.example.com" with your custom domain. + +##### `test.example.com` + +```bash +Record name: test.example.com +Record type: A +IP address: 10.0.0.1 +``` + +##### `*.test.example.com` + +```bash +Record name: *.test.example.com +Record type: A +IP address: 10.0.0.1 +``` + +Now, running: + +```bash +host test.example.com +``` + +or + +```bash +host epinio.test.example.com +``` + +should resolve to `10.0.0.1`. + +### Bind DNS + +If an Epinio ingress installation has provided you with the following hostname: + +```bash +Traefik Ingress info: [{"ip":"10.0.0.1"}] +``` + +You need to add two A records, for the subdomain and wildcard, so "test" to have `test.example.com`, and `*.test.example.com` to `/var/lib/named/master/forward/example.com`. +This path will differ depending on distribution. +Replace `10.0.0.1` with the IP address from "Traefik Ingress info", and `test.example.com` with your custom domain. + +```bash +$ORIGIN example.com. +test A 10.0.0.1 +$ORIGIN test.example.com. +* A 10.0.0.1 +``` + +Restart bind and verify that these commands resolve to `10.0.0.1`: + +```bash +host test.example.com +``` +or + +```shell +host epinio.test.example.com +``` diff --git a/versioned_docs/version-1.13.7/installation/install_epinio.md b/versioned_docs/version-1.13.7/installation/install_epinio.md new file mode 100644 index 0000000000..a6446ae506 --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/install_epinio.md @@ -0,0 +1,290 @@ +--- +sidebar_label: "Install Epinio" +sidebar_position: 1 +title: "Installing Epinio" +description: How to install Epinio +keywords: [epinio, kubernetes, k8s, installation, install] +--- + +## Introduction + +Epinio is installed from a single Helm chart. +This also installs [`Kubed`](#kubed), [`MinIO`](#s3-storage), [`Dex`](#dex) and a [container registry](#container-registry) in your Kubernetes cluster. +You can disable the installation of these additional "sub" charts by changing the settings as described in their sections below. + +## Prerequisites + +See [system requirements](../references/system_requirements/global.md) for dependencies your Kubernetes cluster requires for an Epinio installation. + +## Installation + +### Ingress Controller + +During installation using `helm` Epinio creates some Ingress resources for its internal components. +These components depend on a running ingress controller providing a default `IngressClass`. + +:::tip + +For RKE2 users, note that you do not not need to install the default `ingress-controller` as Epinio uses `ingress-nginx` by default. + +::: + +You can install `nginx-ingress-controller` using the `LoadBalancer` service type: + +```bash +helm repo add nginx-stable https://helm.nginx.com/stable +helm repo update +helm upgrade --install nginx-ingress --namespace nginx-ingress nginx-stable/nginx-ingress \ + --set controller.setAsDefaultIngress=true \ + --create-namespace +``` + +You can use Traefik instead of Nginx by following the official [documentation](https://doc.traefik.io/traefik/getting-started/install-traefik/#use-the-helm-chart). + + +:::tip + +You should verify if the service of the ingress controller you have just deployed has at least one `EXTERNAL-IP` address assigned from the external load-balancer provider (such as AWS ELB or similar). + +
+ +How to verify your `EXTERNAL-IP` address + + +```bash +kubectl get svc nginx-ingress-controller --namespace nginx-ingress +> NAME TYPE CLUSTER-IP EXTERNAL-IP +> nginx-ingress-controller LoadBalancer 10.43.223.228 +``` + +If you have the `` value in the `EXTERNAL-IP` column you can try one of the following steps: + +- Enable the relevant cloud provider resources for your cluster +- Install the [MetalLB](https://metallb.universe.tf) load balancer into your cluster +- Append `--set "controller.service.externalIPs={,}"` to the `helm upgrade --install` command above, or perform `kubectl edit service nginx-ingress-controller -n nginx-ingress` and add: + ```yaml + spec: + externalIPs: + - + - + ``` + +There is more about this in the [NGINX documentation](https://kubernetes.github.io/ingress-nginx/deploy/baremetal). + +
+ +::: + +### Cert Manager + +Epinio needs [cert-manager](https://cert-manager.io/) to create TLS +certificates for the various ingresses. + +If you do not have cert-manager installed on the cluster, you can install it: + +```bash +helm repo add jetstack https://charts.jetstack.io +helm repo update +helm upgrade --install cert-manager jetstack/cert-manager --namespace cert-manager \ + --set crds.enabled=true \ + --set extraArgs={--enable-certificate-owner-ref=true} \ + --create-namespace +``` + +:::caution +If `cert-manager` isn't installed in the namespace `cert-manager`, +you have to set `.Values.certManagerNamespace` to the namespace it is installed in. +Epinio installation will fail without this as it will not know how to use `cert-manager`. +::: + +### Dynamic storage provisioner + +To support Epinio a storage provisioner is needed. +You can use any storage provisioner which provides `ReadWriteMany` (RWX) Access Mode and a **default StorageClass** resource for dynamic storage provisioning. + +To verify that your cluster provides a default StorageClass run the command `kubectl get storageclass`. The default StorageClass is marked with the string `(default)` next to its name in the output list. + +For example, you can deploy and configure the `local-path` dynamic storage provisioner by: +```bash +kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml +kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' +``` + +### Install Epinio + +If the above dependencies are available or going to be installed by this chart, +Epinio can be installed with the following: + +```bash +helm repo add epinio https://epinio.github.io/helm-charts +helm repo update +helm upgrade --install epinio epinio/epinio --namespace epinio --create-namespace \ + --set global.domain=myepiniodomain.org +``` +Or you can install using "Let's Encrypt" certificates. + +To generate trusted TLS certificates with "Let's Encrypt" for your public domain set `.Values.global.tlsIssuer` to `letsencrypt-production` and the value for the `.Values.global.tlsIssuerEmail` key to your e-mail address. Then: + +```bash +helm repo add epinio https://epinio.github.io/helm-charts +helm repo update + helm upgrade --install epinio epinio/epinio --namespace epinio --create-namespace \ + --set global.domain=myepiniodomain.org \ + --set global.tlsIssuer=letsencrypt-production \ + --set global.tlsIssuerEmail=user@company.org +``` + +The only mandatory field is the `.Values.global.domain` which should have the value of a wildcard `*.` enabled domain. +It should point to the IP address of your running Ingress controller. + +:::tip + +- To use a non-default IngressClass you need to specify it using `--set ingress.ingressClassName=` + +- If you receive `Entity Too Large` errors when [uploading](https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md#custom-max-body-size) application source code into Epinio, you need to increase the `proxy-body-size` with `--set 'ingress.annotations.nginx\.ingress\.kubernetes\.io/proxy-body-size=1000m'` + +- If using nginx's other kubernetes ingress controller, nginx-ingress-controller, the annotation is `nginx.org/proxy-body-size`, and you may also need to set `nginx.org/client-max-body-size`. Further information about the annotations can be found in the [nginx-ingress-controller documentation](https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#general-customization). + +In your values.yaml, these can be supplied as follows: + +```yaml +ingress: + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: 1000m + nginx.org/client-max-body-size: 1000m +``` + +::: + +:::note + +- Read more on how to setup DNS here: [DNS setup](./dns_setup.md) + +- If you're deploying Epinio in a "localhost" environment, you can use a [wildcard DNS service](./wildcardDNS_setup.md) to ease setup. + +- If installation fails due to an expired certificate then run `epinio settings update-ca`. There is more information [here](https://docs.epinio.io/references/commands/cli/settings/epinio_settings_update-ca#epinio-settings-update-ca). + +::: + +### Verify Helm Chart Images + +This is done using the `cosign` tool. +The following commands were tested using cosign version 2.1.1. + +The three core Epinio images are `epinio-server`, `epinio-unpacker`, and `epinio-ui`. +The command to verify any of them is + +``` +cosign verify \ + --certificate-identity-regexp "https://github.com/epinio/epinio" \ + --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \ + ghcr.io/epinio/:v1.8.1 +``` + +where `` is the name of the image to verify. + +## Installation on Specific Kubernetes Offerings + +Installing Epinio, as described above, is a standard process, however you might need to configure it in a specific Kubernetes cluster. + +To help you, see the following documents for some well-known clusters: + +- [Install on Rancher](other_inst_scenarios/install_epinio_on_rancher.md) — Install Epinio on Rancher +- [Install on Public Cloud](other_inst_scenarios/install_epinio_on_public_cloud.md) — Install Epinio on Public Cloud cluster +- [Install on RKE2](other_inst_scenarios/install_epinio_on_rke.md) — Install Epinio on Rancher RKE2 cluster +- [Install on K3d](other_inst_scenarios/install_epinio_on_k3d.md) — Install Epinio on K3d cluster +- [Install on K3s](other_inst_scenarios/install_epinio_on_k3s.md) — Install Epinio on K3s cluster +- [Install on Rancher Desktop](other_inst_scenarios/install_epinio_on_rancher_desktop.md) — Install Epinio on Rancher Desktop +- [Install on EKS](other_inst_scenarios/install_epinio_on_eks.md) — Install Epinio on AWS EKS cluster + +The Public Cloud [installation](other_inst_scenarios/install_epinio_on_public_cloud.md) describes the three major cloud providers but Epinio can run on any Kubernetes cluster. + +## Internal Epinio components + +### Staging Workloads + +Epinio uses staging workloads to build container images from source code. As you can imagine, container builds can consume varying amounts of CPU, Memory, and Disk space depending on the application. Because of this, it is important that these staging workloads can not only specify those resource amounts but also specify scheduling constraints so that your running applications can be protected from any buildtime resource consumption. For example, you may configure your staging workloads to schedule to a particular node pool within your Kubernetes cluster that is dedicated to builds. + +These configurations can be set using the `server.stagingWorkloads` section of the `values.yaml` file with which you may configure the following details: +- Resource Consumption + - `server.stagingWorkloads.ttlSecondsAfterFinished` + - Configure time-to-live for completed staging job resources + - `server.stagingWorkloads.resources` + - Provide Requests/Limits on CPU & Memory + - `server.stagingWorkloads.storage` + - `cache` + - Optionally toggle `emptyDir` to bypass PVC creation + - Provide parameters for `size`, `accessModes`, `volumeMode`, and `storageClassName` + - `sourceBlobs` + - Optionally toggle `emptyDir` to bypass PVC creation + - Provide parameters for `size`, `accessModes`, `volumeMode`, and `storageClassName` +- Scheduling Constraints + - `server.stagingWorkloads.nodeSelector` + - Provide Node Selector labels to constrain scheduling to nodes that contain the specified label/value. + - `server.stagingWorkloads.affinity` + - Provide Affinity rules to constrain scheduling to nodes that meet the specified criteria. + - `server.stagingWorkloads.tolerations` + - Provide Tolerations to allow scheduling to nodes with matching taints. + +There exists examples within the `values.yaml` file under the `server.stagingWorkloads` key. Please review and modify these examples to suit your environmental needs. Review these examples at the following lines: [Epinio Helm Chart Values: Staging Workloads](https://github.com/epinio/helm-charts/blob/4edcf8af4d6881da4162a04e532de1298f749662/chart/epinio/values.yaml#L64-L92). + +The configurations under `server.stagingWorkloads` gets mapped to the build script ConfigMaps which is then processed by the Epinio Server when builds are kicked off. These specifications are supplied to the newly created staging jobs. + +### Kubed + +Kubed is installed as a subchart when `.Values.kubed.enabled` is `true` (default). +If you already have `kubed`, you can skip installation by setting +the helm value `.Values.kubed.enabled` to `false`. + +### S3 storage + +Epinio uses an S3 compatible storage to store the application source code. +This chart will install [Minio](https://min.io/) when `.Values.minio.enabled` is +`true` (default). + +In addition to Minio, Epinio offers [s3gw](https://s3gw.io/) as another S3 compatible store. +It is installed when `.Values.minio.enabled` is set to `false` and `.Values.s3gw.enabled` is set to `true`. + +:::caution +The s3gw support is __experimental__. +The s3gw chart is configured to use a `host path` volume for storage. +This setup is risky, and not HA. +If there is an outage of the node where s3gw's pod is currently deployed, k8s will fail trying to assign the volume on another node. +::: + +Both choices for internal S3 compatible storage can be configured to use a user-defined storageClass. +If no StorageClass is defined, the default storageClass is used. +When using Minio set the custom storageClass to the value of `.Values.persistance.storageClass`. +When using s3gw set the custom storageClass to the value of `.Values.s3gw.storageClass.name`. + +Use any external S3 compatible solution by setting `.Values.minio.enabled` to `false` +(`.Values.s3gw.enabled` is `false` by default) and using +[the values under `s3`](https://github.com/epinio/helm-charts/blob/b389a4875af9f03b484a911c49a14f834ba04b64/chart/epinio/values.yaml#L44) +to point to the required S3 server. + +### Dex + +[Dex](https://dexidp.io) OpenID Connect Provider is installed as a subchart when `.Values.global.dex.enabled` is set to `true` (default). + +If you don't need to use an identity provider, set the value to `false` and use only local Epinio users. [OIDC Authentication](../references/authentication_oidc.md) has more information. + +### Container Registry + +When Epinio builds a container image for an application from source, it needs +to store that image in a container registry. Epinio installs a container registry +on the cluster when `.Values.containerregistry.enabled` is `true` (default). + +Any container registry that supports basic auth authentication (e.g. gcr, dockerhub, etc) can be used +instead, by setting this value to `false` and using +[the relevant global values](https://github.com/epinio/helm-charts/blob/b389a4875af9f03b484a911c49a14f834ba04b64/chart/epinio/values.yaml#L107-L111) +to point to the desired container registry. + +## Upgrade + +### Breaking Changes & Migrations + +#### 1.12 to 1.13 + +Epinio 1.13 rehomes configurations for the staging workloads to a more Kubernetes-standardized format that supports a larger variety of configs. These are no longer configured via ENV variables on the Epinio Server or through CLI flags but rather read from an in-cluster ConfigMap at staging time. + +Documentation has been udpated for both the [Epinio Server](https://github.com/epinio/epinio?tab=readme-ov-file#112-to-113) and the [Epinio Helm Chart](https://github.com/epinio/helm-charts/tree/main/chart/epinio#112-to-113). These READMEs go into detail describing the changes to the environment variables, CLI flags, and changes to the `values.yaml` interface. Please refer to these before upgrading to **1.13**. diff --git a/versioned_docs/version-1.13.7/installation/install_epinio_cli.md b/versioned_docs/version-1.13.7/installation/install_epinio_cli.md new file mode 100644 index 0000000000..9a9b52321d --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/install_epinio_cli.md @@ -0,0 +1,127 @@ +--- +sidebar_label: "Install the Epinio CLI" +sidebar_position: 2 +title: "Install the Epinio CLI" +description: How to install the Epinio CLI on Windows, Linux and Mac +keywords: [epinio, install, cli, windows, mac, linux, homebrew] +--- + +The `epinio` CLI can be used to interact with a cluster with Epinio installed. +Requests to the Epinio API server are authenticated with Basic Auth. +No direct access to the cluster is required (e.g. through kubectl). + +## Install from Homebrew (Linux and Mac) + +Epinio has a formula available in the homebrew/core tap. + +```bash +brew install epinio +``` + +Alternatively, if you want to get the latest Epinio CLI faster, there is a custom tap you can use: + +```bash +brew tap epinio/tap +brew install epinio/tap/epinio +``` + +## Install from the Binary Releases + +Find the latest version at [Releases](https://github.com/epinio/epinio/releases). + +### Linux + +```bash +curl -o epinio -L https://github.com/epinio/epinio/releases/download/v1.11.0/epinio-linux-x86_64 +``` + +### MacOS + +```bash +curl -o epinio -L https://github.com/epinio/epinio/releases/download/v1.11.0/epinio-darwin-x86_64 +``` + +### Windows + +```bash + curl -LO https://github.com/epinio/epinio/releases/download/v1.11.0/epinio-windows-x86_64.zip +``` + +Extract the zip archive then make sure that the `PATH` environment variable references the directory where the `epinio` binary is located. + +### Make the Binary Executable (Linux and Mac) + +```bash +chmod +x epinio +``` + +Make sure your `PATH` environment variable contains the directory where you placed the Epinio binary. + +## Verify Downloaded Files + +This is done using the `cosign` tool. +The following commands were tested using cosign version 2.1.1. + +### Verify File Checksum Signature + +Instead of signing all release assets, Epinio signs a file containing checksums for the release assets. +From the repository you can download the three files: + +- `epinio_1.13.6_checksums.txt.pem`, +- `epinio_1.13.6_checksums.txt.sig`, +- `epinio_1.13.6_checksums.txt` + + +``` +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.6_checksums.txt.pem +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.6_checksums.txt.sig +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.6_checksums.txt +``` + +Once you have the three files locally, you can execute the following command + +``` +cosign verify-blob \ + --certificate-identity-regexp "https://github.com/epinio/epinio" \ + --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \ + --cert epinio_1.13.6_checksums.txt.pem \ + --signature epinio_1.13.6_checksums.txt.sig \ + epinio_1.13.6_checksums.txt +``` + +A successful output looks like + +``` +Verified OK +``` + +Now you can verify the asset's checksum integrity. + +### Verify File Checksum Integrity + +Before verifying the file integrity, you should first verify the checksum file signature. +Once you’ve downloaded both the checksums and your binary, you can verify integrity by running: + +``` +sha256sum --ignore-missing -c epinio_1.13.6_checksums.txt +``` + +:::note + +For this check to work the local `epinio` binary must have the same name as +listed in the checksum file, i.e. `epinio-linux-x86_64`, `epinio-darwin-x86_64`, etc. + +For Windows the checksum is for the zip archive, not for the binary inside. + +::: + +# Verify the Installation + +Run `epinio version` to test the successful installation. + +```bash +> epinio version +Epinio Version: v1.13.6 +Go Version: go1.20 +``` + diff --git a/versioned_docs/version-1.13.7/installation/other_inst_scenarios/_category_.json b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/_category_.json new file mode 100644 index 0000000000..8db0202720 --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Other installation scenarios", + "position": 100, + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_eks.md b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_eks.md new file mode 100644 index 0000000000..0d422279b0 --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_eks.md @@ -0,0 +1,127 @@ +--- +sidebar_label: "Installing Epinio on EKS" +sidebar_position: 23 +title: "Installing Epinio on EKS" +description: How to install Epinio on EKS, the Elastic Kubernetes Service. +keywords: [kubernetes, epinio, eks, elastic kubernetes service, install] +--- + +To install on Elastic Kubernetes Service (EKS) this How-to uses these versions: + +* [epinio helm chart - v1.6.2](https://github.com/epinio/helm-charts/releases/tag/epinio-1.6.2) +* AWS EKS - Kubernetes v1.22, v1.23***** or v1.24***** +* [Ingress Nginx - v1.6.4](https://kubernetes.github.io/ingress-nginx/) +* [Cert Manager - v1.11.0](https://github.com/cert-manager/cert-manager) + +:::caution Additional requirements for EKS v1.23 and v1.24 + +* Since EKS v1.23 you need to configure and install an out-of-tree AWS EBS CSI driver add-on into your EKS cluster. +Please refer to this [EKS documentation](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) for details. +* Since EKS v1.24 you need to explicitly allow pulling Epinio's app container images from its internal HTTP registry. +This is due to the removal of `dockershim` CRI support and its replacement by `containerd`, which supports only trusted HTTPS registries by default. +This configuration is needed on all EKS nodes before deploying an Epinio app: + + ```shell + mkdir -p /etc/containerd/certs.d/127.0.0.1:30500 + cat > /etc/containerd/certs.d/127.0.0.1:30500/hosts.toml < \ + --region=us-west-1 \ + --nodes=2 \ + --node-type=t3.xlarge \ + --node-volume-size=40 \ + --managed \ + --kubeconfig=kubeconfig-eks +``` + +Once the EKS cluster is deployed, try to access the cluster: + +```shell +export KUBECONFIG=$PWD/kubeconfig-eks +kubectl get nodes +``` + +## Install Cert Manager + +```shell +helm repo add cert-manager https://charts.jetstack.io +helm repo update +helm install cert-manager --namespace cert-manager --create-namespace jetstack/cert-manager --set crds.enabled=true --set extraArgs={--enable-certificate-owner-ref=true} +``` + +## Install Nginx Ingress Controller + +### Add Helm repo and then install + +```shell +helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx +helm repo update +``` + +```shell +helm upgrade --install nginx ingress-nginx/ingress-nginx --namespace nginx --create-namespace --set controller.ingressClassResource.default=true +``` + +### Create a CNAME DNS entry pointing to a ELB endpoint + +The ELB (Elastic Load Balancer) endpoint is automatically assigned after installing ingress-nginx-controller. +To get the assigned ELB endpoint in your cluster run: + +```shell +kubectl get svc -n nginx nginx-ingress-nginx-controller \ + -o jsonpath='{.status.loadBalancer.ingress[0].hostname}' +``` + +This returns output like: +```console +a113b33f6500241a77dcacc1b62c54eb-1234567890.us-west-1.elb.amazonaws.com +``` + +Use that ELB endpoint value when creating the CNAME record for your DNS zone (for example, in the AWS Route53 service): + +``` +Record name: *.example.com +Type: CNAME +Value: a113b33f6500241a77dcacc1b62c54eb-1234567890.us-west-1.elb.amazonaws.com +``` + +Test it: + +```shell +nslookup test.example.com +``` + +You will receive the ELB endpoint value as the answer. + +## Install Epinio on the cluster + +```shell +helm upgrade --install epinio epinio/epinio --namespace epinio \ + --create-namespace --set global.domain=example.com \ + --set global.tlsIssuer=letsencrypt-production \ + --set global.tlsIssuerEmail=email@example.com +``` diff --git a/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_k3d.md b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_k3d.md new file mode 100644 index 0000000000..19206924fe --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_k3d.md @@ -0,0 +1,65 @@ +--- +sidebar_label: "Installing Epinio on a local K3d" +sidebar_position: 21 +title: "Installing Epinio on a local K3d" +description: How to install Epinio on a locally hosted K3d system. +keywords: [kubernetes, k3d, epinio, installation] +--- + + +This How-to uses these versions: + +- [epinio helm chart 0.7.1](https://github.com/epinio/helm-charts/releases/tag/epinio-0.7.1) +- [k3d](https://k3d.io/) version v5.3.0 + + +## Install a K3d Kubernetes cluster + +Follow the [K3d instructions](https://k3d.io/) to install K3d on your system. + +### Create a K3d Kubernetes cluster + +```bash +$ k3d cluster create epinio +``` + +### Create a K3d Kubernetes cluster inside a VM + +Epinio needs to connect to pods inside the cluster. +The default installation uses the internal docker IP for this. +If docker is running in a VM, for example, +with Docker Desktop, that IP won't be reachable. + +As a workaround, use the IP of the host instead, together with port-forwardings: + +```bash +k3d cluster create epinio -p '80:80@loadbalancer' -p '443:443@loadbalancer' +``` + +After this, `kubectl` should be talking to your new cluster: + +```bash +$ kubectl get nodes +NAME STATUS ROLES AGE VERSION +k3d-epinio-server-0 Ready control-plane,master 38s v1.22.6+k3s1 +``` + +### Install Epinio on the cluster + +Follow [wildcard DNS setup](../../installation/wildcardDNS_setup.md) to define the domain name you want to use for Epinio. + +Then, continue with the [Epinio installation process](../../installation/install_epinio.md). + +### Troubleshooting + +#### Kubeconfig + +To get `kubeconfig` to access the cluster: +``` +k3d kubeconfig get epinio +``` + +#### Traefik + +In case of issues with Epinio's Traefik component or Ingress controllers, refer to the [Traefik](../../explanations/advanced.md#traefik) section in the +[Advanced Topics](../../explanations/advanced.md) document. diff --git a/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_k3s.md b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_k3s.md new file mode 100644 index 0000000000..069a2ca238 --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_k3s.md @@ -0,0 +1,63 @@ +--- +sidebar_label: "Installing Epinio on a local K3s" +sidebar_position: 20 +title: "Installing Epinio on a local K3s" +description: Information about installing Epinio on a local K3s cluster. +keywords: [kubernetes, epinio, k3s] +--- + +This How-to was written with these versions: +* [epinio helm chart 0.7.1](https://github.com/epinio/helm-charts/releases/tag/epinio-0.7.1) +* [k3s](https://k3s.io/) version v1.23.4+k3s1 and v1.22.7+k3s1 +* openSUSE Leap 15.3 and Tumbleweed + + +## Install a K3s cluster + +Follow the [K3s instructions](https://k3s.io/) to install K3s. + +## Install Epinio on the K3s cluster + +Export the K3s cluster configuration file in the `KUBECONFIG` environment variable: + +```bash +export KUBECONFIG=/etc/rancher/k3s/k3s.yaml +``` + +Follow the [wildcard DNS setup](../../installation/wildcardDNS_setup) to install DNS for Epinio in your environment. + +You find the `` address with the next command. Example output is shown: + +```console +$ kubectl get svc -n kube-system traefik -o jsonpath="{.status.loadBalancer.ingress[0]}" | jq . +{ + "ip": "192.168.5.15" +} +``` + +Then, continue with the [Epinio installation process](../../installation/install_epinio.md). + +## Troubleshooting + +### DNS Issues + +If you experience issues with DNS resolution, if, for example, you have something like this in your logs: +``` +dial tcp: lookup epinio-registry.192.168.1.10.sslip.io on 10.43.0.10:53: no such host +``` + +You can try to install K3s with this known-to-work DNS server: +``` +curl -sfL https://get.k3s.io | K3S_RESOLV_CONF=/etc/my-good-resolv.conf sh - +``` + +With `/etc/my-good-resolv.conf` containing: +``` +nameserver 1.1.1.1 +``` + +This issue may happen with multiple DNS servers and some can't resolve some domain names. + +### Traefik + +In case of trouble with Epinio's Traefik component refer to the [Traefik](../../explanations/advanced.md#traefik) section in the [Advanced Topics](../../explanations/advanced.md) document. diff --git a/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_public_cloud.md b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_public_cloud.md new file mode 100644 index 0000000000..80958a0bfe --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_public_cloud.md @@ -0,0 +1,71 @@ +--- +sidebar_label: "Installing Epinio on public clouds" +sidebar_position: 22 +title: "Installing Epinio on public clouds" +description: Installing Epinio on Kubernetes services provided by public cloud providers, such as Google, Amazon and Microsoft. +keywords: [kubernetes, amazon, microsoft, google, epinio, AKS, EKS, GKE] +--- + +Epinio can be installed on any Kubernetes distribution, +including those provided by public clouds. + +## Public clouds configuration + +### Microsoft AKS + +#### AKS prerequisites + +* Epinio has been tested with AKS version **v1.21.9** +* To try out Epinio, two **Standard_D2_v2** nodes are enough + +#### Create an AKS cluster + +If you don't have an existing cluster, +follow the +[quickstart](https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough) +to create an AKS cluster. + +:::note + +In AKS, Epinio must be installed with an external registry. +Due to a +[change](https://github.com/epinio/epinio/issues/1373#issuecomment-1105231113) +in Azure +using the internal registry is no longer possible. + +::: + +### Amazon EKS + +#### EKS prerequisites + +* Epinio has been tested with EKS version **v1.22**, **v1.23** and **v1.24** +* To try out Epinio, two **t3a.large** nodes are enough + +#### Create an EKS cluster + +If you don't have an existing EKS cluster, follow the [quickstart](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) to create one. + +Details are in the dedicated [EKS documentation](./install_epinio_on_eks.md). + +### Google GKE + +#### GKE prerequisites + +* Epinio has been tested with GKE version **v1.21.9** +* To try out Epinio, one **n2-standard-4** node is enough + +#### Create a GKE cluster + +If you don't have an existing GKE cluster, follow the [quickstart](https://cloud.google.com/kubernetes-engine/docs/quickstart) to create one. + +## Install Epinio + +Follow the [Epinio installation process](../../installation/install_epinio.md). + +## Troubleshooting + +If you have issues using Epinio's Traefik component +or Ingress controllers, +refer to the [Traefik](../../explanations/advanced.md#traefik) section +in the [Advanced Topics](../../explanations/advanced.md) document. diff --git a/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_rancher.md b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_rancher.md new file mode 100644 index 0000000000..5a0f28d52c --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_rancher.md @@ -0,0 +1,108 @@ +--- +sidebar_label: "Installing Epinio on Rancher" +sidebar_position: 17 +title: "Installing Epinio on Rancher" +description: How to install Epinio on Rancher +keywords: [epinio, kubernetes, rancher] +--- + +Before installing Epinio you need a running Rancher instance. +You can follow the Rancher [installation guides](https://rancher.com/docs) to set one up. + +This How-to uses: + +- [epinio helm chart 1.7.1](https://github.com/epinio/helm-charts/releases/tag/epinio-1.7.1) +- Rancher 2.7.1 + +## Kubernetes cluster + +You can deploy a new cluster or import an existing one into Rancher. +The steps for either method are in the Rancher [documentation](https://ranchermanager.docs.rancher.com/pages-for-subheaders/kubernetes-clusters-in-rancher-setup). + +:::note +For development it's possible to deploy Epinio on the same node as Rancher. +It is not a supported configuration, so there may be issues. +::: + +## Epinio Prerequisites + +### Install an Ingress controller + +If there's no Ingress controller running yet on the cluster, you need to install one. +We use Traefik in the example below. + +:::note + +If using the Rancher dashboard there already will be an Ingress controller installed. This will be due to the installation process for Rancher. + +::: + +Go to `Apps` > `Repositories` > `Create` in the Rancher dashboard. + +Give a name to the repo and use `https://helm.traefik.io/traefik` as the index URL. + +Then go to the `Charts` menu and install the `traefik` chart. + +You'll see a screen where you can edit the Traefik Helm YAML file. +Now make sure to set the following settings: + +``` +ingressClass.enabled: true +ingressClass.isDefaultClass: true +ports.web.redirectTo: websecure +service.spec.loadBalancerIP: # Set this to the IP of your load balancer +``` + +The [Install Epinio](../../installation/install_epinio.md#ingress-controller) page has more details. + +## Install Epinio + +In the Rancher Dashboard, go to the cluster on where you want to install Epinio. + +Add the Epinio Helm repo in `Apps` > `Repositories` > `Create` + +Give a name to the repo and use `https://epinio.github.io/helm-charts` as the index URL. + +Once done, go to the "Charts" menu and install the `epinio` chart. + +:::note + +While you can select any version, it's best to use the latest one. + +::: + +Click install in the top right corner. + +On the next screen, you can select a namespace for the deployment. +You also have to set a name for the deployment. + +The following screen is to configure Epinio as needed. + +The most important setting is `Domain`, explained [here](../../installation/dns_setup.md) in DNS setup. + +When everything is configured, click on the install button. +Wait until the installation is complete. +Follow the instructions given by the Helm install command output. + +## Access the Epinio menu + +There are several ways to access Epinio from the Rancher dashboard menu. + +The first is going to `Networking` > `Ingresses` and select the target URL preceding `epinio-ui`. + +You also access Epinio by clicking on `Workloads` > `Deployments`. +On the right panel displayed click on `epinio-server:installed_version`. +Now select the tab `Ingreses` and then the target URL preceding `epinio-ui`. + +:::note + +If you use an untrusted certificate, when selecting the URL, you need to accept the security exception. +Then use the refresh button below the page title. +Now the state is available and you access the instance by clicking on its name. + +::: + +Once using your Epinio instance, you can deploy and delete: +- applications +- namespaces +- configurations. diff --git a/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md new file mode 100644 index 0000000000..ec56e596f7 --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -0,0 +1,91 @@ +--- +sidebar_label: "Installing Epinio on Rancher Desktop (RD)" +sidebar_position: 1 +title: "Installing Epinio on Rancher Desktop (RD)" +description: How to install Epinio using a local Rancher Desktop installation. +keywords: [epinio, kubernetes, rancher, rancher desktop] +--- + +This How-to uses the following versions: + +* \\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* Rancher Desktop 1.20.0 + +## Rancher Desktop prerequisites + +* Running on Windows needs Windows Subsystem for Linux (WSL). +It's installed by RD as a prerequisite. +* Epinio currently only supports x86 so won't work with RD for Mac on the M1 chip. + +### Install Rancher Desktop + +Install the [latest version](https://github.com/rancher-sandbox/rancher-desktop/releases) of RD for your operating system. + +## Setup Kubernetes + +When running RD for the first time, wait until the initialization is complete. It may take some time to download and install the necessary components. + +Check that Kubernetes is enabled in RD and a supported version is selected. +Look under `Kubernetes Settings` in RD (Epinio has been tested on **v1.22.7**, **v1.21.10** and **v1.20.15**). + +Ensure Traefik is enabled, or you are using a different Ingress controller. + +## Install epinio + +Make sure Rancher Desktop is running. + +RD can report Kubernetes as running when some pods aren't ready yet. +You can check this by running the command `kubectl get pods -A` in a terminal session. +Check that all pods report either a `Running` or `Completed` status. + +RD configures its own load-balancer which exposes Traefik on `127.0.0.1`. +Use this with a wildcard DNS to get a system domain of `127.0.0.1.sslip.io` + +The Epinio installation is similar on Linux, macOS and Windows: + +1. Start a shell. Use `cmd` or `powershell` on Windows and your preferred shell on Linux/MacOS. + +1. Install the [Epinio CLI](../../installation/install_epinio_cli.md). + +1. Follow the [Epinio installation process](../../installation/install_epinio.md). It uses: + + ```shell + kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.18.2/cert-manager.yaml + + # Wait for cert-manager to stabilize + + helm repo add epinio https://epinio.github.io/helm-charts + helm install epinio -n epinio --create-namespace epinio/epinio --set global.domain=127.0.0.1.sslip.io + + epinio login -u admin https://epinio.127.0.0.1.sslip.io + + ``` + + :::note + + For RD on Linux, you need to be able to open ports from `80` (and above). + This allows access to the URL set in `global.domain` (that is, 127.0.0.1.sslip.io). + You need to set the start port of the `unprivileged` list to a lower number. + + The [RD installation](https://docs.rancherdesktop.io/getting-started/installation/#traefik-port-binding-access) needs ports open from 80 so: + + ```bash + + # [Optional] Check the current unprivileged port start + sysctl -n net.ipv4.ip_unprivileged_port_start + + # Temporary modification of the unprivileged port start + sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80 + + # Permanent modification of the unprivileged port start can be done + # with something like this + sudo sh -c 'echo "net.ipv4.ip_unprivileged_port_start=80" >> /etc/sysctl.d/50-unprivileged-ports.conf' + + # Check the current unprivileged port start + sysctl -n net.ipv4.ip_unprivileged_port_start + + ``` + + You can find more information in this [issue](https://github.com/rancher-sandbox/rancher-desktop/issues/576). + + ::: diff --git a/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_rke.md b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_rke.md new file mode 100644 index 0000000000..c939057f6c --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/other_inst_scenarios/install_epinio_on_rke.md @@ -0,0 +1,101 @@ +--- +sidebar_label: "Installing Epinio on RKE2" +sidebar_position: 19 +title: "Installing Epinio on RKE2" +description: Installing Epinio with RKE2. The needed environment and prerequisites. +keywords: [epinio, k8s, kubernetes, rke2, installation] +--- + +This guide will help you to deploy a suitable RKE2 Kubernetes cluster for Epinio. +More details for installing RKE2 can be found in the RKE2 [quickstart](https://docs.rke2.io/install/quickstart/) guide. + +## Install RKE2 Kubernetes cluster {#install-rke2} + +We're using a dedicated machine for the RKE2 server node. +The following steps are performed using the `root` account on that machine. + +1. Run the installer, start and enable the rke2-server systemd service. + + ```bash + curl -sfL https://get.rke2.io | sh - + systemctl enable --now rke2-server.service + ``` + +1. Configure environment variables for operating the RKE2 cluster. + Execute these commands. Then add them to `/root/.bashrc` for persistence. + + ```bash + export PATH=$PATH:/var/lib/rancher/rke2/bin:/opt/rke2/bin + export KUBECONFIG=/etc/rancher/rke2/rke2.yaml + ``` + +Make sure that you can communicate with your new RKE2 cluster by running: + +```bash +kubectl get pods --all-namespaces +``` + +## RKE2 cluster prerequisities + +Perform the following steps on your RKE2 node before installing Epinio: + +1. Install the helm CLI. + + ```bash + curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash + ``` + +1. Configure rke2-ingress-nginx-controller. + While the `rke2-ingress-nginx-controller` cluster is installed by default on RKE2 clusters, we need to set the IngressClass `nginx` up as the `default` class. + This is done by running: + + ```bash + kubectl patch ingressClass nginx -p '{"metadata": {"annotations":{"ingressclass.kubernetes.io/is-default-class": "true"}}}' + ``` + + :::note + + If required, you can specify a non-default IngressClass during the installation of Epinio with the helm argument `--set ingress.ingressClassName=`. + + ::: + +1. Deploy a dynamic storage provisioner. + RKE2 clusters have no storage provisioner installed by default. + To support Epinio a storage provisioner is needed. + You can use any storage provisioner which provides, `ReadWriteMany` (RWX) Access Mode and a **default StorageClass** resource for dynamic storage provisioning. + + :::note + + To verify that your cluster provides a default StorageClass run the command `kubectl get storageclass`. The default StorageClass is marked with the string `(default)` next to its name in the output list. + + ::: + + As an example, you can deploy and configure a `local-path` dynamic storage provisioner by running: + + ```bash + kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml + kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' + ``` + +## Installation + +For evaluation environments we recommend that you setup Epinio Ingress resources with a wildcard DNS service such as `sslip.io`, `sslip.io`, or `nip.io` that points to the `INTERNAL-IP` address of your kubernetes node. + +For production environments you should configure an external load-balancer solution. +It should listen on a public IP with an associated public FQDN domain. +The load-balancer's role is to redirect HTTP(S) traffic, from the load-balancer endpoint to the internal Ingress resources of the kubernetes cluster. + +There are two ways of installing DNS for Epinio: + +1. [Wildcard DNS Service](../../installation/wildcardDNS_setup.md) + + For test environments. + This should work on any kubernetes distribution. + Epinio will try to create a magic wildcard DNS domain, for example, **10.0.0.1.sslip.io**. + +1. [DNS setup](../../installation/dns_setup.md) + + For test and production environments. + You'll define a system domain, for example, **test.example.com**. + +Then continue with the [Epinio installation process](../../installation/install_epinio.md). diff --git a/versioned_docs/version-1.13.7/installation/uninstall_epinio.md b/versioned_docs/version-1.13.7/installation/uninstall_epinio.md new file mode 100644 index 0000000000..257b2254af --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/uninstall_epinio.md @@ -0,0 +1,23 @@ +--- +sidebar_label: "Uninstall Epinio" +sidebar_position: 5 +title: "Uninstall Epinio" +description: Uninstalling Epinio and the implications of doing so. +keywords: [epinio, uninstallation] +--- + +You should understand the implications of uninstalling Epinio. Uninstallation may affect your cluster's operation. + +Epinio uninstallation removes: + +- Epinio and all the components that it installed at installation +- Any resources installed in the Epinio **default** workspace + +If there are resources in the cluster that depend on Epinio, they will stop working. +Clearly, this will prevent your cluster workload from operating correctly. + +If you installed Epinio in a namespace `epinio`, you uninstall with the command: + +```bash +$ helm uninstall -n epinio epinio +``` diff --git a/versioned_docs/version-1.13.7/installation/wildcardDNS_setup.md b/versioned_docs/version-1.13.7/installation/wildcardDNS_setup.md new file mode 100644 index 0000000000..f1092264c4 --- /dev/null +++ b/versioned_docs/version-1.13.7/installation/wildcardDNS_setup.md @@ -0,0 +1,53 @@ +--- +sidebar_label: "Wildcard DNS setup" +sidebar_position: 4 +title: "Wildcard DNS setup" +description: The description +keywords: [epinio, wildcard dns, dns] +--- + +You need a working [DNS](dns_setup.md) system domain for Epinio +Setting this up can be complicated. +You can use a wildcard domain for development and test environments. +It's much quicker to get up and running. + +By "wildcard" we mean a domain that will always resolve to the IP address that is part of the domain itself. +So, it is a record in a DNS zone that will match requests for non-existent sub-domains. +There are a variety of free services doing this: + +- sslip.io +- nip.io + +As examples, all the following domains resolve to `127.0.0.1`: + +- `127.0.0.1.sslip.io` +- `subdomain.127.0.0.1.sslip.io` +- `subsub.subdomain.127.0.0.1.sslip.io` + +You can use domains like these as a wildcard system domain for Epinio. + +Follow the instructions on the "DNS setup" [page](dns_setup.md#ingress-controller-ip-address) to find the IP address of your ingress controller. +You then use that IP address to construct a domain with one of the above services. +This is then the `global.domain` value when installing and configuring Epinio. + +This will work for as long as the IP address still points to the ingress controller service. + +## Troubleshooting + +### DNS Rebind Protection + +Some routers filter queries for private address ranges. +If the query resolves to a private IP address it is filtered. +So, for example, **10.0.0.1** and **192.168.3.5** would be filtered and not returned by the query. +This stops a malicious website from probing the local network for hosts. + +This includes anything using [dnsmasq](https://thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html) with `stop-dns-rebind`. Examples are [pfSense](https://docs.netgate.com/pfsense/en/latest/services/dns/rebinding.html) or NetworkManager. + +If you still want to use the default wildcard DNS, you'll have to whitelist `sslip.io`, or other providers, in your local DNS server. + +### Cluster running in a VM + +The IP address of the ingress controller may not be accessible by your browser. You may need to set the domain to another IP address. +This is the case for example when you run a Kubernetes cluster with docker (e.g. [k3d](https://k3d.io/) or [kind](https://github.com/kubernetes-sigs/kind)) inside a VM (for example when using docker on MacOS). +The IP address assigned to the ingress controller is the IP address of the docker container. This IP address is not accessible from your host. +You then need to bind the container's ports `80` and `443` to the VM's ports `80` and `443`. Then use the VM's IP address when constructing the wildcard domain. diff --git a/versioned_docs/version-1.13.7/intro.md b/versioned_docs/version-1.13.7/intro.md new file mode 100644 index 0000000000..010a091322 --- /dev/null +++ b/versioned_docs/version-1.13.7/intro.md @@ -0,0 +1,63 @@ +--- +slug: / +sidebar_label: "Introduction" +sidebar_position: 1 +title: "Introduction" +description: An introduction to Epinio and how it benefits developers +keywords: [epinio, kubernetes, developer, operator, deployment] +--- + +Epinio lets developers to go from application sources to URL in a single step. + +Epinio is an Application Development Platform. +It deploys on Kubernetes and lets application developers and operators work together without conflict. + +Epinio is a [Krumware](https://www.krum.io) project, in collaboration with [SUSE](https://www.suse.com). + +**Developers**: + +- use the `epinio` CLI to deploy applications +- don't have to know about the details of Kubernetes (no steep learning curve) +- use any available [Paketo buildpack](https://paketo.io/) or pre-built images to deploy their applications +- set up with zero configuration +- deploy to production in the same way as development + +**Operators and Platform Engineers**: + +- work directly with Kubernetes +- decide on cluster setup (including Epinio installation and setup) +- decide how application deployment happens +- provide application and service templates + +## Why Kubernetes + +[Kubernetes](https://kubernetes.io/) is the standard for container orchestration. +Developers may want to use Kubernetes for its benefits or because their Ops team has chosen it. +In either case, working with Kubernetes can be complex depending on the environment. +It has a steep learning curve and doing it right is a full-time job. +Developers should spend their time working on their applications, not doing operations. + +Epinio adds the needed abstractions and tools to let developers to use Kubernetes as a [PaaS](https://en.wikipedia.org/wiki/Platform_as_a_service). + +## Features + +- **Security** + - Epinio uses TLS to encrypt communication between components. It also uses TLS for applications by default. + - Basic Authentication to access the API. +- **Epinio Clients** + - Epinio provides both a web UI and a CLI to support interactive work and automation. +- **Apps** + - Using the UI or CLI you create, inspect, change and delete apps. + - You use [Cloud Buildpacks](https://buildpacks.io/) for the runtime environment for your apps +- **Configurations** + - Apps have configurations associated with them (configuration binding). + - Using the UI or CLI you create, inspect and delete these application bindings + - The configurations describe database connections, SaaS configurations and others. + +## Next steps + +To try Epinio, look at the [Quickstart](./tutorials/quickstart.md) tutorial. + +For more detailed information, check the **Explanations** section, for a variety of topics. + +The **How-tos** section describes scenarios with examples. diff --git a/versioned_docs/version-1.13.7/references/_category_.json b/versioned_docs/version-1.13.7/references/_category_.json new file mode 100644 index 0000000000..ebbaf64ad4 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Reference documentation", + "position": 6, + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/references/api.md b/versioned_docs/version-1.13.7/references/api.md new file mode 100644 index 0000000000..1e0007768d --- /dev/null +++ b/versioned_docs/version-1.13.7/references/api.md @@ -0,0 +1,24 @@ +--- +sidebar_label: "API" +title: "" +--- + +# API reference + +Most of the Epinio commands communicate with the Epinio server side component over an API. The API is secured with Basic Auth authentication. You can make requests against that API with the credentials from your Epinio config. +E.g. + +- Get your credentials with: `epinio config show` +- Use curl to make a request: + +``` +curl -u your-username-here:password-here https://epinio.your-system-domain/api/v1/info +``` + +The responses are all JSON objects, except for some cases where you get an error before the request reaches the Epinio server (e.g. because of bad cluster configuration). + +The endpoints are documented in the [OpenAPI Spec](https://www.openapis.org/) format. You can find the definition of the API here: https://github.com/epinio/epinio/blob/v1.13.7/docs/references/api/swagger.json + +__Make sure__ you change to the Epinio release you have deployed. + +There are various tools you can use to easily browse the API (e.g. https://editor.swagger.io/). If you have a Golang environment set up locally, you may find it easier to run `make swagger swagger-serve` from the root of the Epinio repository. diff --git a/versioned_docs/version-1.13.7/references/authentication_oidc.md b/versioned_docs/version-1.13.7/references/authentication_oidc.md new file mode 100644 index 0000000000..37d5ef52ff --- /dev/null +++ b/versioned_docs/version-1.13.7/references/authentication_oidc.md @@ -0,0 +1,142 @@ +--- +sidebar_label: "OIDC authentication" +title: "" +--- + +# OIDC authentication + +Since version **1.3.0**, Epinio has integrated [Dex](https://dexidp.io/) as an identity provider, which adds support for external OIDC providers. + +To authenticate through Dex, you can use the login command with the `--oidc` flag. This will open a web page where you can authenticate with the configured providers. + +```bash +epinio login --oidc https://epinio.mydomain.com +``` + +If you are using the `epinio` cli on a machine without a browser, you can provide the `--prompt` flag. This will give you the URL of a web page where you can authenticate even on a different machine. After logging in and pressing the `Grant Access` button, the page will return the authorization code that you have to copy and paste back to the `epinio` CLI input to finish the authentication process. + +```bash +epinio login --oidc --prompt https://epinio.172.21.0.4.sslip.io +``` + +By default, only the local connector is set up with two users (`admin@epinio.io` and `epinio@epinio.io`). +To add more connectors, you can edit the Dex configuration file (key `config.yaml`), stored in the `dex-config` secret in the `epinio` namespace. + +After a successful login, a new Epinio user will be created with the username matching the email used to login and returned by the provider. + + +If you want to login with the same email through the Epinio UI, you should set a password for your user by patching the user secret. + +Find the secret name: +``` +export EPINIO_USERNAME=$(echo -n 'admin@epinio.io' | base64) +kubectl get secret -n epinio -o json -l epinio.io/api-user-credentials | jq -r ".items[] | select(.data.username==\"$EPINIO_USERNAME\") | .metadata.name" + +ruser-adminepinioio-9341763ee7dcbce070e7c14f246ec8291e9a7278 +``` + +Patch the secret with the encrypted password: +``` +export EPINIO_PASSWORD=$(echo -n '$2a$10$6bCi5NMstMK781In7JGiL.B44pgoplUb330FQvm6mVXMppbXBPiXS' | base64 -w0) +kubectl patch secret -n epinio -p="{\"data\":{\"password\": \"$EPINIO_PASSWORD\"}}" ruser-adminepinioio-9341763ee7dcbce070e7c14f246ec8291e9a7278 + +secret/ruser-adminepinioio-9341763ee7dcbce070e7c14f246ec8291e9a7278 patched +``` + +You're now able to login with the credentials in Epinio UI. + +## Groups and Roles mapping + +Dex is configured via the `dex-config` secret in the `epinio` namespace. +The secret is of type `Opaque` and carries multiple string values that Epinio reads at start-up: + +- `config.yaml`: the Dex configuration file (connectors, static clients, etc.). +- `rolesMapping`: optional mapping that links external groups to Epinio roles. + +When creating or updating the secret, you must provide each entry as a separate key; do **not** +append the roles block to `config.yaml`. The snippet below shows the structure using +`stringData` for readability (Kubernetes will store the values base64-encoded under `data`): + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: dex-config + namespace: epinio +type: Opaque +stringData: + config.yaml: |- + connectors: + - type: github + id: github + name: GitHub + config: + loadAllGroups: true + orgs: + - name: Org1 + rolesMapping: |- + - connectorId: github + groups: + - id: Org1:Admins + roles: + - admin + - id: Org1:TeamBlue + roles: + - user + - admin:workspace +``` + +You can create the secret from files with +`kubectl create secret generic dex-config -n epinio --from-file=config.yaml --from-file=rolesMapping`, +or patch the existing secret using a YAML file structured as above. + +In the previous example, if the user is a member of both `Org1:Admins` and `Org1:TeamBlue` +then that user will get the `admin`, `user` and `admin:workspace` roles. If no roles are found +and a default role is set then the user will receive that default Epinio role. + +## Connector notes + +Dex ships with a broad catalogue of connectors (GitHub, GitLab, Google, LDAP, generic OIDC, Azure/Entra ID, and more). +Each connector exposes its own configuration keys and prerequisites. Refer to the official Dex connector +reference for the complete list and latest options.[^dex-connectors] + +### Google (Gmail / Workspace) Example + +Below is just an example of how to set up a connector. Please reference the [Dex connector documentation](https://dexidp.io/docs/connectors) for more information. + +When integrating Google accounts via the Dex `google` connector: + +- Create an OAuth 2.0 **Web application** client in Google Cloud Console and note the `Client ID` and `Client secret`. +- Add your Dex callback (for example `https://dex.example.org/callback`) to the OAuth client’s authorized redirect URIs and reuse it as the connector `redirectURI`. +- Restrict access to specific Google Workspace domains by listing them under `hostedDomains`. Omit the field to allow personal Gmail accounts. +- If you need group information for role mapping, supply a service account with Admin SDK rights (`serviceAccount` and `adminEmail`) and list the Workspace group email addresses in `groups`. +- Optionally extend `scopes` or set `promptType: select_account` to let users pick among multiple Google logins. + +Example connector snippet: + +```yaml +config.yaml: |- + connectors: + - type: google + id: google + name: Google + config: + clientID: + clientSecret: + redirectURI: https://dex.example.org/callback + hostedDomains: + - example.com + serviceAccount: |- + { + "type": "service_account", + "...": "..." + } + adminEmail: admin@example.com + groups: + - name: engineering@example.com + promptType: select_account +``` + +Combine this connector definition with the `rolesMapping` key shown earlier to assign Epinio roles to Google groups. + +[^dex-connectors]: [Dex connector reference](https://dexidp.io/docs/connectors/) diff --git a/versioned_docs/version-1.13.7/references/authorization.md b/versioned_docs/version-1.13.7/references/authorization.md new file mode 100644 index 0000000000..5847b9fd20 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/authorization.md @@ -0,0 +1,250 @@ +--- +sidebar_label: "Authorization" +title: "" +--- + +# Authorization + +Since version **1.11.0** Epinio is shipped with a new authorization layer with two default roles: **admin** and **user**. +Roles can be "namescoped", and they can be also customized with different permissions. + +A user with the admin role will have the permission to perform any operation. A standard user will have only read permissions, but also has the permissions to create namespaces. When a user creates a namespace, they will automatically have the admin permission for it. + +By default, after the installation two users are available: `admin` and `epinio`, both with the password `password`. The operator can control the creation of those users through the `api.users` key in [values.yaml](https://github.com/epinio/helm-charts/blob/main/chart/epinio/values.yaml). +In a production setup, the default `api.users` value needs to be overridden. + +## Switch user + +To switch users you need to set the `user` and `pass` keys of the Epinio settings file, located at `~/.config/epinio/settings.yaml`. +The password has to be base64 encoded. Below, `cGFzc3dvcmQ=` is the base64 encoded version of `password`. + +You can also login again with the `epinio login [URL]` command. + + +```yaml +api: https://epinio.mydomain.com +appchart: "" +certs: | + -----BEGIN CERTIFICATE----- + MIICUTCCAfigAwIBAgIQXJq3y/ouo90Db7BWy34gbDAKBggqhkjOPQQDAjAUMRIw + **************************************************************** + **************************************************************** + **************************************************************** + qCPZOyTsHKnjmj7zxg57+Kq2KLFT + -----END CERTIFICATE----- +colors: true +namespace: workspace +pass: cGFzc3dvcmQ= +user: epinio +wss: wss://epinio.mydomain.com +``` + +## List the Epinio users + +An Epinio user is a BasicAuth Kubernetes Secret, with the `epinio.io/api-user-credentials` reserved label. + +To list the available users you can get the secrets from your cluster with `kubectl`, filtering them with the proper labels: + +```bash +# list all the users +kubectl get secrets -n epinio -l 'epinio.io/api-user-credentials' +NAME TYPE DATA AGE +default-epinio-user BasicAuth 3 5m10s +admin-epinio-user BasicAuth 2 5m10s +``` + + +## Add a new user + +Since a user is simply a Kubernetes Secret you can create a new user with a `kubectl apply`: + +``` +cat <Depends on: `namespace_read` +| `namespace` | All the above
Depends on: `namespace_read`, `namespace_write` + +### App + +These actions enable operations on App commands and resources. They also enable commands related to AppCharts (`epinio app chart`) and application environment variables. + +| Action ID | Description +|-----------------|------------- +| `app_read` | Read permissions (app list and show, env list and show) +| `app_logs` | Read application logs +| `app_write` | Write permissions (app create, delete, push, export, stage, env set and unset)
Depends on: `app_read`, `app_logs` +| `app_exec` | Perform an exec into a running application +| `app_portforward` | Open a tunnel with the `port-forward` command +| `app` | All the above
Depends on: `app_read`, `app_logs`, `app_write`, `app_exec`, `app_portforward` + +### Configuration + +These actions enable operations on Configuration commands and resources. Be aware that to bind a configuration you still need the `app_write` permission as well. + + +| Action ID | Description +|----------------------|------------- +| `configuration_read` | Read permissions (list, show) +| `configuration_write` | Write permissions (create, delete)
Depends on: `configuration_read` +| `configuration` | All the above
Depends on: `configuration_read`, `configuration_write` + +### Service + +These actions enable operations on Service commands and resources. + +| Action ID | Description +|-----------------------|------------- +| `service_read` | Read permissions (list, show) +| `service_write` | Write permissions (create, delete, bind, unbind)
Depends on: `service_read` +| `service_portforward` | Open a tunnel with the `port-forward` command +| `service` | All the above
Depends on: `service_read`, `service_write`, `service_portforward` + +### Gitconfig + +These actions enable operations on Gitconfig commands and resources. + +| Action ID | Description +|-------------------|------------- +| `gitconfig_read` | Read permissions (list, show) +| `gitconfig_write` | Write permissions (create, delete)
Depends on: `gitconfig_read` +| `gitconfig` | All the above
Depends on: `gitconfig_read`, `gitconfig_write` + +### Export Registries + +This action enable operations on Export Registries commands and resources. Only read operations are available. + +| Action ID | Description +|---------------------------|------------- +| `export_registries_read` | Read permissions + + +## Assign Roles to User + +The `epinio.io/roles` annotation is used to declare the list of the assigned roles. It's a comma separated string with the ID of the roles. + +```yaml +apiVersion: v1 +kind: Secret +type: BasicAuth +metadata: + labels: + epinio.io/api-user-credentials: "true" # indicates this secret represents a user + annotations: + epinio.io/roles: "user,admin" # comma-separated list of roles + name: my-epinio-user + namespace: epinio +stringData: + username: myuser + password: "$2a$10$6bCi5NMstMK781In7JGiL.B44pgoplUb330FQvm6mVXMppbXBPiXS" # password hashed with the Bcrypt algorithm +``` + +### Define Role Access to a Namespace + +Users may be granted access to a particular namespace via two mechanisms: + +1. **Role Annotations with Scoping Delimiter `:` (recommended)** + - The roles assigned via the `epinio.io/roles` annotation on a user object may be namespace-scoped via the `:` delimiter. + - Format: `roleName:namespace` + - For example, a user may be granted administrator privileges to a specific namespace while maintaining non-admin access elsewhere: + - Specifically, note the `admin:some-namespace` annotation item + + ```yaml + apiVersion: v1 + kind: Secret + type: BasicAuth + metadata: + labels: + epinio.io/api-user-credentials: "true" + annotations: + epinio.io/roles: "user,admin:some-namespace" + name: my-epinio-user + namespace: epinio + stringData: + username: myuser + password: "some-hashed-password" + ``` + - We recommend this approach as it aligns with the automated flow through OIDC authentication, expanded upon below. + +2. **Namespaces Array on User Object** + - Namespaces can be assigned to a user via an additional `namespaces` key in the user Secret's data + - These namespaces are represented as an array separated by newlines. + + ```yaml + apiVersion: v1 + kind: Secret + type: BasicAuth + metadata: + labels: + epinio.io/api-user-credentials: "true" + epinio.io/roles: "user,admin" + name: my-epinio-user + namespace: epinio + stringData: + username: myuser + password: "some-hashed-password" + namespaces: | + workspace + workspace2 + ``` + +Additionally, this concept may be automated as part of **OIDC authentication** via Epinio's reference to a `rolesMapping` key within the `dex-config` secret data. Please refer to our [documentation on OIDC Authentication](./authentication_oidc.md#groups-and-roles-mapping) for further explanation. Note specifically that the `roles` array within the `rolesMapping` secret value can include the same `:` delimiter described above. \ No newline at end of file diff --git a/versioned_docs/version-1.13.7/references/cert-manager.md b/versioned_docs/version-1.13.7/references/cert-manager.md new file mode 100644 index 0000000000..6837ca2e1c --- /dev/null +++ b/versioned_docs/version-1.13.7/references/cert-manager.md @@ -0,0 +1,159 @@ +--- +sidebar_label: "Cert Manager" +title: "" +--- + +# Cert Manager + +## Purpose + +The [Cert Manager](https://cert-manager.io/) is a component watching for kubernetes +Certificate resources and generating Secrets holding the requested certificate data. It +can be configured with a variety of issuers for fulfilling these requests. One such +issuer is [Let's Encrypt](https://letsencrypt.org/). + +Epinio uses it to generate the internal certificates used to secure the communication +between its components, as well as for the certificates used to secure the application +Ingresses. + +## Installation + +The Cert Manager is a recommended dependency of Epinio, and not installed by it. +In other words, Epinio works best when it has Cert Manager available to it on the cluster, when it +is installed. + +## Version + +Epinio development uses Cert Manager version 1.8.2. For details of this version see the +[releases](https://cert-manager.io/docs/installation/supported-releases/). + +## Advanced - Epinio without Cert manager + +When Cert Manager (CM) is not installed installation of Epinio is still possible. +It however requires more work on the part of the operator. + +Use `--set certManager.enabled=false` to tell Epinio's helm chart that CM is not available. + +Without CM various certificate-holding Secrets normally created automatically via Certificate +resources have to be provided by the operator instead. + +The associated chart variables to `--set` are +`certManager..cert`, +`certManager..key`, and +`certManager..ca`. + +The recognized values for the `placeholder` above are +`dex`, +`epinio`, +`registry`, +`s3`, and +`ui`. + +Both `dex` and `ui` are optional, even when these components are enabled. +The Epinio chart then falls back to the data for `epinio`. +The information is ignored when the `dex` and/or `ui` components are disabled. + +The `s3` information applies to whichever internal S3-compatible store is configured when installing +Epinio, i.e. `minio` or `s3gw`. The `s3` information is not applied when Epinio is configured to use +an external S3 store. + +:::note + +The certificates for `epinio` (including workloads) and `dex` are served through public domains and +are permitted to use wildcard domains (e.g. `*.1.2.3.4.nip.io`) in their `CN`/`SAN` fields. + +The certificates for `registry` and `s3`(minio) are inter-cluster "private" domains +(`registry..svc.cluster.local` and +`minio..svc.cluster.local`). +The placeholder `` refers to the namespace Epinio is installed in. + +::: + +:::caution + +When used with Minio the `s3` certificate cannot use wildcard domains in its `CN`/`SAN` fields. + +::: + +The TLS keys/CSRs/certs can be created manually, see the guide below. +Adjust the `Subj`/`CN`/`SAN` values according to the local requirements. + +### Certificate creation + +#### Generate root CA key and certificate + +Create and enter a directory for your files: + +```bash +mkdir certs +cd certs +``` + +Create the root CA private key: + +```bash +openssl genrsa -out CA.key 2048 +``` + +Create the root CA certificate: + +```bash +openssl req -x509 -new -nodes \ + -subj "/C=DE/ST=Germany/L=Nurnberg/O=SUSE/OU=Epinio/CN=SUSE CA cert/emailAddress=epinio@suse.com" \ + -key CA.key \ + -sha256 \ + -days 3650 \ + -out CA.pem +``` + +#### Create private key, CSR and signed certificate + +Create the private key for your domain: + +```bash +openssl genrsa -out domain.key 2048 +``` + +Create a CSR request (The `CN` field contains your domain): + +```bash +openssl req -new \ + -subj "/C=DE/ST=Germany/L=Nurnberg/O=SUSE/OU=Epinio/CN=registry.suse.dev/emailAddress=epinio@suse.com" \ + -key domain.key \ + -out domain.csr +``` + +Create an extra openssl configuration for additional `SAN` entries, if any. + +```bash +cat > domain.ext < X509v3 Subject Alternative Name: +> DNS:registry.suse.dev +``` + + +### Applications + +Under normal circumstances applications request their ingress certificates from CM. +Without CM use of [routing secrets](customization/routing_secrets.md) becomes **mandatory**. diff --git a/versioned_docs/version-1.13.7/references/command_requirements.md b/versioned_docs/version-1.13.7/references/command_requirements.md new file mode 100644 index 0000000000..6ed9b1af03 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/command_requirements.md @@ -0,0 +1,18 @@ +--- +sidebar_label: "Command Requirements" +sidebar_position: 2 +title: "" +--- + +| | Server | User | | +| --------- | ------ | ------------- | --- | +| *component* | **API** | **CLI** | | +| *needs* | *(kubeconfig)* | *kubeconfig* | *settings file* | +| | | | | +| *commands* | server | settings update-ca | info | +| | | | namespace | +| | | | configuration | +| | | | app | +| | | | target | +| | | | push | +| | | | settings show\|colors | diff --git a/versioned_docs/version-1.13.7/references/commands/_category_.json b/versioned_docs/version-1.13.7/references/commands/_category_.json new file mode 100644 index 0000000000..87ee79a83e --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Commands reference", + "position": 3, + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/references/commands/cli/_category_.json b/versioned_docs/version-1.13.7/references/commands/cli/_category_.json new file mode 100644 index 0000000000..e92997f523 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "epinio", + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/_category_.json b/versioned_docs/version-1.13.7/references/commands/cli/app/_category_.json new file mode 100644 index 0000000000..023c96b828 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "app", + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/chart/_category_.json b/versioned_docs/version-1.13.7/references/commands/cli/app/chart/_category_.json new file mode 100644 index 0000000000..f00918f9af --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/chart/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "chart", + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart.md b/versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart.md new file mode 100644 index 0000000000..00c6bf1268 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart.md @@ -0,0 +1,45 @@ +--- +sidebar_label: epinio app chart +title: "" +description: epinio app chart +keywords: [epinio, kubernetes, epinio app chart] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-chart] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app chart + +Epinio application chart management + +### Synopsis + +Manage epinio application charts + +### Options + +``` + -h, --help help for chart +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](../epinio_app.md) - Epinio application features +* [epinio app chart default](./epinio_app_chart_default.md) - Set or show app chart default +* [epinio app chart list](./epinio_app_chart_list.md) - List application charts +* [epinio app chart show](./epinio_app_chart_show.md) - Describe application chart + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart_default.md b/versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart_default.md new file mode 100644 index 0000000000..4d9b4a9d19 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart_default.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio app chart default +title: "" +description: epinio app chart default +keywords: [epinio, kubernetes, epinio app chart default] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-chart-default] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app chart default + +Set or show app chart default + +### Synopsis + +Set or show app chart default + +``` +epinio app chart default [CHARTNAME] [flags] +``` + +### Options + +``` + -h, --help help for default +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app chart](./epinio_app_chart.md) - Epinio application chart management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart_list.md b/versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart_list.md new file mode 100644 index 0000000000..be0f978dd6 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart_list.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio app chart list +title: "" +description: epinio app chart list +keywords: [epinio, kubernetes, epinio app chart list] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-chart-list] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app chart list + +List application charts + +### Synopsis + +List applications charts + +``` +epinio app chart list [flags] +``` + +### Options + +``` + -h, --help help for list +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app chart](./epinio_app_chart.md) - Epinio application chart management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart_show.md b/versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart_show.md new file mode 100644 index 0000000000..2a60e530cf --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/chart/epinio_app_chart_show.md @@ -0,0 +1,42 @@ +--- +sidebar_label: epinio app chart show +title: "" +description: epinio app chart show +keywords: [epinio, kubernetes, epinio app chart show] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-chart-show] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app chart show + +Describe application chart + +``` +epinio app chart show CHARTNAME [flags] +``` + +### Options + +``` + -h, --help help for show +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app chart](./epinio_app_chart.md) - Epinio application chart management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/env/_category_.json b/versioned_docs/version-1.13.7/references/commands/cli/app/env/_category_.json new file mode 100644 index 0000000000..d2cc082445 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/env/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "env", + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env.md b/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env.md new file mode 100644 index 0000000000..1d537caf6e --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio app env +title: "" +description: epinio app env +keywords: [epinio, kubernetes, epinio app env] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-env] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app env + +Epinio application configuration + +### Synopsis + +Manage epinio application environment variables + +### Options + +``` + -h, --help help for env +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](../epinio_app.md) - Epinio application features +* [epinio app env list](./epinio_app_env_list.md) - Lists application environment +* [epinio app env set](./epinio_app_env_set.md) - Extend application environment +* [epinio app env show](./epinio_app_env_show.md) - Describe application's environment variable +* [epinio app env unset](./epinio_app_env_unset.md) - Shrink application environment + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_list.md b/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_list.md new file mode 100644 index 0000000000..49975125ad --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_list.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio app env list +title: "" +description: epinio app env list +keywords: [epinio, kubernetes, epinio app env list] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-env-list] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app env list + +Lists application environment + +### Synopsis + +Lists environment variables of named application + +``` +epinio app env list APPNAME [flags] +``` + +### Options + +``` + -h, --help help for list +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app env](./epinio_app_env.md) - Epinio application configuration + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_set.md b/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_set.md new file mode 100644 index 0000000000..8dc9b9abeb --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_set.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio app env set +title: "" +description: epinio app env set +keywords: [epinio, kubernetes, epinio app env set] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-env-set] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app env set + +Extend application environment + +### Synopsis + +Add or change environment variable of named application + +``` +epinio app env set APPNAME NAME VALUE [flags] +``` + +### Options + +``` + -h, --help help for set +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app env](./epinio_app_env.md) - Epinio application configuration + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_show.md b/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_show.md new file mode 100644 index 0000000000..ac44e8ba81 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_show.md @@ -0,0 +1,42 @@ +--- +sidebar_label: epinio app env show +title: "" +description: epinio app env show +keywords: [epinio, kubernetes, epinio app env show] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-env-show] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app env show + +Describe application's environment variable + +``` +epinio app env show APPNAME NAME [flags] +``` + +### Options + +``` + -h, --help help for show +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app env](./epinio_app_env.md) - Epinio application configuration + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_unset.md b/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_unset.md new file mode 100644 index 0000000000..29a147ff3a --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/env/epinio_app_env_unset.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio app env unset +title: "" +description: epinio app env unset +keywords: [epinio, kubernetes, epinio app env unset] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-env-unset] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app env unset + +Shrink application environment + +### Synopsis + +Remove environment variable from named application + +``` +epinio app env unset APPNAME NAME [flags] +``` + +### Options + +``` + -h, --help help for unset +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app env](./epinio_app_env.md) - Epinio application configuration + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app.md new file mode 100644 index 0000000000..5612cd8f88 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app.md @@ -0,0 +1,61 @@ +--- +sidebar_label: epinio app +title: "" +description: epinio app +keywords: [epinio, kubernetes, epinio app] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app + +Epinio application features + +### Synopsis + +Manage epinio application + +``` +epinio app [flags] +``` + +### Options + +``` + -h, --help help for app +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](../epinio.md) - Epinio cli +* [epinio app chart](./chart/epinio_app_chart.md) - Epinio application chart management +* [epinio app create](./epinio_app_create.md) - Create just the app, without creating a workload +* [epinio app delete](./epinio_app_delete.md) - Deletes one or more applications +* [epinio app env](./env/epinio_app_env.md) - Epinio application configuration +* [epinio app exec](./epinio_app_exec.md) - creates a shell to the application +* [epinio app export](./epinio_app_export.md) - Export the named application into the directory or flag-specified registry +* [epinio app list](./epinio_app_list.md) - Lists applications +* [epinio app logs](./epinio_app_logs.md) - Streams the logs of the application +* [epinio app manifest](./epinio_app_manifest.md) - Save state of the named application as a manifest +* [epinio app port-forward](./epinio_app_port-forward.md) - forward one or more local ports to a pod +* [epinio app push](../epinio_push.md) - Push an application declared in the specified manifest +* [epinio app restage](./epinio_app_restage.md) - Restage the application, then restart, if running and not suppressed +* [epinio app restart](./epinio_app_restart.md) - Restart the application +* [epinio app show](./epinio_app_show.md) - Describe the named application +* [epinio app update](./epinio_app_update.md) - Update the named application + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_create.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_create.md new file mode 100644 index 0000000000..9e4cf34463 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_create.md @@ -0,0 +1,49 @@ +--- +sidebar_label: epinio app create +title: "" +description: epinio app create +keywords: [epinio, kubernetes, epinio app create] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-create] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app create + +Create just the app, without creating a workload + +``` +epinio app create NAME [flags] +``` + +### Options + +``` + --app-chart string App chart to use for deployment + -b, --bind strings configurations to bind immediately + -v, --chart-value strings chart customization to be used + -z, --clear-routes clear routes / no routes + -e, --env strings environment variables to be used + -h, --help help for create + -i, --instances int32 The number of instances the application should have (default 1) + -r, --route strings Custom route to use for the application (a subdomain of the default domain will be used if this is not set). Can be set multiple times to use multiple routes with the same application. +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_delete.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_delete.md new file mode 100644 index 0000000000..da653d039d --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_delete.md @@ -0,0 +1,43 @@ +--- +sidebar_label: epinio app delete +title: "" +description: epinio app delete +keywords: [epinio, kubernetes, epinio app delete] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-delete] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app delete + +Deletes one or more applications + +``` +epinio app delete NAME1 [NAME2 ...] [flags] +``` + +### Options + +``` + --all Delete all applications + -h, --help help for delete +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_exec.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_exec.md new file mode 100644 index 0000000000..6b95409db2 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_exec.md @@ -0,0 +1,43 @@ +--- +sidebar_label: epinio app exec +title: "" +description: epinio app exec +keywords: [epinio, kubernetes, epinio app exec] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-exec] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app exec + +creates a shell to the application + +``` +epinio app exec NAME [flags] +``` + +### Options + +``` + -h, --help help for exec + -i, --instance string The name of the instance to shell to +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_export.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_export.md new file mode 100644 index 0000000000..39a547d3d2 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_export.md @@ -0,0 +1,47 @@ +--- +sidebar_label: epinio app export +title: "" +description: epinio app export +keywords: [epinio, kubernetes, epinio app export] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-export] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app export + +Export the named application into the directory or flag-specified registry + +``` +epinio app export NAME [DIRECTORY] [flags] +``` + +### Options + +``` + --chart-name string User chosen name for the chart file + --chart-version string User chosen version for the chart file + -h, --help help for export + --image-name string User chosen name for the image file + --image-tag string User chosen tag for the image file + -r, --registry string The name of the registry to export to +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_list.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_list.md new file mode 100644 index 0000000000..76cd664eca --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_list.md @@ -0,0 +1,48 @@ +--- +sidebar_label: epinio app list +title: "" +description: epinio app list +keywords: [epinio, kubernetes, epinio app list] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-list] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app list + +Lists applications + +### Synopsis + +Lists applications in the targeted namespace, or all + +``` +epinio app list [--all] [flags] +``` + +### Options + +``` + --all list all applications + -h, --help help for list + -o, --output string sets output format [text|json] (default "text") +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_logs.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_logs.md new file mode 100644 index 0000000000..feab45f654 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_logs.md @@ -0,0 +1,44 @@ +--- +sidebar_label: epinio app logs +title: "" +description: epinio app logs +keywords: [epinio, kubernetes, epinio app logs] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-logs] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app logs + +Streams the logs of the application + +``` +epinio app logs NAME [flags] +``` + +### Options + +``` + --follow follow the logs of the application + -h, --help help for logs + --staging show the staging logs of the application +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_manifest.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_manifest.md new file mode 100644 index 0000000000..6c1e33cc6e --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_manifest.md @@ -0,0 +1,42 @@ +--- +sidebar_label: epinio app manifest +title: "" +description: epinio app manifest +keywords: [epinio, kubernetes, epinio app manifest] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-manifest] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app manifest + +Save state of the named application as a manifest + +``` +epinio app manifest NAME MANIFESTPATH [flags] +``` + +### Options + +``` + -h, --help help for manifest +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_port-forward.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_port-forward.md new file mode 100644 index 0000000000..26621ef508 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_port-forward.md @@ -0,0 +1,44 @@ +--- +sidebar_label: epinio app port-forward +title: "" +description: epinio app port-forward +keywords: [epinio, kubernetes, epinio app port-forward] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-port-forward] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app port-forward + +forward one or more local ports to a pod + +``` +epinio app port-forward NAME [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags] +``` + +### Options + +``` + --address strings Addresses to listen on (comma separated). Only accepts IP addresses or localhost as a value. When localhost is supplied, kubectl will try to bind on both 127.0.0.1 and ::1 and will fail if neither of these addresses are available to bind. (default [localhost]) + -h, --help help for port-forward + -i, --instance string The name of the instance to shell to +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_push.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_push.md new file mode 100644 index 0000000000..3da98a0afe --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_push.md @@ -0,0 +1,55 @@ +--- +sidebar_label: epinio app push +title: "" +description: epinio app push +keywords: [epinio, kubernetes, epinio app push] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-push] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app push + +Push an application declared in the specified manifest + +``` +epinio app push [flags] [PATH_TO_APPLICATION_MANIFEST] +``` + +### Options + +``` + --app-chart string App chart to use for deployment + -b, --bind strings configurations to bind immediately + --builder-image string Paketo builder image to use for staging + -v, --chart-value strings chart customization to be used + -z, --clear-routes clear routes / no routes + --container-image-url string Container image url for the app workload image + -e, --env strings environment variables to be used + -g, --git string Git repository and revision of sources separated by comma (e.g. GIT_URL,REVISION) + --git-provider string Git provider code [git|github|github_enterprise|gitlab|gitlab_enterprise] + -h, --help help for push + -i, --instances int32 The number of instances the application should have (default 1) + -n, --name string Application name. (mandatory if no manifest is provided) + -p, --path string Path to application sources. + -r, --route strings Custom route to use for the application (a subdomain of the default domain will be used if this is not set). Can be set multiple times to use multiple routes with the same application. +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_restage.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_restage.md new file mode 100644 index 0000000000..2ec98f82a9 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_restage.md @@ -0,0 +1,43 @@ +--- +sidebar_label: epinio app restage +title: "" +description: epinio app restage +keywords: [epinio, kubernetes, epinio app restage] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-restage] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app restage + +Restage the application, then restart, if running and not suppressed + +``` +epinio app restage NAME [flags] +``` + +### Options + +``` + -h, --help help for restage + --no-restart Do not restart application after restaging +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_restart.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_restart.md new file mode 100644 index 0000000000..659bddfbf0 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_restart.md @@ -0,0 +1,42 @@ +--- +sidebar_label: epinio app restart +title: "" +description: epinio app restart +keywords: [epinio, kubernetes, epinio app restart] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-restart] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app restart + +Restart the application + +``` +epinio app restart NAME [flags] +``` + +### Options + +``` + -h, --help help for restart +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_show.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_show.md new file mode 100644 index 0000000000..c86a6dccdb --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_show.md @@ -0,0 +1,43 @@ +--- +sidebar_label: epinio app show +title: "" +description: epinio app show +keywords: [epinio, kubernetes, epinio app show] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-show] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app show + +Describe the named application + +``` +epinio app show NAME [flags] +``` + +### Options + +``` + -h, --help help for show + -o, --output string sets output format [text|json] (default "text") +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_update.md b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_update.md new file mode 100644 index 0000000000..e67fa37b1c --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/app/epinio_app_update.md @@ -0,0 +1,53 @@ +--- +sidebar_label: epinio app update +title: "" +description: epinio app update +keywords: [epinio, kubernetes, epinio app update] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-app-update] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio app update + +Update the named application + +### Synopsis + +Update the running application's attributes (e.g. instances) + +``` +epinio app update NAME [flags] +``` + +### Options + +``` + --app-chart string App chart to use for deployment + -b, --bind strings configurations to bind immediately + -v, --chart-value strings chart customization to be used + -z, --clear-routes clear routes / no routes + -e, --env strings environment variables to be used + -h, --help help for update + -i, --instances int32 The number of instances the application should have (default 1) + -r, --route strings Custom route to use for the application (a subdomain of the default domain will be used if this is not set). Can be set multiple times to use multiple routes with the same application. +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./epinio_app.md) - Epinio application features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/configuration/_category_.json b/versioned_docs/version-1.13.7/references/commands/cli/configuration/_category_.json new file mode 100644 index 0000000000..dd0087cf41 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/configuration/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "configuration", + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration.md b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration.md new file mode 100644 index 0000000000..ad20cb4236 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration.md @@ -0,0 +1,53 @@ +--- +sidebar_label: epinio configuration +title: "" +description: epinio configuration +keywords: [epinio, kubernetes, epinio configuration] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-configuration] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio configuration + +Epinio configuration features + +### Synopsis + +Handle configuration features with Epinio + +``` +epinio configuration [flags] +``` + +### Options + +``` + -h, --help help for configuration +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](../epinio.md) - Epinio cli +* [epinio configuration bind](./epinio_configuration_bind.md) - Bind a configuration to an application +* [epinio configuration create](./epinio_configuration_create.md) - Create a configuration +* [epinio configuration delete](./epinio_configuration_delete.md) - Delete one or more configurations +* [epinio configuration list](./epinio_configuration_list.md) - Lists configurations +* [epinio configuration show](./epinio_configuration_show.md) - Configuration information +* [epinio configuration unbind](./epinio_configuration_unbind.md) - Unbind configuration from an application +* [epinio configuration update](./epinio_configuration_update.md) - Update a configuration + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_bind.md b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_bind.md new file mode 100644 index 0000000000..d02ba88a1b --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_bind.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio configuration bind +title: "" +description: epinio configuration bind +keywords: [epinio, kubernetes, epinio configuration bind] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-configuration-bind] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio configuration bind + +Bind a configuration to an application + +### Synopsis + +Bind configuration by name, to named application. + +``` +epinio configuration bind NAME APP [flags] +``` + +### Options + +``` + -h, --help help for bind +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio configuration](./epinio_configuration.md) - Epinio configuration features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_create.md b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_create.md new file mode 100644 index 0000000000..37cc65bd23 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_create.md @@ -0,0 +1,47 @@ +--- +sidebar_label: epinio configuration create +title: "" +description: epinio configuration create +keywords: [epinio, kubernetes, epinio configuration create] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-configuration-create] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio configuration create + +Create a configuration + +### Synopsis + +Create configuration by name and key/value dictionary. + +``` +epinio configuration create NAME (KEY VALUE)... [flags] +``` + +### Options + +``` + -f, --from-file strings values from files + -h, --help help for create +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio configuration](./epinio_configuration.md) - Epinio configuration features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_delete.md b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_delete.md new file mode 100644 index 0000000000..7b7fbb816d --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_delete.md @@ -0,0 +1,48 @@ +--- +sidebar_label: epinio configuration delete +title: "" +description: epinio configuration delete +keywords: [epinio, kubernetes, epinio configuration delete] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-configuration-delete] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio configuration delete + +Delete one or more configurations + +### Synopsis + +Delete configurations by name. + +``` +epinio configuration delete NAME1 [NAME2 ...] [flags] +``` + +### Options + +``` + --all delete all configurations + -h, --help help for delete + --unbind Unbind from applications before deleting +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio configuration](./epinio_configuration.md) - Epinio configuration features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_list.md b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_list.md new file mode 100644 index 0000000000..9c0e05c366 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_list.md @@ -0,0 +1,48 @@ +--- +sidebar_label: epinio configuration list +title: "" +description: epinio configuration list +keywords: [epinio, kubernetes, epinio configuration list] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-configuration-list] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio configuration list + +Lists configurations + +### Synopsis + +Lists configurations in the targeted namespace, or all + +``` +epinio configuration list [--all] [flags] +``` + +### Options + +``` + --all list all configurations + -h, --help help for list + -o, --output string sets output format [text|json] (default "text") +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio configuration](./epinio_configuration.md) - Epinio configuration features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_show.md b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_show.md new file mode 100644 index 0000000000..c5c6f20e84 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_show.md @@ -0,0 +1,47 @@ +--- +sidebar_label: epinio configuration show +title: "" +description: epinio configuration show +keywords: [epinio, kubernetes, epinio configuration show] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-configuration-show] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio configuration show + +Configuration information + +### Synopsis + +Show detailed information of the named configuration. + +``` +epinio configuration show NAME [flags] +``` + +### Options + +``` + -h, --help help for show + -o, --output string sets output format [text|json] (default "text") +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio configuration](./epinio_configuration.md) - Epinio configuration features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_unbind.md b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_unbind.md new file mode 100644 index 0000000000..0e1000a7d7 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_unbind.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio configuration unbind +title: "" +description: epinio configuration unbind +keywords: [epinio, kubernetes, epinio configuration unbind] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-configuration-unbind] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio configuration unbind + +Unbind configuration from an application + +### Synopsis + +Unbind configuration by name, from named application. + +``` +epinio configuration unbind NAME APP [flags] +``` + +### Options + +``` + -h, --help help for unbind +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio configuration](./epinio_configuration.md) - Epinio configuration features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_update.md b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_update.md new file mode 100644 index 0000000000..c7049e6999 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/configuration/epinio_configuration_update.md @@ -0,0 +1,48 @@ +--- +sidebar_label: epinio configuration update +title: "" +description: epinio configuration update +keywords: [epinio, kubernetes, epinio configuration update] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-configuration-update] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio configuration update + +Update a configuration + +### Synopsis + +Update configuration by name and change instructions through flags. + +``` +epinio configuration update NAME [flags] +``` + +### Options + +``` + -h, --help help for update + -s, --set strings configuration key/value assignments to add/modify + -u, --unset strings configuration keys to remove +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio configuration](./epinio_configuration.md) - Epinio configuration features + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/epinio.md b/versioned_docs/version-1.13.7/references/commands/cli/epinio.md new file mode 100644 index 0000000000..1b6c38258e --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/epinio.md @@ -0,0 +1,52 @@ +--- +sidebar_label: epinio cli +title: "" +description: epinio cli +keywords: [epinio, kubernetes, epinio cli] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-cli] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio + +Epinio cli + +### Synopsis + +epinio cli is the official command line interface for Epinio PaaS + +### Options + +``` + -H, --header stringArray Add custom header to every request executed + -h, --help help for epinio + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio app](./app/epinio_app.md) - Epinio application features +* [epinio client-sync](./epinio_client-sync.md) - Downloads a client binary matching the currently logged server +* [epinio completion](./epinio_completion.md) - Generate completion script for a shell +* [epinio configuration](./configuration/epinio_configuration.md) - Epinio configuration features +* [epinio export-registries](./epinio_export-registries.md) - List export registries +* [epinio gitconfig](./gitconfig/epinio_gitconfig.md) - Epinio git configuration management +* [epinio info](./epinio_info.md) - Shows information about the Epinio environment +* [epinio login](./epinio_login.md) - Epinio login to the server +* [epinio logout](./epinio_logout.md) - Epinio logout from server +* [epinio namespace](./namespace/epinio_namespace.md) - Epinio-controlled namespaces +* [epinio push](./epinio_push.md) - Push an application declared in the specified manifest +* [epinio server](./epinio_server.md) - Starts the Epinio server. +* [epinio service](./service/epinio_service.md) - Epinio service management +* [epinio settings](./settings/epinio_settings.md) - Epinio settings management +* [epinio target](./epinio_target.md) - Targets an epinio-controlled namespace. +* [epinio version](./epinio_version.md) - Print the version number + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/epinio_client-sync.md b/versioned_docs/version-1.13.7/references/commands/cli/epinio_client-sync.md new file mode 100644 index 0000000000..9d0045dadd --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/epinio_client-sync.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio client-sync +title: "" +description: epinio client-sync +keywords: [epinio, kubernetes, epinio client-sync] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-client-sync] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio client-sync + +Downloads a client binary matching the currently logged server + +### Synopsis + +Synchronizes the epinio client with the server by downloading the matching binary and replacing the current one. + +``` +epinio client-sync [flags] +``` + +### Options + +``` + -h, --help help for client-sync +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](./epinio.md) - Epinio cli + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/epinio_completion.md b/versioned_docs/version-1.13.7/references/commands/cli/epinio_completion.md new file mode 100644 index 0000000000..03babea530 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/epinio_completion.md @@ -0,0 +1,113 @@ +--- +sidebar_label: epinio completion +title: "" +description: epinio completion +keywords: [epinio, kubernetes, epinio completion] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-completion] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio completion + +Generate completion script for a shell + +### Synopsis + +To load completions: + +#### Bash + +``` +$ source <(epinio completion bash) +``` + +To load completions for each session, execute once: + +Linux: + +``` +$ epinio completion bash > /etc/bash_completion.d/epinio +``` + +MacOS: + +``` +$ epinio completion bash > /usr/local/etc/bash_completion.d/epinio +``` + +ATTENTION: + The generated script requires the bash-completion package. + See https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion + for information on how to install and activate it. + +#### Zsh + +If shell completion is not already enabled in your environment you will need to enable it. You can execute the following once: + +``` +$ echo "autoload -U compinit; compinit" >> ~/.zshrc +``` + +To load completions for each session, execute once: + +``` +$ epinio completion zsh > "${fpath[1]}/_epinio" +``` + +You will need to start a new shell for this setup to take effect. + +#### Fish + +``` +$ epinio completion fish | source +``` + +To load completions for each session, execute once: + +``` +$ epinio completion fish > ~/.config/fish/completions/epinio.fish +``` + +#### Powershell + +``` +PS> epinio completion powershell | Out-String | Invoke-Expression +``` + +To load completions for every new session, run: + +``` +PS> epinio completion powershell > epinio.ps1 +``` + +and source this file from your powershell profile. + +``` +epinio completion [bash|zsh|fish|powershell] +``` + +### Options + +``` + -h, --help help for completion +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](./epinio.md) - Epinio cli + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/epinio_export-registries.md b/versioned_docs/version-1.13.7/references/commands/cli/epinio_export-registries.md new file mode 100644 index 0000000000..7b46220ffc --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/epinio_export-registries.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio export-registries +title: "" +description: epinio export-registries +keywords: [epinio, kubernetes, epinio export-registries] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-export-registries] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio export-registries + +List export registries + +### Synopsis + +List export registries + +``` +epinio export-registries [flags] +``` + +### Options + +``` + -h, --help help for export-registries +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](./epinio.md) - Epinio cli + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/epinio_info.md b/versioned_docs/version-1.13.7/references/commands/cli/epinio_info.md new file mode 100644 index 0000000000..2dba722e88 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/epinio_info.md @@ -0,0 +1,47 @@ +--- +sidebar_label: epinio info +title: "" +description: epinio info +keywords: [epinio, kubernetes, epinio info] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-info] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio info + +Shows information about the Epinio environment + +### Synopsis + +Shows status and versions for epinio's server-side components. + +``` +epinio info [flags] +``` + +### Options + +``` + -h, --help help for info + -o, --output string sets output format [text|json] (default "text") +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](./epinio.md) - Epinio cli + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/epinio_login.md b/versioned_docs/version-1.13.7/references/commands/cli/epinio_login.md new file mode 100644 index 0000000000..bde1dc424e --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/epinio_login.md @@ -0,0 +1,51 @@ +--- +sidebar_label: epinio login +title: "" +description: epinio login +keywords: [epinio, kubernetes, epinio login] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-login] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio login + +Epinio login to the server + +### Synopsis + +The login command allows you to authenticate against an Epinio instance and updates the settings file with the generated authentication token + +``` +epinio login [URL] [flags] +``` + +### Options + +``` + -h, --help help for login + --oidc perform OIDC authentication (user and password will be ignored) + -p, --password string password that will be used to login + --prompt enable the prompt of the authorization code and disable the local server during OIDC authentication + --trust-ca automatically trust the unknown CA + -u, --user string username that will be used to login +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](./epinio.md) - Epinio cli + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/epinio_logout.md b/versioned_docs/version-1.13.7/references/commands/cli/epinio_logout.md new file mode 100644 index 0000000000..a01ec2e139 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/epinio_logout.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio logout +title: "" +description: epinio logout +keywords: [epinio, kubernetes, epinio logout] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-logout] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio logout + +Epinio logout from server + +### Synopsis + +The logout command removs all authentication information from the local state, i.e. settings file + +``` +epinio logout [flags] +``` + +### Options + +``` + -h, --help help for logout +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](./epinio.md) - Epinio cli + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/epinio_push.md b/versioned_docs/version-1.13.7/references/commands/cli/epinio_push.md new file mode 100644 index 0000000000..bcb9496835 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/epinio_push.md @@ -0,0 +1,55 @@ +--- +sidebar_label: epinio push +title: "" +description: epinio push +keywords: [epinio, kubernetes, epinio push] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-push] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio push + +Push an application declared in the specified manifest + +``` +epinio push [flags] [PATH_TO_APPLICATION_MANIFEST] +``` + +### Options + +``` + --app-chart string App chart to use for deployment + -b, --bind strings configurations to bind immediately + --builder-image string Paketo builder image to use for staging + -v, --chart-value strings chart customization to be used + -z, --clear-routes clear routes / no routes + --container-image-url string Container image url for the app workload image + -e, --env strings environment variables to be used + -g, --git string Git repository and revision of sources separated by comma (e.g. GIT_URL,REVISION) + --git-provider string Git provider code [git|github|github_enterprise|gitlab|gitlab_enterprise] + -h, --help help for push + -i, --instances int32 The number of instances the application should have (default 1) + -n, --name string Application name. (mandatory if no manifest is provided) + -p, --path string Path to application sources. + -r, --route strings Custom route to use for the application (a subdomain of the default domain will be used if this is not set). Can be set multiple times to use multiple routes with the same application. +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](./epinio.md) - Epinio cli + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/epinio_server.md b/versioned_docs/version-1.13.7/references/commands/cli/epinio_server.md new file mode 100644 index 0000000000..eec23d73c5 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/epinio_server.md @@ -0,0 +1,63 @@ +--- +sidebar_label: epinio server +title: "" +description: epinio server +keywords: [epinio, kubernetes, epinio server] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-server] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio server + +Starts the Epinio server. + +### Synopsis + +This command starts the Epinio server. `epinio install` ensures the server is running inside your cluster. Normally you don't need to run this command manually. + +``` +epinio server [flags] +``` + +### Options + +``` + --access-control-allow-origin string (ACCESS_CONTROL_ALLOW_ORIGIN) Domains allowed to use the API + --app-image-exporter string (APP_IMAGE_EXPORTER) Name of the container image used to download the application image from the 'export' API. + --default-builder-image string (DEFAULT_BUILDER_IMAGE) Name of the container image used to build images from staged sources. + --disable-tracking (DISABLE_TRACKING) Disable tracking of the running Epinio and Kubernetes versions + -h, --help help for server + --ingress-class-name string (INGRESS_CLASS_NAME) Name of the ingress class to use for apps. Leave empty to add no ingressClassName to the ingress. + --kube-api-burst int (KUBE_API_BURST) Maximum burst for throttle of the Kubernetes client. (default 10) + --kube-api-qps float32 (KUBE_API_QPS) The QPS indicates the maximum QPS of the Kubernetes client. (default 5) + -n, --namespace string (NAMESPACE) The namespace to use (default "epinio") + --port int (PORT) The port to listen on. Leave empty to auto-assign a random port + --registry-certificate-secret string (REGISTRY_CERTIFICATE_SECRET) Secret for the registry's TLS certificate + --s3-certificate-secret string (S3_CERTIFICATE_SECRET) Secret for the S3 endpoint TLS certificate. Can be left empty if S3 is served with a trusted certificate. + --staging-resource-cpu string (STAGING_RESOURCE_CPU) NOTICE: Removed in 1.13 in favor of enhanced configurability options via Helm. + --staging-resource-disk string (STAGING_RESOURCE_DISK) NOTICE: Removed in 1.13 in favor of enhanced configurability options via Helm. + --staging-resource-memory string (STAGING_RESOURCE_MEMORY) NOTICE: Removed in 1.13 in favor of enhanced configurability options via Helm. + --staging-service-account-name string (STAGING_SERVICE_ACCOUNT_NAME) NOTICE: Removed in 1.13 in favor of enhanced configurability options via Helm. + --tls-issuer string (TLS_ISSUER) The cluster issuer to use for workload certificates + --upgrade-responder-address string (UPGRADE_RESPONDER_ADDRESS) Disable tracking of the running Epinio and Kubernetes versions (default "https://epinio.version.rancher.io/v1/checkupgrade") +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](./epinio.md) - Epinio cli + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/epinio_target.md b/versioned_docs/version-1.13.7/references/commands/cli/epinio_target.md new file mode 100644 index 0000000000..282e500347 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/epinio_target.md @@ -0,0 +1,42 @@ +--- +sidebar_label: epinio target +title: "" +description: epinio target +keywords: [epinio, kubernetes, epinio target] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-target] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio target + +Targets an epinio-controlled namespace. + +``` +epinio target [namespace] [flags] +``` + +### Options + +``` + -h, --help help for target +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](./epinio.md) - Epinio cli + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/epinio_version.md b/versioned_docs/version-1.13.7/references/commands/cli/epinio_version.md new file mode 100644 index 0000000000..a04a0fb313 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/epinio_version.md @@ -0,0 +1,42 @@ +--- +sidebar_label: epinio version +title: "" +description: epinio version +keywords: [epinio, kubernetes, epinio version] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-version] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio version + +Print the version number + +``` +epinio version [flags] +``` + +### Options + +``` + -h, --help help for version +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](./epinio.md) - Epinio cli + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/_category_.json b/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/_category_.json new file mode 100644 index 0000000000..32560b5dd7 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "gitconfig", + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig.md b/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig.md new file mode 100644 index 0000000000..ebe3603847 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig.md @@ -0,0 +1,50 @@ +--- +sidebar_label: epinio gitconfig +title: "" +description: epinio gitconfig +keywords: [epinio, kubernetes, epinio gitconfig] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-gitconfig] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio gitconfig + +Epinio git configuration management + +### Synopsis + +Manage git configurations + +``` +epinio gitconfig [flags] +``` + +### Options + +``` + -h, --help help for gitconfig +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](../epinio.md) - Epinio cli +* [epinio gitconfig create](./epinio_gitconfig_create.md) - Creates a git configuration +* [epinio gitconfig delete](./epinio_gitconfig_delete.md) - Delete git configurations +* [epinio gitconfig list](./epinio_gitconfig_list.md) - Lists all git configurations +* [epinio gitconfig show](./epinio_gitconfig_show.md) - Shows the details of a git configuration + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_create.md b/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_create.md new file mode 100644 index 0000000000..8b8c90531a --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_create.md @@ -0,0 +1,49 @@ +--- +sidebar_label: epinio gitconfig create +title: "" +description: epinio gitconfig create +keywords: [epinio, kubernetes, epinio gitconfig create] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-gitconfig-create] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio gitconfig create + +Creates a git configuration + +``` +epinio gitconfig create ID URL [flags] +``` + +### Options + +``` + --cert-file string path to file holding supporting certificates + --git-provider string Git provider code [git|github|github_enterprise|gitlab|gitlab_enterprise] (default "git") + -h, --help help for create + --password string password for logging into the host + --repository string specific repository + --skip-ssl skip SSL + --user-org string user/org holding repository + --username string user name for logging into the host +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio gitconfig](./epinio_gitconfig.md) - Epinio git configuration management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_delete.md b/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_delete.md new file mode 100644 index 0000000000..9ae6bb4640 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_delete.md @@ -0,0 +1,43 @@ +--- +sidebar_label: epinio gitconfig delete +title: "" +description: epinio gitconfig delete +keywords: [epinio, kubernetes, epinio gitconfig delete] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-gitconfig-delete] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio gitconfig delete + +Delete git configurations + +``` +epinio gitconfig delete NAME [flags] +``` + +### Options + +``` + --all delete all git configurations + -h, --help help for delete +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio gitconfig](./epinio_gitconfig.md) - Epinio git configuration management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_list.md b/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_list.md new file mode 100644 index 0000000000..3221f7e5ad --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_list.md @@ -0,0 +1,42 @@ +--- +sidebar_label: epinio gitconfig list +title: "" +description: epinio gitconfig list +keywords: [epinio, kubernetes, epinio gitconfig list] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-gitconfig-list] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio gitconfig list + +Lists all git configurations + +``` +epinio gitconfig list [flags] +``` + +### Options + +``` + -h, --help help for list +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio gitconfig](./epinio_gitconfig.md) - Epinio git configuration management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_show.md b/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_show.md new file mode 100644 index 0000000000..d27bf65581 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/gitconfig/epinio_gitconfig_show.md @@ -0,0 +1,42 @@ +--- +sidebar_label: epinio gitconfig show +title: "" +description: epinio gitconfig show +keywords: [epinio, kubernetes, epinio gitconfig show] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-gitconfig-show] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio gitconfig show + +Shows the details of a git configuration + +``` +epinio gitconfig show NAME [flags] +``` + +### Options + +``` + -h, --help help for show +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio gitconfig](./epinio_gitconfig.md) - Epinio git configuration management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/namespace/_category_.json b/versioned_docs/version-1.13.7/references/commands/cli/namespace/_category_.json new file mode 100644 index 0000000000..c271f266a6 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/namespace/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "namespace", + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace.md b/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace.md new file mode 100644 index 0000000000..c0f8a2a3d0 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio namespace +title: "" +description: epinio namespace +keywords: [epinio, kubernetes, epinio namespace] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-namespace] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio namespace + +Epinio-controlled namespaces + +### Synopsis + +Manage epinio-controlled namespaces + +### Options + +``` + -h, --help help for namespace +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](../epinio.md) - Epinio cli +* [epinio namespace create](./epinio_namespace_create.md) - Creates an epinio-controlled namespace +* [epinio namespace delete](./epinio_namespace_delete.md) - Deletes an epinio-controlled namespace +* [epinio namespace list](./epinio_namespace_list.md) - Lists all epinio-controlled namespaces +* [epinio namespace show](./epinio_namespace_show.md) - Shows the details of an epinio-controlled namespace + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_create.md b/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_create.md new file mode 100644 index 0000000000..7ce755c5b5 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_create.md @@ -0,0 +1,42 @@ +--- +sidebar_label: epinio namespace create +title: "" +description: epinio namespace create +keywords: [epinio, kubernetes, epinio namespace create] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-namespace-create] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio namespace create + +Creates an epinio-controlled namespace + +``` +epinio namespace create NAME [flags] +``` + +### Options + +``` + -h, --help help for create +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio namespace](./epinio_namespace.md) - Epinio-controlled namespaces + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_delete.md b/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_delete.md new file mode 100644 index 0000000000..330734adbc --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_delete.md @@ -0,0 +1,44 @@ +--- +sidebar_label: epinio namespace delete +title: "" +description: epinio namespace delete +keywords: [epinio, kubernetes, epinio namespace delete] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-namespace-delete] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio namespace delete + +Deletes an epinio-controlled namespace + +``` +epinio namespace delete NAME [flags] +``` + +### Options + +``` + --all delete all namespaces + -f, --force force namespace deletion + -h, --help help for delete +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio namespace](./epinio_namespace.md) - Epinio-controlled namespaces + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_list.md b/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_list.md new file mode 100644 index 0000000000..a925270229 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_list.md @@ -0,0 +1,43 @@ +--- +sidebar_label: epinio namespace list +title: "" +description: epinio namespace list +keywords: [epinio, kubernetes, epinio namespace list] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-namespace-list] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio namespace list + +Lists all epinio-controlled namespaces + +``` +epinio namespace list [flags] +``` + +### Options + +``` + -h, --help help for list + -o, --output string sets output format [text|json] (default "text") +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio namespace](./epinio_namespace.md) - Epinio-controlled namespaces + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_show.md b/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_show.md new file mode 100644 index 0000000000..f32237f9ae --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/namespace/epinio_namespace_show.md @@ -0,0 +1,43 @@ +--- +sidebar_label: epinio namespace show +title: "" +description: epinio namespace show +keywords: [epinio, kubernetes, epinio namespace show] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-namespace-show] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio namespace show + +Shows the details of an epinio-controlled namespace + +``` +epinio namespace show NAME [flags] +``` + +### Options + +``` + -h, --help help for show + -o, --output string sets output format [text|json] (default "text") +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio namespace](./epinio_namespace.md) - Epinio-controlled namespaces + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/service/_category_.json b/versioned_docs/version-1.13.7/references/commands/cli/service/_category_.json new file mode 100644 index 0000000000..2824a54b70 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/service/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "service", + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service.md b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service.md new file mode 100644 index 0000000000..d4986957d5 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service.md @@ -0,0 +1,55 @@ +--- +sidebar_label: epinio service +title: "" +description: epinio service +keywords: [epinio, kubernetes, epinio service] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-service] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio service + +Epinio service management + +### Synopsis + +Manage the epinio services + +``` +epinio service [flags] +``` + +### Options + +``` + -h, --help help for service +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](../epinio.md) - Epinio cli +* [epinio service bind](./epinio_service_bind.md) - Bind a service SERVICENAME to an Epinio app APPNAME +* [epinio service catalog](./epinio_service_catalog.md) - Lists all available Epinio catalog services, or show the details of the specified one +* [epinio service create](./epinio_service_create.md) - Create a service SERVICENAME of an Epinio catalog service CATALOGSERVICENAME +* [epinio service delete](./epinio_service_delete.md) - Delete one or more services +* [epinio service list](./epinio_service_list.md) - List all the services in the targeted namespace +* [epinio service port-forward](./epinio_service_port-forward.md) - forward one or more local ports to a service SERVICENAME +* [epinio service show](./epinio_service_show.md) - Show details of a service SERVICENAME +* [epinio service unbind](./epinio_service_unbind.md) - Unbinds a service SERVICENAME from an Epinio app APPNAME +* [epinio service update](./epinio_service_update.md) - Update a service + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_bind.md b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_bind.md new file mode 100644 index 0000000000..1ed640b857 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_bind.md @@ -0,0 +1,42 @@ +--- +sidebar_label: epinio service bind +title: "" +description: epinio service bind +keywords: [epinio, kubernetes, epinio service bind] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-service-bind] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio service bind + +Bind a service SERVICENAME to an Epinio app APPNAME + +``` +epinio service bind SERVICENAME APPNAME [flags] +``` + +### Options + +``` + -h, --help help for bind +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio service](./epinio_service.md) - Epinio service management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_catalog.md b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_catalog.md new file mode 100644 index 0000000000..7c876b3c37 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_catalog.md @@ -0,0 +1,42 @@ +--- +sidebar_label: epinio service catalog +title: "" +description: epinio service catalog +keywords: [epinio, kubernetes, epinio service catalog] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-service-catalog] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio service catalog + +Lists all available Epinio catalog services, or show the details of the specified one + +``` +epinio service catalog [NAME] [flags] +``` + +### Options + +``` + -h, --help help for catalog +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio service](./epinio_service.md) - Epinio service management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_create.md b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_create.md new file mode 100644 index 0000000000..feb390408c --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_create.md @@ -0,0 +1,44 @@ +--- +sidebar_label: epinio service create +title: "" +description: epinio service create +keywords: [epinio, kubernetes, epinio service create] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-service-create] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio service create + +Create a service SERVICENAME of an Epinio catalog service CATALOGSERVICENAME + +``` +epinio service create CATALOGSERVICENAME SERVICENAME [flags] +``` + +### Options + +``` + -v, --chart-value strings chart customization to be used + -h, --help help for create + --wait Wait for deployment to complete +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio service](./epinio_service.md) - Epinio service management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_delete.md b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_delete.md new file mode 100644 index 0000000000..2e673f1637 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_delete.md @@ -0,0 +1,44 @@ +--- +sidebar_label: epinio service delete +title: "" +description: epinio service delete +keywords: [epinio, kubernetes, epinio service delete] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-service-delete] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio service delete + +Delete one or more services + +``` +epinio service delete SERVICENAME1 [SERVICENAME2 ...] [flags] +``` + +### Options + +``` + --all delete all services + -h, --help help for delete + --unbind Unbind from applications before deleting +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio service](./epinio_service.md) - Epinio service management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_list.md b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_list.md new file mode 100644 index 0000000000..32d1f3b2ab --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_list.md @@ -0,0 +1,44 @@ +--- +sidebar_label: epinio service list +title: "" +description: epinio service list +keywords: [epinio, kubernetes, epinio service list] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-service-list] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio service list + +List all the services in the targeted namespace + +``` +epinio service list [flags] +``` + +### Options + +``` + --all List all services + -h, --help help for list + -o, --output string sets output format [text|json] (default "text") +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio service](./epinio_service.md) - Epinio service management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_port-forward.md b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_port-forward.md new file mode 100644 index 0000000000..de6c91cd77 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_port-forward.md @@ -0,0 +1,43 @@ +--- +sidebar_label: epinio service port-forward +title: "" +description: epinio service port-forward +keywords: [epinio, kubernetes, epinio service port-forward] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-service-port-forward] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio service port-forward + +forward one or more local ports to a service SERVICENAME + +``` +epinio service port-forward SERVICENAME [LOCAL_PORT] [...[LOCAL_PORT_N]] [flags] +``` + +### Options + +``` + --address strings Addresses to listen on (comma separated). Only accepts IP addresses or localhost as a value. When localhost is supplied, kubectl will try to bind on both 127.0.0.1 and ::1 and will fail if neither of these addresses are available to bind. (default [localhost]) + -h, --help help for port-forward +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio service](./epinio_service.md) - Epinio service management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_show.md b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_show.md new file mode 100644 index 0000000000..946224b0b6 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_show.md @@ -0,0 +1,43 @@ +--- +sidebar_label: epinio service show +title: "" +description: epinio service show +keywords: [epinio, kubernetes, epinio service show] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-service-show] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio service show + +Show details of a service SERVICENAME + +``` +epinio service show SERVICENAME [flags] +``` + +### Options + +``` + -h, --help help for show + -o, --output string sets output format [text|json] (default "text") +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio service](./epinio_service.md) - Epinio service management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_unbind.md b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_unbind.md new file mode 100644 index 0000000000..b3ed877d07 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_unbind.md @@ -0,0 +1,42 @@ +--- +sidebar_label: epinio service unbind +title: "" +description: epinio service unbind +keywords: [epinio, kubernetes, epinio service unbind] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-service-unbind] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio service unbind + +Unbinds a service SERVICENAME from an Epinio app APPNAME + +``` +epinio service unbind SERVICENAME APPNAME [flags] +``` + +### Options + +``` + -h, --help help for unbind +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio service](./epinio_service.md) - Epinio service management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_update.md b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_update.md new file mode 100644 index 0000000000..472ddf8478 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/service/epinio_service_update.md @@ -0,0 +1,49 @@ +--- +sidebar_label: epinio service update +title: "" +description: epinio service update +keywords: [epinio, kubernetes, epinio service update] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-service-update] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio service update + +Update a service + +### Synopsis + +Update service by name and change instructions through flags. + +``` +epinio service update NAME [flags] +``` + +### Options + +``` + -h, --help help for update + -s, --set strings configuration key/value assignments to add/modify + -u, --unset strings configuration keys to remove + --wait Wait for deployment to complete +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio service](./epinio_service.md) - Epinio service management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/settings/_category_.json b/versioned_docs/version-1.13.7/references/commands/cli/settings/_category_.json new file mode 100644 index 0000000000..cdc7f02284 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/settings/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "settings", + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings.md b/versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings.md new file mode 100644 index 0000000000..2de5cae98b --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings.md @@ -0,0 +1,49 @@ +--- +sidebar_label: epinio settings +title: "" +description: epinio settings +keywords: [epinio, kubernetes, epinio settings] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-settings] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio settings + +Epinio settings management + +### Synopsis + +Manage the epinio cli settings + +``` +epinio settings [flags] +``` + +### Options + +``` + -h, --help help for settings +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio](../epinio.md) - Epinio cli +* [epinio settings colors](./epinio_settings_colors.md) - Manage colored output +* [epinio settings show](./epinio_settings_show.md) - Show the current settings +* [epinio settings update-ca](./epinio_settings_update-ca.md) - Update the api location and CA certificate + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings_colors.md b/versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings_colors.md new file mode 100644 index 0000000000..927a31b289 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings_colors.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio settings colors +title: "" +description: epinio settings colors +keywords: [epinio, kubernetes, epinio settings colors] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-settings-colors] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio settings colors + +Manage colored output + +### Synopsis + +Enable/Disable colored output + +``` +epinio settings colors BOOL [flags] +``` + +### Options + +``` + -h, --help help for colors +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio settings](./epinio_settings.md) - Epinio settings management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings_show.md b/versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings_show.md new file mode 100644 index 0000000000..17e6ea83ef --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings_show.md @@ -0,0 +1,44 @@ +--- +sidebar_label: epinio settings show +title: "" +description: epinio settings show +keywords: [epinio, kubernetes, epinio settings show] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-settings-show] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio settings show + +Show the current settings + +``` +epinio settings show [flags] +``` + +### Options + +``` + -h, --help help for show + --show-password Show hidden password + --show-token Show access token +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio settings](./epinio_settings.md) - Epinio settings management + diff --git a/versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings_update-ca.md b/versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings_update-ca.md new file mode 100644 index 0000000000..4c6fe22084 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/commands/cli/settings/epinio_settings_update-ca.md @@ -0,0 +1,46 @@ +--- +sidebar_label: epinio settings update-ca +title: "" +description: epinio settings update-ca +keywords: [epinio, kubernetes, epinio settings update-ca] +doc-type: [reference] +doc-topic: [epinio, reference, epinio-cli, epinio-settings-update-ca] +doc-persona: [epinio-developer, epinio-operator] +--- +## epinio settings update-ca + +Update the api location and CA certificate + +### Synopsis + +Update the api location and CA certificate from the current cluster + +``` +epinio settings update-ca [flags] +``` + +### Options + +``` + -h, --help help for update-ca +``` + +### Options inherited from parent commands + +``` + -H, --header stringArray Add custom header to every request executed + -c, --kubeconfig string (KUBECONFIG) path to a kubeconfig, not required in-cluster + --no-colors Suppress colorized output + --settings-file string (EPINIO_SETTINGS) set path of settings file (default "~/.config/epinio/settings.yaml") + --skip-ssl-verification (SKIP_SSL_VERIFICATION) Skip the verification of TLS certificates + --timeout-multiplier int (EPINIO_TIMEOUT_MULTIPLIER) Multiply timeouts by this factor (default 1) + --trace-file string (TRACE_FILE) Print trace messages to the specified file + --trace-level int (TRACE_LEVEL) Only print trace messages at or above this level (0 to 255, default 0, print nothing) + --trace-output string (TRACE_OUTPUT) Sets trace output format [text,json] (default "text") + --verbosity int (VERBOSITY) Only print progress messages at or above this level (0 or 1, default 0) +``` + +### SEE ALSO + +* [epinio settings](./epinio_settings.md) - Epinio settings management + diff --git a/versioned_docs/version-1.13.7/references/configurations.md b/versioned_docs/version-1.13.7/references/configurations.md new file mode 100644 index 0000000000..ee5884a3c9 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/configurations.md @@ -0,0 +1,77 @@ +--- +sidebar_label: "Configurations" +title: "" +--- + +# Configurations + +## Overview + +Configurations are, in general, external components providing some kind of configuration (sic!) to +applications, without being a direct part of the applications. + +Examples of configurations are + + - databases, + - message brokers, + - interfaces to other kinds of systems, + - etc. + +In Epinio configurations are identified by a name and the namespace they are defined in. Beyond +that they consist of a collection of arbitrarily named attributes and values, which when +consumed by an application, tell that application how to connect to and interact with that +configuration. + +Note that while there are guidelines what kind of attributes are required for the above, and +how they should be named, and what their content should be, these guidelines are outside +of the scope for Epinio. Epinio is not aware of such, and cannot validate configuration +definition against such. It will simply pass any attributes to using applications as they +are, and assumes that they are what the application requires for proper function. + +For an application to use a configuration, the configuration has to be __bound__ to the application. In +other words, the application has to be made aware of the configuration. + +Note how this constrains the lifetimes of configurations with respect to applications. A configuration +is expected to exist before a using application exists, and to only be deleted after all +using applications are gone. + +Deleting a configuration used by an application is considered an error and generally +prevented. While it can be forced it should then be expected to break the application. + +As a limitation, applications can only bind configurations defined in the same namespace as the +application itself. + +## Management + +Configurations in Epinio are managed by the [epinio configuration](./commands/cli/configuration/epinio_configuration.md) +command hierarchy. + +The connections between configurations and applications specifically are managed by the +[bind](./commands/cli/configuration/epinio_configuration_bind.md) and [unbind](./commands/cli/configuration/epinio_configuration_unbind.md) commands. + +## Application Interface + +From the point of view of an epinio-staged application, a bound configuration appears in the +application's file system as a directory under the path `/configurations`. This directory will +have the same name as the configuration and will contain a set of files holding the attributes of the +configuration. Each attribute is mapped to a file of the same name as the attribute, and this +file contains the value of the attribute. + +### Example + +To be a bit more concrete, let us assume that we have a configuration created by the command +`epinio configuration create orders host over-there port 99 user zetta password 92084dkls`. + +When an application binds that configuration several additional paths will appear in the +filesystem of that application, namely: + +| Path | Kind | Content | +| ---- | ---- | ------- | +|/configurations/orders |Directory | | +|/configurations/orders/host |File |`over-there` | +|/configurations/orders/port |File |`99` | +|/configurations/orders/user |File |`zetta` | +|/configurations/orders/password |File |`92084dkls` | + +The application can now read these files and use their content to connect to the configuration, +authenticate, and then use it. diff --git a/versioned_docs/version-1.13.7/references/customization/_category_.json b/versioned_docs/version-1.13.7/references/customization/_category_.json new file mode 100644 index 0000000000..33e9a6ec4b --- /dev/null +++ b/versioned_docs/version-1.13.7/references/customization/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Customization Points", + "position": 11, + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/references/customization/appcharts.md b/versioned_docs/version-1.13.7/references/customization/appcharts.md new file mode 100644 index 0000000000..c26fde7a9c --- /dev/null +++ b/versioned_docs/version-1.13.7/references/customization/appcharts.md @@ -0,0 +1,139 @@ +--- +title: "" +sidebar_label: "Application Charts" +--- + +# Customization point: Application Charts + +Epinio uses Application charts as templates for the structure of deployed applications, +i.e. of the kubernetes resources used to run an application image. + +An installation of Epinio provides a single standard application chart. + +If custom application charts adapted to the local environment are desired or needed please +follow the instructions on +[How to create custom application Helm charts](../../howtos/customization/create_custom_appcharts.md) +and +[How to use custom application Helm charts](../../howtos/other/using_custom_appcharts.md). + +Application charts are expected to create the following resources: + + - A `Deployment`, `StatefulSet`, or similar main controller, specifying the `Pod` and + its containers running the application image. + + - A `Service` to route web requests to the application. + + - An [Ingress](lb.md) per specified route to front the `Service`. + +:::note + +Up to version 1 Epinio allowed only `Deployment` resources as the main controller of +applications. + +::: + +:::tip + +Read the [contents of the standard application chart](https://github.com/epinio/helm-charts/tree/main/chart/application). + +::: + +# Further Expectations + +Application Charts are expected to heed the following contraints to enable their use by +Epinio: + + 1. It has to support all of the configuration values described in section + [Configuration](#configuration) below. + + 1. Pod resources have to have a number of annotations and labels for Epinio to locate + and use them, as described in section [Pods](#pods) below. + +:::note + +While a custom chart is free to support more configuration values Epinio will have no +knowledge of them, and will not use them. + +::: + +## Configuration + +All configuration fields below are provided in the `epinio` hierarchy: + +|Name |Kind |Meaning | +|--- |--- |--- | +|`appName` |string |The application's name | +|`configurations` |sequence (string) |The names of the configurations to import into the application | +|`env` |sequence (assignment) |The application's environment variables and their values | +|`imageURL` |string |A reference to the app image in Epinio's registry | +|`ingress` |string |The ingress class name to use, if any | +|`replicaCount` |integer |The desired number of instances (pods) to deploy | +|`routes` |sequence (route) |The routes (= domain+path+id) the app has to be reachable at | +|`stageID` |string |Id of the stage run which generated the app image | +|`start` |integer |Optional. The time of deployment, in nanoseconds | +|`tlsIssuer` |string |The name of the cert issuer to use for route certs | +|`username` |string |The name of the user deploying the application | +|`userConfig` |map (string -> any) |The names and values of all chart values set by the user | + +Routes are maps composed of four keys: + +|Name |Kind |Meaning | +|--- |--- |--- | +|`domain` |string |The domain of the route | +|`id` |string |A unique id to name route `Ingress` and `Certificate` resources with | +|`path` |string |The sub-path of the route, if any | +|`secret` |string |Optional. Name of a `Secret` to directly use in securing the `Ingress` | + +:::note +The [Routing Secrets](routing_secrets.md) reference explains more about the `secrets` field. +::: + +Environment assigment are maps composed of two keys: + +|Name |Kind |Meaning | +|--- |--- |--- | +|`name` |string |The name of the variable | +|`value`|string |The value of the variable | + +The user configuration map is keyed by the names of chart values set by the user, referencing the +set values. + +:::note +Please read [How to create custom application Helm charts](../../howtos/customization/create_custom_appcharts.md) +for more information about defining user-settable chart values when creating a custom app chart. + +Please read [How to use custom application Helm charts](../../howtos/other/using_custom_appcharts.md) for +more information about using user-settable chart values when deploying an application. +::: + +## Pods + +Epinio adds the following annotations to the `Pods`: + +|Annotation |Meaning | +|--- |--- | +|`app.kubernetes.io/name` |The application's name. | +|`epinio.io/start` |The time of deployment, in nanoseconds, if provided by Epinio | + +Epinio adds the following labels to the `Pods`: + +|Label |Meaning | +|--- |--- | +|`app.kubernetes.io/component` |Fixed: `application` | +|`app.kubernetes.io/created-by` |The name of the user deploying the application | +|`app.kubernetes.io/managed-by` |Fixed: `epinio` | +|`app.kubernetes.io/name` |The application's name. | +|`app.kubernetes.io/part-of` |The application's namespace | +|`epinio.io/app-container` |The name of the main Pod container, running the app image | +|`epinio.io/stage-id` |Id of the stage run which generated the app image | +|`helm.sh/chart` |Chart name and version used to deploy the application | + +:::tip + +Read the [contents of the standard application chart](https://github.com/epinio/helm-charts/tree/main/chart/application). + +::: + +# Related + + - [Routing Secrets](routing_secrets.md) diff --git a/versioned_docs/version-1.13.7/references/customization/catalog.md b/versioned_docs/version-1.13.7/references/customization/catalog.md new file mode 100644 index 0000000000..11eea35b72 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/customization/catalog.md @@ -0,0 +1,21 @@ +--- +title: "" +sidebar_label: "Service Catalog" +--- + +# Customization point: Service Catalog + +Epinio uses Services classes as templates for service instances, i.e. of the kubernetes +resources required to run a specific kind of service. + +An installation of Epinio provides five standard service classes, one each for + + 1. mysql + 2. postgresql + 3. redis + 4. rabbitmq + 5. mongodb-dev + +If custom service classes adapted to the local environment are desired or needed please +follow instructions on +[How to create a custom service](../../howtos/customization/create_custom_service.md) diff --git a/versioned_docs/version-1.13.7/references/customization/export_registries.md b/versioned_docs/version-1.13.7/references/customization/export_registries.md new file mode 100644 index 0000000000..163e8e7d35 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/customization/export_registries.md @@ -0,0 +1,92 @@ +--- +title: "" +sidebar_label: "Export Destination Registries" +--- + +# Customization point: Export Destination Registries + +Epinio uses `Export Destination Registries` (short: `EDR`) as targets for the `app export +--registry` command. With this command a users is able to export an active application to one of the +available registries, as a pair of helm chart and linked container image. + +An installation of Epinio does not provide any kind of standard destinations. + +If EDR's are desired or needed please follow the instructions on +[How to create export destination registries](../../howtos/customization/setup_export_registry.md) +and +[How to export applications to an OCI registry](../../howtos/customization/export_to_oci_registries.md) + +The remainder of this document contains the definition of EDRs. + +## Definition + +An EDR is defined by one or two kubernetes secrets, to be placed into the kubernestes cluster by the +Epinio __operator__. + +All secrets have to be placed into Epinio's system namespace. +This namespace is usually named `epinio`. + +The `authentication secret` is labeled with `epinio.io/api-export-registry: "true"` and has to +contain a stringData key `.dockerconfigjson`. The value for this key is a string in JSON format: + +``` +stringData: + # certs: "" + .dockerconfigjson: |- + { + "auths": { + "(set registry host here)": { + "auth":"(set base64 encoded string of (user:password) here)", + "username":"(set the user name here)", + "password":"(set the password here)" + } + } + } +``` + +The name of the authentication secret is the symbolic name of the destination. It will be listed by +`epinio export-registries` and becomes a suitable value for the `--registry` flag of `epinio app +export`. + +The `epinio.io/registry-namespace` annotation provides Epinio with the name of the +namespace/organization in the registry to place uploaded charts and images into. + +If the authentication secret contains the optional key `certs` (as sibling to `.dockerconfigjson`) +then the value of that key is the name of the `certificate secret`. This secret has to contain a key +`tls.crt` whose value is a PEM-formatted string containing the set of additional secrets required to +securely talk to the destination registry. + +:::note +The type of the authentication secret does not matter to Epinio. +The examples use the generic type `Opaque`. +::: + +## Example authentication secret, without certificate secret + +Note the placeholders in brackets (`<...>`). `auth` is derived from the placeholders. + +``` +--- +apiVersion: v1 +kind: Secret +type: Opaque +metadata: + annotations: + epinio.io/registry-namespace: "" + labels: + epinio.io/api-export-registry: "true" + name: "" + namespace: epinio +stringData: + # certs: "" + .dockerconfigjson: |- + { + "auths": { + "registry.hub.docker.com": { + "auth":"PHVzZXI+OjxwYXNzd29yZD4=", + "username":"", + "password":"" + } + } + } +``` diff --git a/versioned_docs/version-1.13.7/references/customization/images.md b/versioned_docs/version-1.13.7/references/customization/images.md new file mode 100644 index 0000000000..bb4964cf9c --- /dev/null +++ b/versioned_docs/version-1.13.7/references/customization/images.md @@ -0,0 +1,27 @@ +--- +title: "" +sidebar_label: "Image Storage" +--- + +# Customization point: Image Storage + +Epinio's staging process saves the generated application images to a docker compatible +registry. + +By default Epinio uses the regular [docker registry](https://docs.docker.com/registry/) as +the store, as an internal component. + +To use an external docker compatible registry it is necessary to + + - Set chart key `containerregistry.enabled=false`, and + - the various registry keys, i.e. + + - `global.registryURL` + - `global.registryUsername` + - `global.registryPassword` + - `global.registryNamespace` + + to suitable values. + +__Note__ Do not confuse this registry with whatever registry is used to retrieve Epinio's +own images when Epinio is deployed. diff --git a/versioned_docs/version-1.13.7/references/customization/lb.md b/versioned_docs/version-1.13.7/references/customization/lb.md new file mode 100644 index 0000000000..7459c2b9a1 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/customization/lb.md @@ -0,0 +1,20 @@ +--- +title: "" +sidebar_label: "Load Balancers" +--- + +# Customization point: Load Balancers + +By default Epinio-created ingress resources for applications are based on the +`networking/v1` Ingress and are not tagged with a specific ingress class name. They do use +`Traefik`-specific annotations however. + +This behaviour is a combination of the main Epinio chart and the standard +[application chart](appcharts.md) it provides. + +To force the use of a specific ingress controller supporting the `networking/v1` API it is +necessary to set the chart key `server.ingressClassName` to a name recognized by the +desired controller. + +Note that custom [application charts](appcharts.md) may completely deviate from all of the +above. diff --git a/versioned_docs/version-1.13.7/references/customization/routing_secrets.md b/versioned_docs/version-1.13.7/references/customization/routing_secrets.md new file mode 100644 index 0000000000..a68b73db8b --- /dev/null +++ b/versioned_docs/version-1.13.7/references/customization/routing_secrets.md @@ -0,0 +1,34 @@ +--- +sidebar_label: "Routing Secrets" +title: "" +--- + +# Routing Secrets + +## Overview + +Routing Secrets are kubernetes Secrets of type `kubernetes.io/tls` and marked by the +presence of the label `epinio.io/routing`. Note that the value of that label is not +relevant, just its presence. + +## Usage + +Usage is automatic. When deploying an application into a namespace containing routing +secrets, and requesting a route for a domain covered by the secrets (exactly, or as +wildcard), then the application chart is passed the name of the secret to use for the +Ingress of that route. + +The matching process prefers exact matches over wildcard matches, and a shorter wildcard +over a longer one. + +## Troubleshooting Question Sheet + + 1. Is the Secret of type `kubernetes.io/tls` ? + 1. Is the Secret labeled with `epinio.io/routing` ? + 1. Is the Secret in the application's namespace ? + 1. Does the application route match the domain covered by the Secret ? + 1. If the application chart is a custom chart, does it support routing secrets ? + +## Related + + - [Application Charts](appcharts.md) diff --git a/versioned_docs/version-1.13.7/references/customization/sources.md b/versioned_docs/version-1.13.7/references/customization/sources.md new file mode 100644 index 0000000000..e03e3da02d --- /dev/null +++ b/versioned_docs/version-1.13.7/references/customization/sources.md @@ -0,0 +1,31 @@ +--- +title: "" +sidebar_label: "Source Code Storage" +--- + +# Customization point: Source Code Storage + +Epinio saves the uploaded sources of applications to be deployed to an S3 compatible +storage system. The staging process then retrieves the sources from that storage. + +By default Epinio uses [minio](https://min.io/) as the store, as an internal component. + +To use an external S3 compatible storage it is necessary to + + - Set chart key `minio.enabled=false`, and + - the various S3 connection keys, i.e. + + - `s3.endpoint` + - `s3.bucket` + - `s3.region` + - `s3.accessKeyID` + - `s3.secretAccessKey` + + to suitable values. The keys `s3.useSSL` and `s3.certificateSecret` are usually not + required. + + - Set `s3.useSSL=false` if and only if open unencrypted communication is truly desired. + + - Set `s3.certificateSecret` to the secret holding a cert if and only if the chosen + storage uses a self-signed certificate. This is not expected to be the case in + production deployments. diff --git a/versioned_docs/version-1.13.7/references/customization/staging-scripts.md b/versioned_docs/version-1.13.7/references/customization/staging-scripts.md new file mode 100644 index 0000000000..ba1b376e4d --- /dev/null +++ b/versioned_docs/version-1.13.7/references/customization/staging-scripts.md @@ -0,0 +1,122 @@ +--- +title: "Customization point: Staging scripts" +sidebar_label: "Staging scripts" +description: Using staging scripts with Epinio. +keywords: [epinio, application development, staging scripts, kubernetes] +--- + +# Customization point: Staging Scripts + +## Overview + +:::note +This customization interacts with the +[customization of buildpacks](staging.md). +::: + +Epinio uses staging scripts to interact with Paketo [Cloud Native Buildpacks](https://buildpacks.io/). + +Epinio automatically selects the set of staging scripts based on the name of the chosen builder +image, and the images supported by a specific definition. + +By default Epinio installs three definitions. + + 1. One to support Bionic-based builder images (`paketo-buildpacks/builder:*`). + 1. One to support Jammy-based builder images (`paketo-buildpacks/builder-jammy-*:*`). + 1. One to serve as fallback for any images not captured by the other two. + +It is this last definition which is configured when [customizing buildpacks](staging.md) +with a different image. + +By default this fallback is configured for Jammy-based images in general, and the +[jammy full stack paketo builder image](https://github.com/paketo-buildpacks/builder-jammy-full) +in particular + +## Specification + +A set of staging scripts is represented by a kubernetes ConfigMap resource labeled +with `app.kubernetes.io/component: epinio-staging`. + +This ConfigMap is expected to have the following keys: + +|Key |Content | +|--- |--- | +|`builder` |Glob-pattern to match the image references supported by this spec. | +|`userID` |User ID to run the `build` script with. | +|`groupID` |Group ID to run the `build` script with. | +|`env` |Standard environment for the scripts, YAML-formatted string, key/value map. | +||| +|`base` |Optional redirect to the actual ConfigMap with the scripts. | +||| +|`build` |Shell script to compile the unpacked sources into an image.
Executed using the chosen builder image | +|`downloadImage`|Container image to run the `download` script with. | +|`download` |Shell script to retrieve the app sources from the Epinio's S3 storage.
Executed using the `downloadImage` | +|`unpackImage` |Container image to run the `unpack` script with. | +|`unpack` |Shell script to unpack the app sources into a directory tree.
Executed using the `unpackImage` | + +When `base` is specified it refers to a ConfigMap which contains all the keys listed after `base`. + +If `base` and any of the keys listed after it are specified in the same resource then `base` has +priority. + +This mechanism allows the sharing of script and image data between specifications differing only in +the user/group/environment required to run the `build` script. + +:::info +User and group IDs, and general support for multiple staging scripts, was added because +the Bionic and Jammy-based builders use different numeric ids for their `cnb` user. + +Env was added as the different builders may require different values for the `CNB_PLATFORM_API` +environment variable. +::: + +### Staging script API, Download + +The `download` script is executed using the `downloadImage` and further configured +with four environment variables: + +|Name |Content | +|--- |--- | +|`PROTOCOL` |S3 storage, protocol | +|`ENDPOINT` |S3 storage, primary endpoint | +|`BUCKET` |S3 storage, name of bucket to read | +|`BLOBID` |S3 storage, blod id/name of app sources, in the bucket | + +### Staging script API, Unpack + +The `unpack` script is executed using the `unpackImage` and further configured +with a single environment variable: + +|Name |Content | +|--- |--- | +|`BLOBID` |blob id / file name of the app source archive to unpack | +|`USERID` |Numeric id of the `cnb` user used to run the `build` script | +|`GROUPID` |Numeric id of the user group used to run the `build` script | + +### Staging script API, Build + +The `build` script is executed using the using the chosen builder image and further configured with +a two environment variables: + +|Name |Content | +|--- |--- | +|`PREIMAGE` |url to the result image from a previous push | +|`APPIMAGE` |url to save the new application image under | +|`USERID` |Numeric id of the `cnb` user used to run the `build` script | +|`GROUPID` |Numeric id of the user group used to run the `build` script | + +When present the `PREIMAGE` is used by `/cnb/lifecycle/creator` as a cache for layers, +speeding up compilation. + +## Search + +Epinio determines the set of staging scripts to use by glob-matching the chosen builder image (name +__and__ tag) against the `builder` key of all found specifications and selecting the first matching. + +To ensure a deterministic search order the specifications are sorted lexicographically by name. + +The exception to the above are specifications with `builder == "*"` or `builder == ""`. These +specifications match everything and the last found is used as the fallback if and only if no other +specification matched. + +If no specification matched, and no fallback was found, staging fails. diff --git a/versioned_docs/version-1.13.7/references/customization/staging.md b/versioned_docs/version-1.13.7/references/customization/staging.md new file mode 100644 index 0000000000..910f9b3633 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/customization/staging.md @@ -0,0 +1,26 @@ +--- +title: "Customization point: Buildpacks" +sidebar_label: "Buildpacks" +description: Using buildpacks in Epinio. +keywords: [kubernetes, epinio, application development, buildpacks] +--- + +:::note +This customization interacts with the [customization of staging scripts](staging-scripts.md). +::: + +By default, Epinio's staging process uses the [jammy full stack paketo builder image](https://github.com/paketo-buildpacks/builder-jammy-full) for Paketo [Cloud Native Buildpacks](https://buildpacks.io/). +This converts application sources into deployable application images. + +To use a different builder image set the chart keys + +- `image.builder.repository` +- `image.builder.tag` +- `image.builder.userid` +- `image.builder.groupid` + +to the desired values before installation. + +To override the builder image on an individual basis use the option `--builder-image` of the [epinio push](../commands/cli/epinio_push.md) command. + +Note also the related documentation about the [supported applications](../supported_applications.md). diff --git a/versioned_docs/version-1.13.7/references/epinio-push-simple.svg b/versioned_docs/version-1.13.7/references/epinio-push-simple.svg new file mode 100644 index 0000000000..70b93a898d --- /dev/null +++ b/versioned_docs/version-1.13.7/references/epinio-push-simple.svg @@ -0,0 +1,277 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + Kubernetes + + Epinio server + + Epinio cli + + Staging Job + + buildpacks + app + + app 2 + + Traefik + + + + + + diff --git a/versioned_docs/version-1.13.7/references/git_configuration.md b/versioned_docs/version-1.13.7/references/git_configuration.md new file mode 100644 index 0000000000..9fd141050b --- /dev/null +++ b/versioned_docs/version-1.13.7/references/git_configuration.md @@ -0,0 +1,116 @@ +--- +sidebar_label: "Git Configuration" +title: "" +--- + +# Git Configuration + +## Overview + +Starting with version **1.10.0**, Epinio supports Git configurations. + +Configurations enable cloning of private repositories, disabling of SSL verification, and/or +extending verification through a custom bundle of certificates. + +This is done on a per git host (+user/org, +repository) basis. + +Management, including creation, is done through the +[epinio gitconfig](commands/cli/gitconfig/epinio_gitconfig.md) +command ensemble. + +## Matching process + +When importing from a git repository Epinio will use the most specific matching configuration, if +there is any. + +This means that a matching configuration specifying url, user/organization, and repository has +priority over matching configurations specifying only url and user/organization, or even just the +url. + +If no configuration is found then the cloning from the Git repository will run without any +customization. + +## Github/Gitlab specialities + +The public Github and Gitlab mega repositories support the use of a `PAT` (Personal Access Token) +over a plain combination of user and password. + +When using a PAT it has to be set as the password, and the user can be set to anything except empty. + +:::tip +For reference, it is useful to set it to the username used to generate the token. +::: + +## Detailed specification + +:::note +This section contains information useful to operators for debugging and inspection. +Regular users should not normally need to consult this section. +::: + +A Git configuration is a Kubernetes secret with the `epinio.io/api-git-credentials: "true"` label. + +The fields are: + +|Field |Required|Meaning | +|--- |--- |--- | +|`url` |yes | the host of the git instance | +|`provider` | | one of `github`, `gitlab`, `git`, `github_enterprise`, `gitlab_enterprise` | +|`username` | | used during the Basic Authentication | +|`password` | | used during the Basic Authentication | +|`userOrg` | | used to restrict the configuration to a specific organization/project | +|`repo` | | used to restrict the configuration to a specific repository | +|`skipSSL` | | used to skip the SSL verification | +|`certificate` | | the CA bundle to load for the SSL verification with self-signed certificates | + +All the fields, except for the URL, are optional. + +## Example: + +Invoking the commands + +```bash +cat > certfile <1 | Linux: [RKE2](../../installation/other_inst_scenarios/install_epinio_on_rke.md), [K3s](../../installation/other_inst_scenarios/install_epinio_on_k3s.md), [K3d](../../installation/other_inst_scenarios/install_epinio_on_k3d.md), [Rancher Desktop](../../installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md)
Windows, macOS: [Rancher Desktop](../../installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md) | +| CPU | 2–4 vCPUs | +| Memory | 8 GB RAM (system memory + 4 GB) | +| Storage | 10 GB Disk space (system disk + 5 GB) | + +1 Linux: x86_64, arm64 and s390x; macOS: x86_64, arm64 (Epinio CLI only); Windows: x86_64 + +### General installation requirements + +- An installed [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) CLI tool with access to the Kubernetes cluster via configured [kubeconfig](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#the-kubeconfig-environment-variable) file +- An installed [Helm](https://helm.sh/docs/intro/install/) CLI tool + +## Kubernetes requirements + +- A Kubernetes cluster v1.20-v1.28 +- An optional, but recommended, deployed [cert-manager](https://cert-manager.io/docs/installation/helm/) resources +- A deployed [metrics-server](https://github.com/kubernetes-sigs/metrics-server#installation) resources +- A deployed Ingress Controller as [Traefik](https://doc.traefik.io/traefik/getting-started/install-traefik/#use-the-helm-chart) +or [nginx-ingress](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-helm/) with `default` IngressClass set +- A deployed Persistent Volume Provisioner as [Longhorn](https://longhorn.io) +or [local-path](https://github.com/rancher/local-path-provisioner) providing a `default` StorageClass. +For preference, use access mode `ReadWriteMany` (RWX). +- _Optional_. You need an external load-balancer solution in conjunction with an Ingress controller for exposing Epinio HTTP(S) workload on the Internet. +More information [here](../../howtos/customization/provision_external_ip_for_local_kubernetes). + +### Default IngressClass + +Although there are ingress controllers that can work without the definition of a `default` IngressClass, +it's recommended to use the default IngressClass, with the annotation `ingressclass.kubernetes.io/is-default-class: "true"`. + +### Default StorageClass + +You will need a default StorageClass, with annotation `storageclass.kubernetes.io/is-default-class: "true"`. diff --git a/versioned_docs/version-1.13.7/references/system_requirements/windows.md b/versioned_docs/version-1.13.7/references/system_requirements/windows.md new file mode 100644 index 0000000000..b437fdb325 --- /dev/null +++ b/versioned_docs/version-1.13.7/references/system_requirements/windows.md @@ -0,0 +1,34 @@ +--- +sidebar_label: Windows +title: Windows installation requirements for Epinio +description: Windows installation requirements for the Epinio Kubernetes development environment. +keywords: [epinio, kubernetes, ] +doc-type: [one of how-to, explanation, tutorial, reference] +doc-topic: [root-branch] +doc-persona: [default] +--- + +## Epinio on Windows + +Epinio uses command line tools which are available on any kind of Unix platform, +but not normally on Windows. + +You need: + +- `sh` +- `sed` +- `git` + +and also: + +- `kubectl` +- `helm` + +The project recommends installing the [Git For Windows](https://gitforwindows.org/) distribution as it +provides the first three and much more. + +For `helm`, `kubectl`, and `epinio` itself you can get them from the release pages: + +- [Epinio releases](https://github.com/epinio/epinio/releases) +- [Helm releases](https://github.com/helm/helm/releases) +- [kubectl instructions](https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/) diff --git a/versioned_docs/version-1.13.7/tutorials/_category_.json b/versioned_docs/version-1.13.7/tutorials/_category_.json new file mode 100644 index 0000000000..3734a94503 --- /dev/null +++ b/versioned_docs/version-1.13.7/tutorials/_category_.json @@ -0,0 +1,5 @@ +{ + "label": "Tutorials", + "position": 3, + "collapsed": true +} diff --git a/versioned_docs/version-1.13.7/tutorials/custom_builder_go.md b/versioned_docs/version-1.13.7/tutorials/custom_builder_go.md new file mode 100644 index 0000000000..4258acc0d3 --- /dev/null +++ b/versioned_docs/version-1.13.7/tutorials/custom_builder_go.md @@ -0,0 +1,299 @@ +--- +sidebar_label: "Epinio Journey: Deploy complex applications with a custom builder image" +sidebar_position: 4 +title: "Deploying a complex application" +description: A walk-through for a more complex application deployment with Epinio. +keywords: [Epinio, kubernetes, application development, application deployment, complex application] +--- + +In this tutorial you use [Gitea](https://github.com/go-gitea/gitea) +to work through a more complex application with Epinio. + +Gitea is a self-hosted Git service, written in Go and Node.js. + +At the time of writing the Paketo Go buildpack doesn't support Node.js asset compilation, +(see [issue #671](https://github.com/paketo-buildpacks/go/issues/671)), +so you need to create a custom builder. + +The builder checks the needed Go and Node dependencies, +and executes the `make` command to build both the front end and the back end. + +The example code used during this tutorial is available in the +[example-builder-gitea](https://github.com/epinio/example-builder-gitea) repository. + +```console +git clone https://github.com/epinio/example-builder-gitea +git submodule update --init --recursive +cd example-builder-gitea +``` + +## Basic concepts and prerequisites + +Before starting, it's useful to understand the buildpacks concepts and have a few tools already installed. + +The buildpack documentation describes: + +- [stacks](https://buildpacks.io/docs/concepts/components/stack/) +- [builders](https://buildpacks.io/docs/concepts/components/builder/) +- [buildpacks](https://buildpacks.io/docs/concepts/components/buildpack/). + +You should also have [`pack`](https://buildpacks.io/docs/tools/pack/) installed, +along with `docker` and `skopeo` (to manage Open Container Initiative (OCI) artifacts). + +## Create the stack + +It's impossible to reuse the [Paketo Full Stack](https://github.com/paketo-buildpacks/bionic-full-stack) +because of a missing dependency in the `run` image. +To make it easy there is a [forked](https://github.com/epinio/bionic-full-stack) +stack and added `git` to the run packages +(see [408e949](https://github.com/epinio/bionic-full-stack/commit/408e949558a437c99858ac7bb99a8b78e78935e8)). + +:::note + +We had to fork and reuse the same stack ID so that it's possible to reuse certain Paketo buildpacks. +They would work only with these stacks +(see [buildpack.toml#L29](https://github.com/paketo-buildpacks/node-engine/blob/main/buildpack.toml#L29)). + +::: + +### Build the stack and publish the image + +To build the stack: + +```console +./stacks/bionic-full-stack/scripts/create.sh +``` + +This creates two Open Container Initiative (OCI) images in the `stacks/bionic-full-stack/build` folder: + +- build.oci +- run.oci + +From this folder you can un-tar the OCI artifacts: + +```console +cd stacks/bionic-full-stack/build +mkdir build && tar -xf build.oci -C build +mkdir run && tar -xf run.oci -C run +``` + +Use `skopeo` to copy the artifacts into the local Docker registry: + +```console +skopeo -v copy oci:build docker-daemon:ghcr.io//bionic-full-stack-build:0.1.0 +skopeo -v copy oci:run docker-daemon:ghcr.io//bionic-full-stack-run:0.1.0 +``` + +Push them to a public registry: + +```console +docker push ghcr.io//bionic-full-stack-build:0.1.0 +docker push ghcr.io//bionic-full-stack-run:0.1.0 +``` + +## Creating the `make` buildpack + +To build the Gitea application we created a `make` buildpack. + +### `bin/detect` + +During the `detect` phase of the `bin/detect` script it checks the needed dependencies. + +It checks for the existence of the Makefile: + +```bash +if [[ ! -f Makefile ]]; then + echo Makefile not found + exit 100 +fi +``` + +It writes to the `plan.toml` file that this buildpack requires Go and Node.js: + +```console +cat >> "${plan_path}" <> "${layers_dir}/launch.toml" </gitea-builder:0.1.0 --config builders/gitea-builder/builder.toml +``` + +Push it to a public registry: + +```console +docker push ghcr.io//gitea-builder:0.1.0 +``` + +## Deploy Gitea + +To deploy Gitea you can download the code from the repository, or directly refer to it. + +You need to deploy a stable release, so find the commit of the `v1.19.0` with a couple of curls: + +```console +export GITEA_VERSION=v1.19.0 +export GITEA_TAG_OBJECT_URL=$(curl -s https://api.github.com/repos/go-gitea/gitea/git/refs/tags/$GITEA_VERSION | jq -r '.object.url') +export GITEA_TAG_COMMIT_SHA=$(curl -s $GITEA_TAG_OBJECT_URL | jq -r '.object.sha') +``` + +You can now deploy Gitea with a simple `epinio push`: + +```console +epinio push --name gitea \ + --git https://github.com/go-gitea/gitea,$GITEA_TAG_COMMIT_SHA \ + --builder-image ghcr.io//gitea-builder:0.1.0 +``` + +It should be available on your cluster (that is, https://gitea.). + +### Create and bind the database + +You can go a step further, creating and binding the `mysql` database to your application: + +```console +epinio service create mysql-dev mydb +``` + +Check the status of the service: + +```console +-> % epinio service show mydb + +🚢 Showing Service... + + +✔️ Details: +| KEY | VALUE | +|-----------------|--------------------------------------------------------------------------------| +| Name | mydb | +| Created | 2023-04-04 15:56:20 +0200 CEST | +| Catalog Service | mysql-dev | +| Version | 8.0.31 | +| Status | deployed | +| Used-By | | +| Internal Routes | xcca9aa0f19a036fb6389474a7be0-mysql-headless.workspace.svc.cluster.local:3306, | +| | xcca9aa0f19a036fb6389474a7be0-mysql.workspace.svc.cluster.local:3306 | +``` + +You can use the internal route `xcca9aa0f19a036fb6389474a7be0-mysql.workspace.svc.cluster.local:3306` to reach your DB. + +Bind it to the Gitea application with `epinio service bind mydb gitea`. + +Now you check the username and passwords in the configuration: + +```console +-> % epinio configuration list + +🚢 Listing configurations +Namespace: workspace + + +✔️ Epinio Configurations: +| NAME | CREATED | TYPE | ORIGIN | APPLICATIONS | +|-------------------------------------|--------------------------------|---------|--------|--------------------------------| +| xcca9aa0f19a036fb6389474a7be0-mysql | 2023-04-04 15:56:22 +0200 CEST | service | mydb | gitea (migrate to new access | +| | | | | paths) | +``` + +And: + +```console +-> % epinio configuration show xcca9aa0f19a036fb6389474a7be0-mysql + +🚢 Configuration Details +Name: xcca9aa0f19a036fb6389474a7be0-mysql +Namespace: workspace + +🚢 +Created: 2023-04-04 15:56:22 +0200 CEST +User: +Type: service +Origin: mydb +Used-By: gitea +Siblings: + +⚠️ Attention: Migrate bound apps to new access paths +✔️ +| PARAMETER | VALUE | ACCESS PATH | +|---------------------|------------|------------------------------------------| +| mysql-password | 6oUDWVHVcv | /configurations/mydb/mysql-password | +| mysql-root-password | eG83csnOLe | /configurations/mydb/mysql-root-password | + +⚠️ Beware, the shown access paths are only available in the application's container +``` + +You can use these credential to access the database. +Access the first time Gitea configuration from your browser and fill the database fields with the host, username, and password. +The database name is `my_database`, +it's the default value for Bitnami charts that Epinio uses for its example services. diff --git a/versioned_docs/version-1.13.7/tutorials/namespace-tutorial.md b/versioned_docs/version-1.13.7/tutorials/namespace-tutorial.md new file mode 100644 index 0000000000..4bd80258d5 --- /dev/null +++ b/versioned_docs/version-1.13.7/tutorials/namespace-tutorial.md @@ -0,0 +1,123 @@ +--- +sidebar_position: 2 +title: "Namespaces" +description: Tutorial about Epinio namespaces. +keywords: [tutorial, epinio, namespaces] +--- + +This guide explores working with namespaces. +It assumes that Epinio is installed. +If you need to install, please visit +[install Epinio](docs/installation/install_epinio.md). + + +## Workflow + +Once `Epinio` is deployed, check the existence of the pre-configured namespace `workspace` with: + +``` +epinio namespace list +``` +Output: + +``` +🚢 Listing namespaces + +✔️ Epinio Namespaces: +| NAME | CREATED | APPLICATIONS | CONFIGURATIONS | +|-----------|-------------------------------|--------------|----------------| +| workspace | 2023-03-14 09:48:11 +0100 CET | | | +``` + +Create new namespaces with: +``` +epinio namespace create newnamespace +``` +Output: +``` +🚢 Creating namespace... +Name: newnamespace + +✔️ Namespace created. +``` + +You can inspect the details of a namespace: + +- creation date +- applications +- configurations + +Use the command: + +``` +epinio namespace show newnamespace +``` + +Output: +``` +🚢 Showing namespace... +Name: newnamespace + +✔️ Details: +| KEY | VALUE | +|----------------|-------------------------------| +| Name | newnamespace | +| Created | 2023-03-14 15:27:48 +0100 CET | +| Applications | | +| Configurations | | +``` + +Epinio creates the default namespace `workspace` at installation time. +The `epinio login` command sets the default namespace as the current namespace. + +To see this use: + +``` +epinio target +``` + +Output: +``` +✔️ +Currently targeted namespace: workspace +``` + +To target the namespace `newnamespace`, created earlier, for future Epinio command operation: + +``` +epinio target newnamespace +``` + +Output: +``` +🚢 Targeting namespace... +Name: newnamespace + +✔️ Namespace targeted. +``` + +Finally, delete the namespace `newnamespace`: + +``` +epinio namespace delete newnamespace +``` + +Output: +``` +You are about to delete namespace workspace and everything it includes, i.e. applications, configurations, etc. Are you sure? (y/n): y + +🚢 Deleting namespace... +Name: newnamespace + +✔️ Namespace deleted. +``` + +--- +### See also + +* [epinio namespace create](references/commands/cli/namespace/epinio_namespace_create.md) - Creates an epinio-controlled namespace +* [epinio namespace delete](references/commands/cli/namespace/epinio_namespace_delete.md) - Deletes an epinio-controlled namespace +* [epinio namespace list](references/commands/cli/namespace/epinio_namespace_list.md) - Lists all epinio-controlled namespaces +* [epinio namespace show](references/commands/cli/namespace/epinio_namespace_show.md) - Shows the details of an epinio-controlled namespace +* [epinio target](references/commands/cli/epinio_target.md) - Targets an epinio-controlled namespace. + diff --git a/versioned_docs/version-1.13.7/tutorials/quickstart.md b/versioned_docs/version-1.13.7/tutorials/quickstart.md new file mode 100644 index 0000000000..e79697a4eb --- /dev/null +++ b/versioned_docs/version-1.13.7/tutorials/quickstart.md @@ -0,0 +1,193 @@ +--- +sidebar_label: "Quickstart" +sidebar_position: 1 +title: "Quickstart" +description: Get started quickly with Epinio. +keywords: [epinio, kubernetes, quickstart, installation] +--- + +This guide helps you deploy and use Epinio, with the default options. +It's a good configuration for evaluation, or testing, +using an existing Kubernetes cluster. +For advanced Epinio deployment scenarios look at the +[installation](../installation/install_epinio.md) documentation. + +## Installation + +Check your Kubernetes environment meets the Epinio [requirements](../references/system_requirements/global.md). +You'll need both a default **StorageClass** and a default **IngressClass**. +If you don't yet have a suitable Kubernetes cluster, you can follow the [RKE2 Installation](../installation/other_inst_scenarios/install_epinio_on_rke.md) section to get started. + +### Deploy Epinio + +Run the `kubectl get nodes -o wide` command to get the `INTERNAL-IP` value of the first Kubernetes node in your cluser. +You'll use this value along with a wildcard DNS service domain +(for eg. `sslip.io`) +as the helm `global.domain` value for installing Epinio. + +:::tip + +If you use a local Kubernetes cluster, the value should be `127.0.0.1` no matter the output from the `kubectl get nodes` command above. + +::: + +#### Install cert-manager + +```bash +helm repo add jetstack https://charts.jetstack.io +helm repo update +helm upgrade --install cert-manager jetstack/cert-manager \ + --namespace cert-manager --create-namespace \ + --set crds.enabled=true +``` + +#### Install Epinio + +Then install Epinio by using `helm` as shown below. +Replace the `` placeholder with the correct IP address: + +```bash +helm repo add epinio https://epinio.github.io/helm-charts +helm repo update +helm upgrade --install epinio epinio/epinio \ + --namespace epinio --create-namespace \ + --set global.domain=.sslip.io +``` + +You can then point your browser, or Epinio, CLI at the `https://epinio..sslip.io` url. + +#### Download the Epinio CLI binary + +Install the latest Epinio CLI with `brew`: + +```bash +brew install epinio +``` + +Or, download the desired version from the Assets section of +https://github.com/epinio/epinio/releases/. + +## Deploy an application with Epinio + +### Login + +The first task after an Epinio installation is to [login](../references/commands/cli/epinio_login.md) with the `epinio` binary: + +```shell +epinio login -u admin 'https://epinio.127.0.0.1.sslip.io' + +# Trust the certificate by pressing 'y' and 'enter' +``` + +:::tip + +You may encounter an x509 error due to mismatched certificates after a restart. +You can resolve it by reloading certificates. +Us the command `epinio settings update-ca`. +It will not be necessary to log in again. + +::: + +To confirm that you're logged check the Epinio settings: + +```shell +epinio settings show +``` + +### Push an application + +#### Sample applications + +If you want to try a working application use the one inside the +[sample-app directory](https://github.com/epinio/epinio/tree/main/assets/sample-app). + +You can copy it to your system with the following commands: + +```bash +git clone https://github.com/epinio/epinio.git +cd epinio/assets/ +``` + +#### Push an application + +There are two ways to push an application: + +1. You can provide an [Application Manifest](../references/manifests.md) which has the needed configuration for the applications. + +```bash +epinio push manifest.yaml +``` + +1. You can give the configuration as parameters, in which case `--name` is required. +As the default route is used the name must be unique across all namespaces. + +```bash +epinio push --name sample --path sample-app +``` + +:::note + +The `--path` parameter is optional. +If not specified the current working directory is used. +Always check that the chosen directory has a supported application. + +::: + +You can read about the applications supported in [Epinio supported applications](../references/supported_applications.md). + +There is also information about the more advanced [git model](../explanations/advanced.md#git-pushing). + + +:::note + +For details of the `epinio push` process, read the [detailed push docs](../explanations/detailed-push-process.md). + +::: + +#### Check your application is working + +When pushing the application, a unique URL is printed on the console. +You use this to access your application. +You can get this URL again by running: + +```bash +epinio app show sample +``` + +Navigate to the "Routes" section. + +Go ahead and open the application URL in your browser! + +### List all commands + +To see a list of deployed applications, use the command: + +```bash +epinio apps list +``` + +### Delete an application + +To delete the application named "sample" run the following command: + +```bash +epinio delete sample +``` + +### Create a separate namespace + +To keep your applications separated, you can use namespaces. +Create a new namespace with this command: + +```bash +epinio namespace create newspace +``` + +To start deploying application to this new namespace you have to target it: + + +```bash +epinio target newspace +``` + +Until you target another namespace, `epinio push` deploys to `newspace`. \ No newline at end of file diff --git a/versioned_docs/version-1.13.7/tutorials/single-dev-workflow.md b/versioned_docs/version-1.13.7/tutorials/single-dev-workflow.md new file mode 100644 index 0000000000..53856a8f29 --- /dev/null +++ b/versioned_docs/version-1.13.7/tutorials/single-dev-workflow.md @@ -0,0 +1,279 @@ +--- +sidebar_label: "Epinio journey: Single developer" +sidebar_position: 3 +title: "The Epinio single developer journey" +description: How a single developer works with Epinio +keywords: [epinio, developer, development, kubernetes] +--- + +## Introduction + +The [Quickstart](./quickstart.md) gets you started, but, +as a developer, you'll want to see end-to-end workflow solutions for Epinio. +That's the aim of these "Epinio journeys", +where you'll be able to follow different use cases. + +In this tutorial, you focus on the workflow for a solo developer. +An example takes you from a bare Kubernetes deployment to a first application deployment. + +:::note + +This tutorial describes a process for an +*individual developer, working on a local machine*. +The Epinio team plans a future tutorial discussing team working processes. + +::: + +## Prerequisites + +Before you can use Epinio, you need a working Kubernetes cluster. + +As an individual developer, +you might be using a local Kubernetes cluster such as +[Rancher Desktop](https://rancherdesktop.io/) +or [k3d](https://k3d.io/). + +:::note + +There are common installation scenarios examples in the +[installation documents](../installation/install_epinio.md). + +::: + +This tutorial uses +[Rancher Desktop](../installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md) +as a local Kubernetes cluster. + +If you don't have a Kubernetes installation you can install the +[latest version](https://github.com/rancher-sandbox/rancher-desktop/releases) +of Rancher Desktop for your operating system to get started. + +### More tools + +You should install two useful tools in your system: + +- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) +for communicating with the Kubernetes cluster + +- [helm](https://helm.sh/docs/intro/install/) +for deploying Epinio Helm Charts + +Depending on the local Kubernetes cluster you installed, +these two binaries might be already installed. +For example, they're installed as part of Rancher Desktop. + +You use these two binaries for [Installation](#installation) only. +The development workflow only uses the [Epinio CLI](#cli). + +## Installation + +Once you have your local Kubernetes cluster installed and running, you can +[install Epinio](../installation/install_epinio.md). + +These are the steps for Rancher Desktop: + +```shell +kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.18.2/cert-manager.yaml + +# Wait for cert-manager to stabilize. This should take approximately +# 30 seconds depending on your Internet connection. + +helm repo add epinio https://epinio.github.io/helm-charts + +helm repo update + +helm install epinio -n epinio --create-namespace epinio/epinio --set global.domain=127.0.0.1.sslip.io +``` + +:::tip + +You can find the password needed for the [login](#login) at the end of the installation output. + +::: + +### Command line interface {#cli} + +To use a CLI with your Epinio installation, download the [Epinio CLI +binary](https://github.com/epinio/epinio/releases/latest). The binary is +available for Linux, Windows, and macOS. + +### Login + +The first task to perform after Epinio installation, is to +[log in](../references/commands/cli/epinio_login.md) with the binary you +downloaded: + +```shell +epinio login -u admin 'https://epinio.127.0.0.1.sslip.io' + +# Trust the certificate by pressing 'y' and 'enter' +``` + +:::tip + +If your local Kubernetes cluster restarts, you need to log in again with the +command `epinio login`. Epinio stays installed and the certificates are still valid. + +::: + +You can confirm that you're logged in by checking the Epinio settings: + +```shell +epinio settings show +``` + +You can also open the Epinio URL, +, in your browser and use the web +UI. + +## Deploy your application with Epinio + +Now that you have completed the installation and setup tasks, +you can use Epinio to deploy your application. + +Epinio uses [Paketo buildpacks](https://paketo.io/) +to create a container image for your application. +Then Epinio uses the image to create a container +with your application container image, +which runs on your Kubernetes cluster. +You can find more information about this in the +[detailed push process](../explanations/detailed-push-process.md#7-stage) +documentation. + +Epinio also creates a new `ingress route`, +which you use to access your application when it's deployed. + +Epinio handles the whole process, +which enables you to concentrate on your application +rather than its deployment details. + +As an example, this deploys a simple application: + +```shell +# Example code: https://github.com/epinio/example-12factor + +# Move to the source code directory. +cd /github/example-12factor + +# Deploy your application +epinio push -n mysimpleapp +``` + +At the end of the deployment output, you get the URL to use for +your application: + +```shell +Deploying application ... +.............. +🕞 Creating application resources +✔️ App is online. +Name: mysimpleapp +Namespace: workspace +Builder Image: +Routes: +1: https://mysimpleapp.127.0.0.1.sslip.io +``` + +### List the applications deployed + +If you're working on many applications, it's useful to see +their last deployment times and which URLs you use to access them. + +You can get the application's information with the following two commands: + +```shell +# List all deployed applications +epinio app list + +# Display the applications information +epinio app show mysimpleapp +``` + +### View installation logs + +For errors, you can check your staging logs. + +You can access the installation logs by running the command: + +```shell +epinio app logs --staging mysimpleapp +``` + +### View application logs + +You can access the application logs. +You might want to have real-time logs displayed to aid problem solving. + +Epinio can display the logs either statically or dynamically as follows: + +```shell +# Display logs statically +epinio app logs mysimpleapp + +# Display logs dynamically +epinio app logs --follow mysimpleapp +``` + +### Create a new `port-forward` + +As mentioned, Epinio creates a new `ingress route` for your application. +Epinio binds the route to port `443` by default. + +However, you might need to test parts of your application using different +ports. For these cases, run the following command, for example: + +```shell +epinio app port-forward mysimpleapp 8080:8080 +``` + +You have three options for specifying ports when creating a `port-forward`: + +- `8080` use the same port number for both local and remote (the same as `8080:8080`) +- `3456:8080` use specific ports +- `:8080` use a random port as the local port (the same as `:8080`) + +In this example, the `epinio` command assigns 37677 as the random local port. + +```console +$ epinio app port-forward sample :8080 + +🚢 Executing port forwarding +Namespace: workspace +Application: sample + +Forwarding from 127.0.0.1:37677 -> 8080 +Forwarding from [::1]:37677 -> 8080 +Handling connection for 37677 +``` + +For more information, see the +[port forwarding](../howtos/other/port_forwarding.md) page. + +### Scale your application + +You can add (and remove) instances of your application. +To use Epinio scaling use the following command: + +```shell +epinio app update mysimpleapp --instances 3 +``` + +After you scale your application, up or down, +you can check the status with the command: + +```shell +epinio app show mysimpleapp +``` + +## Remove your application + +Once your application is no longer needed on your Kubernetes cluster, to +free resources, you can uninstall it as follows: + +```shell +# Delete the application +epinio app delete mysimpleapp + +# List the applications to verify mysimpleapp has been deleted +epinio app list +``` diff --git a/versioned_docs/version-1.13.7/versions.md b/versioned_docs/version-1.13.7/versions.md new file mode 100644 index 0000000000..45f0090a84 --- /dev/null +++ b/versioned_docs/version-1.13.7/versions.md @@ -0,0 +1,27 @@ +--- +title: "" +--- + +# Epinio documentation versions + +### Current version (Stable) +Here you can find the documentation for current released version. + +| v1.1.0 | [Documentation](/) | [Release Notes](https://github.com/epinio/epinio/releases/tag/v1.1.0) | +| ------ | ------------------- | --------------------------------------------------------------------- | + +### Next version (Unreleased) +Here you can find the documentation for work-in-process unreleased version. + +| Next 🚧 | [Documentation](/next) | +| --------- | ------------------- | + +### Past versions (Not maintained anymore) +Here you can find documentation for previous versions of Docusaurus. + +| v1.0.0 | [Documentation](/1.0.0) | [Release Notes](https://github.com/epinio/epinio/releases/tag/v1.0.0) | +| ------ | ------------------- | --------------------------------------------------------------------- | +| v0.9.0 | [Documentation](/0.9.0) | [Release Notes](https://github.com/epinio/epinio/releases/tag/v0.9.0) | +| v0.8.0 | [Documentation](/0.8.0) | [Release Notes](https://github.com/epinio/epinio/releases/tag/v0.8.0) | +| v0.7.1 | [Documentation](/0.7.1) | [Release Notes](https://github.com/epinio/epinio/releases/tag/v0.7.1) | +| v0.6.2 | [Documentation](/0.6.2) | [Release Notes](https://github.com/epinio/epinio/releases/tag/v0.6.2) | diff --git a/versioned_sidebars/version-1.13.7-sidebars.json b/versioned_sidebars/version-1.13.7-sidebars.json new file mode 100644 index 0000000000..1fd014a287 --- /dev/null +++ b/versioned_sidebars/version-1.13.7-sidebars.json @@ -0,0 +1,8 @@ +{ + "docs": [ + { + "type": "autogenerated", + "dirName": "." + } + ] +} diff --git a/versions.json b/versions.json index 005c8d5ded..8309a67186 100644 --- a/versions.json +++ b/versions.json @@ -1,4 +1,5 @@ [ + "1.13.7", "1.13.6", "1.13.5", "1.13.0", From c6e83361e2e2e89ddeab7140cf750ca97d1235c6 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 22:28:36 +0000 Subject: [PATCH 27/43] chore: docs: update Epinio Version Information to 1.13.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- docs/installation/install_epinio_cli.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/installation/install_epinio_cli.md b/docs/installation/install_epinio_cli.md index 9a9b52321d..a9eb429a50 100644 --- a/docs/installation/install_epinio_cli.md +++ b/docs/installation/install_epinio_cli.md @@ -67,15 +67,15 @@ The following commands were tested using cosign version 2.1.1. Instead of signing all release assets, Epinio signs a file containing checksums for the release assets. From the repository you can download the three files: -- `epinio_1.13.6_checksums.txt.pem`, -- `epinio_1.13.6_checksums.txt.sig`, -- `epinio_1.13.6_checksums.txt` +- `epinio_1.13.7_checksums.txt.pem`, +- `epinio_1.13.7_checksums.txt.sig`, +- `epinio_1.13.7_checksums.txt` ``` -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.6_checksums.txt.pem -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.6_checksums.txt.sig -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.6_checksums.txt +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.7_checksums.txt.pem +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.7_checksums.txt.sig +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.7_checksums.txt ``` Once you have the three files locally, you can execute the following command @@ -84,9 +84,9 @@ Once you have the three files locally, you can execute the following command cosign verify-blob \ --certificate-identity-regexp "https://github.com/epinio/epinio" \ --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \ - --cert epinio_1.13.6_checksums.txt.pem \ - --signature epinio_1.13.6_checksums.txt.sig \ - epinio_1.13.6_checksums.txt + --cert epinio_1.13.7_checksums.txt.pem \ + --signature epinio_1.13.7_checksums.txt.sig \ + epinio_1.13.7_checksums.txt ``` A successful output looks like @@ -103,7 +103,7 @@ Before verifying the file integrity, you should first verify the checksum file s Once you’ve downloaded both the checksums and your binary, you can verify integrity by running: ``` -sha256sum --ignore-missing -c epinio_1.13.6_checksums.txt +sha256sum --ignore-missing -c epinio_1.13.7_checksums.txt ``` :::note From 8f72e32b0e02dea58edf16c36098a457b4f63a07 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 22:28:38 +0000 Subject: [PATCH 28/43] chore: docs: update Epinio Installation URL with version 1.13.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- docs/installation/install_epinio_cli.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installation/install_epinio_cli.md b/docs/installation/install_epinio_cli.md index a9eb429a50..3e99ec9c90 100644 --- a/docs/installation/install_epinio_cli.md +++ b/docs/installation/install_epinio_cli.md @@ -73,9 +73,9 @@ From the repository you can download the three files: ``` -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.7_checksums.txt.pem -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.7_checksums.txt.sig -curl -LO https://github.com/epinio/epinio/releases/download/v1.13.6/epinio_1.13.7_checksums.txt +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.7/epinio_1.13.7_checksums.txt.pem +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.7/epinio_1.13.7_checksums.txt.sig +curl -LO https://github.com/epinio/epinio/releases/download/v1.13.7/epinio_1.13.7_checksums.txt ``` Once you have the three files locally, you can execute the following command From 3b2e509fd2b4451d41e0e95175d572a6bc17e8f4 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 22:28:40 +0000 Subject: [PATCH 29/43] chore: docs: update Epinio Version Information to 1.13.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- docs/installation/install_epinio_cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/install_epinio_cli.md b/docs/installation/install_epinio_cli.md index 3e99ec9c90..3845eb61b4 100644 --- a/docs/installation/install_epinio_cli.md +++ b/docs/installation/install_epinio_cli.md @@ -121,7 +121,7 @@ Run `epinio version` to test the successful installation. ```bash > epinio version -Epinio Version: v1.13.6 +Epinio Version: v1.13.7 Go Version: go1.20 ``` From 46ab3846ea319caf9242242f56e615ded9e1f282 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 22:40:08 +0000 Subject: [PATCH 30/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index ec56e596f7..2b0e51b518 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 20b16eb9917fa2829857b218f8cd1402b1f20b89 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Fri, 2 Jan 2026 22:40:16 +0000 Subject: [PATCH 31/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 2b0e51b518..145c14ffb9 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 9f0f62841b21031d262cdcb5b1cd64313cc79a77 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Sat, 3 Jan 2026 01:42:02 +0000 Subject: [PATCH 32/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 145c14ffb9..5a5c7a73df 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From f88e136395f497d0ccb885708aa1ae8fd2016e5e Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Sat, 3 Jan 2026 01:42:05 +0000 Subject: [PATCH 33/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 5a5c7a73df..8e0a2fcf6c 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 23d2e2a44b52d2abd51cf7b049437a27894255e6 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Sat, 3 Jan 2026 12:42:16 +0000 Subject: [PATCH 34/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 8e0a2fcf6c..e351246365 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 456f1dd42ba8e5d9aecadfb28c62687b76c1b28d Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Sat, 3 Jan 2026 12:42:20 +0000 Subject: [PATCH 35/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index e351246365..eb1627ec28 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From fd8421b5f5a6788ed6c510d6bc808f2056e1cf21 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Sun, 4 Jan 2026 01:56:42 +0000 Subject: [PATCH 36/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index eb1627ec28..7687f87514 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 8d0efb979d9a896b524874ae8d4c50613e6af0a1 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Sun, 4 Jan 2026 01:56:44 +0000 Subject: [PATCH 37/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 7687f87514..58583fbf98 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 40f999fad43c6c1368ab1f04dfd54498dd10c492 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Sun, 4 Jan 2026 12:42:49 +0000 Subject: [PATCH 38/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 58583fbf98..1893ad1688 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 5f3c3392cf7541e188a3c25d2d8ae8f294d0b4ae Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Sun, 4 Jan 2026 12:42:52 +0000 Subject: [PATCH 39/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 1893ad1688..192d44b44a 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From eeed8b9e930596a1951973c27262939bbdee8668 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Mon, 5 Jan 2026 01:56:49 +0000 Subject: [PATCH 40/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 192d44b44a..9c025ea03b 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 515a38e27ee833c8aea04d61c880837d0ab2b7fd Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Mon, 5 Jan 2026 01:56:55 +0000 Subject: [PATCH 41/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 9c025ea03b..e5e8d141a8 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From dd9fb61b35eb617f09ab65f4a3af1a5784db49a9 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Mon, 5 Jan 2026 12:49:54 +0000 Subject: [PATCH 42/43] chore: Update Helm chart URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index e5e8d141a8..14e5c79620 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites From 55e402496e1e94c9f3d484cf93f31b8191d96a66 Mon Sep 17 00:00:00 2001 From: epinio-bot Date: Mon, 5 Jan 2026 12:49:56 +0000 Subject: [PATCH 43/43] chore: Update Epinio Version for EP on RD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made with ❤️️ by updatecli --- .../other_inst_scenarios/install_epinio_on_rancher_desktop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md index 14e5c79620..747c85e2a7 100644 --- a/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md +++ b/docs/installation/other_inst_scenarios/install_epinio_on_rancher_desktop.md @@ -8,7 +8,7 @@ keywords: [epinio, kubernetes, rancher, rancher desktop] This How-to uses the following versions: -* \\\\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) +* \\\\\\\\\\\\\\\[epinio helm chart 1.13.7\]\\\\\\\\\\\\\\\(https://github.com/epinio/helm-charts/releases/tag/epinio-1.13.7\) * Rancher Desktop 1.20.0 ## Rancher Desktop prerequisites