From 590665afaf194519fa21ef41d6f75ede5be04d60 Mon Sep 17 00:00:00 2001 From: hiilhan <174327812+hiilhan@users.noreply.github.com> Date: Wed, 19 Mar 2025 14:51:37 +0300 Subject: [PATCH 01/12] helm installation, add organization id retrieval command --- .../configuration/license-configuration.md | 21 +++++++++++++++++++ .../helm-chart/installation/kubernetes.md | 2 +- .../helm-chart/installation/openshift.md | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md index c79f9cbcc..f8d3e0577 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md @@ -13,6 +13,27 @@ Appcircle server comes with a default license to let you explore the Appcircle i If you have purchased a license from the Appcircle, you can follow this documentation to apply your license. +### Retrieving the Initial Organization ID + +The initial organization ID is printed alongside the Helm output during installation. If you miss the initial output or need to retrieve the organization ID later, use the following the command: + + + + +```bash +kubectl get secret appcircle-server-auth-keycloak -n appcircle -o jsonpath="{.data.initialOrganizationId}" | base64 --decode +``` + + + + +```bash +oc get secret appcircle-server-auth-keycloak -n appcircle -o jsonpath="{.data.initialOrganizationId}" | base64 --decode +``` + + + + ### Creating a Secret for License Authentication Create a secret that contains the `cred.json` file you received from Appcircle to authenticate the Appcircle license. diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/installation/kubernetes.md b/docs/self-hosted-appcircle/install-server/helm-chart/installation/kubernetes.md index 9cee3b2bb..8dfbd6577 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/installation/kubernetes.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/installation/kubernetes.md @@ -543,6 +543,6 @@ You can install any number of runners regarding to your needs and connect them t When you deploy the Appcircle server using Helm, a default license is provided. You can explore the Appcircle with the default license. -To obtain the license you purchased, please share the initial organization ID, which is printed after the `helm` deployment command, with the Appcircle team and follow the detailed instructions available in the [Appcircle License Update](/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration) section. +To obtain the license you purchased, you need to share your initial organization ID with the Appcircle Team. The initial organization ID is printed after the `helm` deployment command during installation, or can be retrieved later with a command. Detailed instructions are available in the [Appcircle License Update](/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration) section. diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/installation/openshift.md b/docs/self-hosted-appcircle/install-server/helm-chart/installation/openshift.md index 5532ebdd4..4a84745b5 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/installation/openshift.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/installation/openshift.md @@ -512,6 +512,6 @@ You can install any number of runners regarding to your needs and connect them t When you deploy the Appcircle server using Helm, a default license is provided. You can explore the Appcircle with the default license. -To obtain the license you purchased, please share the initial organization ID, which is printed after the `helm` deployment command, with the Appcircle team and follow the detailed instructions available in the [Appcircle License Update](/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration) section. +To obtain the license you purchased, you need to share your initial organization ID with the Appcircle Team. The initial organization ID is printed after the `helm` deployment command during installation, or can be retrieved later with a command. Detailed instructions are available in the [Appcircle License Update](/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration) section. From 0aa5e3ae60269ee282a5798fcf87a2166de512b6 Mon Sep 17 00:00:00 2001 From: hiilhan <174327812+hiilhan@users.noreply.github.com> Date: Wed, 19 Mar 2025 15:19:12 +0300 Subject: [PATCH 02/12] helm license configuration, add oc variant of commands --- .../configuration/license-configuration.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md index f8d3e0577..f2b0f5891 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md @@ -42,13 +42,29 @@ Create a secret that contains the `cred.json` file you received from Appcircle t 2. Create/update the secret named **`${releaseName}-auth-license`** with the **`credentialJson`** key: + + + ```bash kubectl create secret generic appcircle-server-auth-license \ -n appcircle \ - --from-literal=credentialJson=$(cat cred.json | base64) \ + --from-literal=credentialJson="$(cat cred.json | base64)" \ --save-config --dry-run=client -o yaml | kubectl apply -f - ``` + + + +```bash +oc create secret generic appcircle-server-auth-license \ + -n appcircle \ + --from-literal=credentialJson="$(cat cred.json | base64)" \ + --save-config --dry-run=client -o yaml | oc apply -f - +``` + + + + :::info Creating a Secret for license should be done once. Other license updates do not require repeating this step. ::: From 63ec9f4a655229a2332835409aaba55c166093ae Mon Sep 17 00:00:00 2001 From: hiilhan <174327812+hiilhan@users.noreply.github.com> Date: Wed, 19 Mar 2025 15:20:45 +0300 Subject: [PATCH 03/12] import Tabs, TabItem --- .../helm-chart/configuration/license-configuration.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md index f2b0f5891..1cefc0d7e 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md @@ -6,6 +6,8 @@ sidebar_position: 50 --- import NeedHelp from '@site/docs/\_need-help.mdx'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; ## Overview From bbfa8317738be63b0d7521f4c8f08d93cb7f5ff2 Mon Sep 17 00:00:00 2001 From: hiilhan <174327812+hiilhan@users.noreply.github.com> Date: Wed, 19 Mar 2025 15:27:41 +0300 Subject: [PATCH 04/12] helm license configuration, format commands --- .../helm-chart/configuration/license-configuration.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md index 1cefc0d7e..871e3790c 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md @@ -23,14 +23,18 @@ The initial organization ID is printed alongside the Helm output during installa ```bash -kubectl get secret appcircle-server-auth-keycloak -n appcircle -o jsonpath="{.data.initialOrganizationId}" | base64 --decode +kubectl get secret appcircle-server-auth-keycloak \ + -n appcircle \ + -o jsonpath="{.data.initialOrganizationId}" | base64 --decode ``` ```bash -oc get secret appcircle-server-auth-keycloak -n appcircle -o jsonpath="{.data.initialOrganizationId}" | base64 --decode +oc get secret appcircle-server-auth-keycloak \ + -n appcircle \ + -o jsonpath="{.data.initialOrganizationId}" | base64 --decode ``` From cbcf5df3e55e9f8fb4d731143ad8efb4dc9590b5 Mon Sep 17 00:00:00 2001 From: hiilhan <174327812+hiilhan@users.noreply.github.com> Date: Wed, 19 Mar 2025 18:40:16 +0300 Subject: [PATCH 05/12] helm license configuration, update create secret commands --- .../helm-chart/configuration/license-configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md index 871e3790c..963f93bb9 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/license-configuration.md @@ -54,7 +54,7 @@ Create a secret that contains the `cred.json` file you received from Appcircle t ```bash kubectl create secret generic appcircle-server-auth-license \ -n appcircle \ - --from-literal=credentialJson="$(cat cred.json | base64)" \ + --from-literal=credentialJson="$(cat cred.json | base64 -w0)" \ --save-config --dry-run=client -o yaml | kubectl apply -f - ``` @@ -64,7 +64,7 @@ kubectl create secret generic appcircle-server-auth-license \ ```bash oc create secret generic appcircle-server-auth-license \ -n appcircle \ - --from-literal=credentialJson="$(cat cred.json | base64)" \ + --from-literal=credentialJson="$(cat cred.json | base64 -w0)" \ --save-config --dry-run=client -o yaml | oc apply -f - ``` From 4fcb02e8e5f220038d00e7431a5dc804fd5f1c11 Mon Sep 17 00:00:00 2001 From: hiilhan <174327812+hiilhan@users.noreply.github.com> Date: Fri, 28 Mar 2025 09:26:33 +0300 Subject: [PATCH 06/12] helm configuration, update upgrades, uninstallation --- .../configuration/ca-certificates.md | 2 +- .../helm-chart/uninstallation.md | 26 +++++++++++++++++-- .../install-server/helm-chart/upgrades.md | 2 +- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/ca-certificates.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/ca-certificates.md index 7240506c7..5472ca2f3 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/ca-certificates.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/ca-certificates.md @@ -1,7 +1,7 @@ --- title: Adding CA Certificates description: Learn how to configure CA license for the Appcircle Self Hosted server -tags: [self-hosted, helm, configuration, kubernetes] +tags: [self-hosted, helm, configuration, kubernetes, openshift] sidebar_position: 50 --- diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md b/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md index e3d8f6a47..a75a078f6 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md @@ -1,7 +1,7 @@ --- title: Uninstallation description: Learn how to uninstall the Appcircle server Helm chart deployment -tags: [self-hosted, helm, configuration, kubernetes] +tags: [self-hosted, helm, configuration, kubernetes, openshift] sidebar_position: 50 --- @@ -15,7 +15,10 @@ If you haven't changed the release name and namespace name while following the [ helm uninstall -n appcircle appcircle-server ``` -Helm uninstall doesn't delete the Appcircle server data stored in the persistent volumes. If you want to delete all the data of the Appcircle server, you can simply delete the namespace. +Helm uninstall doesn't delete the Appcircle server data stored in the persistent volumes. If you want to delete all the data of the Appcircle server, you can simply delete the Kubernetes namespace or the Openshift project. + + + If you haven't changed the namespace name while following the [Deploy Using Helm](/self-hosted-appcircle/install-server/helm-chart/installation/kubernetes#4-install-the-appcircle-server) section, you can run the command below to delete all data of the Appcircle server. @@ -23,4 +26,23 @@ If you haven't changed the namespace name while following the [Deploy Using Helm kubectl delete namespace appcircle ``` + + + + +Using the project name you specified in the [Create Project](/self-hosted-appcircle/install-server/helm-chart/installation/openshift#3-create-project) section, run the following command to delete all resources of the Appcircle server. + +```bash +oc delete project appcircle +``` + +And delete the namespace of the project. + +```bash +oc delete namespace appcircle +``` + + + + diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/upgrades.md b/docs/self-hosted-appcircle/install-server/helm-chart/upgrades.md index 13fc2b621..a1f15ab7a 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/upgrades.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/upgrades.md @@ -1,7 +1,7 @@ --- title: Upgrades description: Learn how to upgrade the Appcircle server Helm chart deployment -tags: [self-hosted, helm, configuration, kubernetes] +tags: [self-hosted, helm, configuration, kubernetes, openshift] sidebar_position: 30 --- From a8a1c43f68fcddb159d825e5660abff6b4a1a120 Mon Sep 17 00:00:00 2001 From: hiilhan <174327812+hiilhan@users.noreply.github.com> Date: Thu, 3 Apr 2025 13:30:42 +0300 Subject: [PATCH 07/12] helm configuration, update storage configuration --- .../configuration/storage-configuration.md | 54 +++++++++++++++++-- 1 file changed, 50 insertions(+), 4 deletions(-) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/storage-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/storage-configuration.md index 2a7bd4df7..10296fde8 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/storage-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/storage-configuration.md @@ -1,7 +1,7 @@ --- title: Storage Configuration description: Learn how to configure the storage details of Appcircle server Helm chart for production environments -tags: [self-hosted, helm, configuration, kubernetes] +tags: [self-hosted, helm, configuration, kubernetes, openshift] sidebar_position: 30 --- @@ -9,7 +9,7 @@ import NeedHelp from '@site/docs/\_need-help.mdx'; ### Persistent Volume Configuration -Appcircle server Helm chart supports configuring storage classes and volume sizes for persistent volume claims (PVCs). If you don't specify any storage class or size, the PVCs will be created using the default storage class of your Kubernetes cluster with the default size. If you want to adjust these settings, you can specify them in the `values.yaml`. +Appcircle server Helm chart supports configuring storage classes and volume sizes for persistent volume claims (PVCs). If you don't specify any storage class or size, the PVCs will be created using the default storage class of your Kubernetes/Openshift cluster with the default size. If you want to adjust these settings, you can specify them in the `values.yaml`. :::caution The configurations for storage classes should be **done before the first deployment** and **cannot be changed later**. To modify these settings, you should **[uninstall Appcircle](/self-hosted-appcircle/install-server/helm-chart/uninstallation)** and redeploy it. @@ -18,6 +18,9 @@ The configurations for storage classes should be **done before the first deploym :::tip You can check your **default storage class** by running the following command and check the output: + + + ```bash kubectl get storageclass ``` @@ -30,7 +33,27 @@ NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 59d ``` -If the Kubernetes cluster you are deploying Appcircle server **doesn't have a default** storage class, you can **set** the storage class from `values.yaml`. +If the Kubernetes cluster you are deploying Appcircle server **doesn't have a default** storage class, you can **set** the storage class from `values.yaml`. + + + + +```bash +oc get storageclass +``` + +According to the sample output below, there is a `default` storage class. + +```output +oc get storageclass +NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE +local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 59d +``` + +If the Openshift cluster you are deploying Appcircle server **doesn't have a default** storage class, you can **set** the storage class from `values.yaml`. + + + ::: @@ -76,4 +99,27 @@ webeventredis: storageClass: nfs-client ``` - \ No newline at end of file +:::info +`nfs-client` is a custom storage class name. You can replace it with a storage class available in your cluster +::: + +You can check the updated storage configuration by running the following command: + + + + +```bash +kubectl get pvc -n appcircle +``` + + + + +```bash +oc get pvc -n appcircle +``` + + + + + From 58ab8b053c17e6ed386f2760ee6a20b2867b1c19 Mon Sep 17 00:00:00 2001 From: hiilhan <174327812+hiilhan@users.noreply.github.com> Date: Thu, 3 Apr 2025 18:30:09 +0300 Subject: [PATCH 08/12] helm configuration, update sensitive values page --- .../configuration/sensitive-configuration.md | 74 ++++++++++++++++++- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/sensitive-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/sensitive-configuration.md index e0cea7839..062516075 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/sensitive-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/sensitive-configuration.md @@ -1,7 +1,7 @@ --- title: Sensitive Values description: Learn how to configure the sensitive values for Appcircle server Helm chart -tags: [self-hosted, helm, configuration, kubernetes] +tags: [self-hosted, helm, configuration, kubernetes, openshift] sidebar_position: 40 --- @@ -10,7 +10,7 @@ import ApplyHelmConfigurationChanges from '@site/docs/self-hosted-appcircle/inst ## Secrets for Sensitive Values -To manage sensitive information such as the Appcircle initial user password, SMTP password, SSL certificates, and other secrets, it is recommended to use Kubernetes secrets. This ensures that sensitive data is stored securely and can be accessed by applications running within the cluster in a controlled manner. +To manage sensitive information such as the Appcircle initial user password, SMTP password, SSL certificates, and other secrets, it is recommended to use Kubernetes/Openshift secrets. This ensures that sensitive data is stored securely and can be accessed by applications running within the cluster in a controlled manner. :::caution The configurations for secret values should be **done before the first deployment** and **cannot be changed later**. To modify these settings, you should **[uninstall Appcircle](/self-hosted-appcircle/install-server/helm-chart/uninstallation)** and redeploy it. @@ -19,11 +19,25 @@ The configurations for secret values should be **done before the first deploymen :::info The commands below assume you have already created a namespace for Appcircle. If you haven’t yet, you can create the Appcircle namespace using the following commands: + + + ```bash # Create the namespace kubectl create namespace appcircle ``` + + + +```bash +# Create the namespace +oc create namespace appcircle +``` + + + + Make sure to replace `appcircle` with your preferred namespace name if necessary. ::: @@ -41,6 +55,9 @@ If the `HISTCONTROL` environment variable is set to `ignoreboth`, commands with In the example, **`appcircle-server`** is used as the **release name**. Make sure to replace it with your actual release name if it's different. ::: + + + ```bash kubectl create secret generic appcircle-server-auth-keycloak-passwords \ --from-literal=initialPassword=Test1234 \ @@ -48,6 +65,19 @@ kubectl create secret generic appcircle-server-auth-keycloak-passwords \ -n appcircle ``` + + + +```bash +oc create secret generic appcircle-server-auth-keycloak-passwords \ + --from-literal=initialPassword=Test1234 \ + --from-literal=adminPassword=KeycloakAdminPassword1234 \ + -n appcircle +``` + + + + - Remove the `.auth.auth-keycloak.initialPassword` and `.auth.auth-keycloak.adminPassword` keys from the `values.yaml` file if they exist. #### SMTP password @@ -58,12 +88,27 @@ kubectl create secret generic appcircle-server-auth-keycloak-passwords \ In the example, **`appcircle-server`** is used as the **release name**. Make sure to replace it with your actual release name if it's different. ::: + + + ```bash kubectl create secret generic appcircle-server-smtp \ --from-literal=password="superSecretSMTPPassword" \ -n appcircle ``` + + + +```bash +oc create secret generic appcircle-server-smtp \ + --from-literal=password="superSecretSMTPPassword" \ + -n appcircle +``` + + + + - Remove the `.global.mail.smtp.password` key from the `values.yaml` file if it exists. #### SSL certificate @@ -74,6 +119,9 @@ kubectl create secret generic appcircle-server-smtp \ The name **`appcircle-tls-wildcard`** is **reserved** and **cannot be changed**. ::: + + + ```bash kubectl create secret generic appcircle-tls-wildcard \ --from-file=tls.crt='fullchain.crt' \ @@ -83,6 +131,28 @@ kubectl create secret generic appcircle-tls-wildcard \ -n appcircle ``` + + + +```bash +# Option 1: +# oc create secret tls appcircle-tls-wildcard \ +# --cert=fullchain.crt \ +# --key=private.key \ +# -n appcircle + +# Option 2: +# oc create secret generic appcircle-tls-wildcard \ +# --from-file=tls.crt='fullchain.crt' \ +# --from-file=tls.key='private.key' \ +# --from-file=ca.crt='root-ca.crt' \ +# --type=kubernetes.io/tls \ +# -n appcircle +``` + + + + - Remove the `.global.tlsWildcard` key from the `values.yaml` file if it exists. #### Apply Configuration Changes From c0444523df2e7272a8e32f5270e68d8636fa4726 Mon Sep 17 00:00:00 2001 From: hiilhan <174327812+hiilhan@users.noreply.github.com> Date: Fri, 4 Apr 2025 09:27:55 +0300 Subject: [PATCH 09/12] helm configuration, typo --- .../install-server/helm-chart/uninstallation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md b/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md index a75a078f6..77298d17b 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md @@ -17,7 +17,7 @@ helm uninstall -n appcircle appcircle-server Helm uninstall doesn't delete the Appcircle server data stored in the persistent volumes. If you want to delete all the data of the Appcircle server, you can simply delete the Kubernetes namespace or the Openshift project. - + If you haven't changed the namespace name while following the [Deploy Using Helm](/self-hosted-appcircle/install-server/helm-chart/installation/kubernetes#4-install-the-appcircle-server) section, you can run the command below to delete all data of the Appcircle server. From dfda5426b5a172be26e200382c6638aa81eb930e Mon Sep 17 00:00:00 2001 From: hiilhan <174327812+hiilhan@users.noreply.github.com> Date: Fri, 4 Apr 2025 10:38:27 +0300 Subject: [PATCH 10/12] helm configuration, fix imports --- .../helm-chart/configuration/sensitive-configuration.md | 2 ++ .../helm-chart/configuration/storage-configuration.md | 2 ++ .../install-server/helm-chart/uninstallation.md | 2 ++ 3 files changed, 6 insertions(+) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/sensitive-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/sensitive-configuration.md index 062516075..7e64137f2 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/sensitive-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/sensitive-configuration.md @@ -7,6 +7,8 @@ sidebar_position: 40 import NeedHelp from '@site/docs/\_need-help.mdx'; import ApplyHelmConfigurationChanges from '@site/docs/self-hosted-appcircle/install-server/helm-chart/configuration/\_apply-helm-configuration-changes.mdx'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; ## Secrets for Sensitive Values diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/storage-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/storage-configuration.md index 10296fde8..2d1d014f1 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/storage-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/storage-configuration.md @@ -6,6 +6,8 @@ sidebar_position: 30 --- import NeedHelp from '@site/docs/\_need-help.mdx'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; ### Persistent Volume Configuration diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md b/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md index 77298d17b..15cc476cd 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md @@ -6,6 +6,8 @@ sidebar_position: 50 --- import NeedHelp from '@site/docs/\_need-help.mdx'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; If you want to uninstall the Appcircle server, you can just remove the Helm release from the Kubernetes cluster. From 2238cca8267d8cebcc4d5c2802b615d656d9a12d Mon Sep 17 00:00:00 2001 From: hiilhan <174327812+hiilhan@users.noreply.github.com> Date: Tue, 8 Apr 2025 14:50:32 +0300 Subject: [PATCH 11/12] helm configuration, openshift changes --- .../configuration/advanced-configuration.md | 19 +++- .../enterprise-store-configuration.md | 2 +- .../git-providers-configuration.md | 2 +- .../configuration/ldap-configuration.md | 2 +- .../configuration/ssl-configuration.md | 97 ++++++++++++++++++- 5 files changed, 116 insertions(+), 6 deletions(-) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/advanced-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/advanced-configuration.md index e24f123e2..50da00e90 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/advanced-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/advanced-configuration.md @@ -1,13 +1,15 @@ --- title: Helm Advanced Configuration description: Learn how to fully configure the Appcircle server Helm chart -tags: [self-hosted, helm, configuration, kubernetes] +tags: [self-hosted, helm, configuration, kubernetes, openhift] sidebar_position: 100 sidebar_label: Advanced Configuration --- import NeedHelp from '@site/docs/\_need-help.mdx'; import ApplyHelmConfigurationChanges from '@site/docs/self-hosted-appcircle/install-server/helm-chart/configuration/\_apply-helm-configuration-changes.mdx'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; For advanced configuration options, open the `values.yaml` file with your preferred text editor and modify the settings as needed. @@ -46,12 +48,27 @@ After updating the `values.yaml` file, create a TLS secret for the custom domain - The private key (`key`) **should not be password-protected**. ::: + + + ```bash kubectl create secret tls k8s-dist-spacetech-com-tls \ --cert=fullchain.crt \ --key=private.key ``` + + + +```bash +oc create secret tls k8s-dist-spacetech-com-tls \ +--cert=fullchain.crt \ +--key=private.key +``` + + + + ## Increase the Replica Counts With the default Helm values, the Appcircle server services being deployed with one replica. If you want to increase this number for high availability, you can do so by updating your `values.yaml` file: diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/enterprise-store-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/enterprise-store-configuration.md index 3a0588f3a..1e04dafce 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/enterprise-store-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/enterprise-store-configuration.md @@ -1,7 +1,7 @@ --- title: Enterprise App Store Customization description: Learn how to configure Enterprise App Store -tags: [self-hosted, helm, configuration, kubernetes] +tags: [self-hosted, helm, configuration, kubernetes, openshift] sidebar_position: 70 --- diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/git-providers-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/git-providers-configuration.md index 952e3ee62..69deb234b 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/git-providers-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/git-providers-configuration.md @@ -1,7 +1,7 @@ --- title: Git Providers Configuration description: Learn how to configure git providers -tags: [self-hosted, helm, configuration, kubernetes] +tags: [self-hosted, helm, configuration, kubernetes, openshift] sidebar_position: 70 --- diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/ldap-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/ldap-configuration.md index 36ad9e9b0..32c51c9be 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/ldap-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/ldap-configuration.md @@ -1,7 +1,7 @@ --- title: LDAP Configuration description: Learn how to configure LDAP configuration -tags: [self-hosted, helm, configuration, kubernetes] +tags: [self-hosted, helm, configuration, kubernetes, openshift] sidebar_position: 80 --- diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/ssl-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/ssl-configuration.md index 434fb76c7..8ff2bd31e 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/configuration/ssl-configuration.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/ssl-configuration.md @@ -1,12 +1,14 @@ --- title: Helm SSL Configuration description: Learn how to configure SSL certificate for HTTPS connections -tags: [self-hosted, helm, configuration, kubernetes] +tags: [self-hosted, helm, configuration, kubernetes, openshift] sidebar_position: 90 sidebar_label: SSL Configuration --- import NeedHelp from '@site/docs/\_need-help.mdx'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; # Overview @@ -21,7 +23,7 @@ Appcircle must be installed with HTTPS from the initial installation. If you ini You have two options for configuring SSL certificates: 1. **Trial Purposes**: Define the SSL certificate directly in the `values.yaml` by following [this section](#define-the-ssl-certificate-in-valuesyaml). -2. **Production**: Create a Kubernetes secret for better security and manageability by following [this section](#define-the-ssl-certificate-in-secrets). +2. **Production**: Create a Kubernetes/Openshift secret for better security and manageability by following [this section](#define-the-ssl-certificate-in-secrets). :::info When configuring Appcircle with HTTPS, you have the option to use self-signed or untrusted root certificates. However, if you choose to do so, it is essential to add the certificate or the root CA certificate to the trusted certificates. Failure to do this may result in connection errors. For detailed instructions about adding trusted CA certificates, refer to the [Adding Trusted CA Certificates](/self-hosted-appcircle/install-server/helm-chart/configuration/ca-certificates) documentation. @@ -97,17 +99,44 @@ helm upgrade appcircle-server appcircle/appcircle -n appcircle -f values.yaml 3. To restart the Redis service after updating the SSL certificate, you need to first filter and find the names of the stateful sets, as the names might change according to the release name. Use the following command to get the stateful sets: + + + ```bash kubectl get statefulset -n appcircle | grep webeventredis ```` + + + +```bash +oc get statefulset -n appcircle | grep webeventredis +```` + + + + 4. Restart the Redis StatefulSets to apply the changes: + + + ```bash kubectl rollout restart statefulset/appcircle-server-webeventredis-master -n appcircle kubectl rollout restart statefulset/appcircle-server-webeventredis-replicas -n appcircle ``` + + + +```bash +oc rollout restart statefulset/appcircle-server-webeventredis-master -n appcircle +oc rollout restart statefulset/appcircle-server-webeventredis-replicas -n appcircle +``` + + + + ## Define the SSL Certificate in Secrets ### Initial SSL Configuration @@ -145,6 +174,9 @@ The private key (`key`) should not be password-protected. The name **`appcircle-tls-wildcard`** is **reserved** and **cannot be changed**. ::: + + + ```bash kubectl create secret generic appcircle-tls-wildcard \ --from-file=tls.crt='fullchain.crt' \ @@ -154,12 +186,30 @@ kubectl create secret generic appcircle-tls-wildcard \ -n appcircle ``` + + + +```bash +oc create secret generic appcircle-tls-wildcard \ + --from-file=tls.crt='fullchain.crt' \ + --from-file=tls.key='private.key' \ + --from-file=ca.crt='root-ca.crt' \ + --type=kubernetes.io/tls \ + -n appcircle +``` + + + + ### Updating the Certificate To update an existing SSL certificate, use the following commands. 1. Update the secret with the new certificate. + + + ```bash kubectl create secret generic appcircle-tls-wildcard \ -n appcircle \ @@ -170,19 +220,62 @@ kubectl create secret generic appcircle-tls-wildcard \ --save-config --dry-run=client -o yaml | kubectl apply -f - ``` + + + +```bash +oc create secret generic appcircle-tls-wildcard \ + -n appcircle \ + --from-file=tls.crt='fullchain.crt' \ + --from-file=tls.key='private.key' \ + --from-file=ca.crt='root-ca.crt' \ + --type=kubernetes.io/tls \ + --save-config --dry-run=client -o yaml | oc apply -f - +``` + + + + 2. To restart the Redis service after updating the SSL certificate, you need to first filter and find the names of the stateful sets, as the names might change according to the release name. Use the following command to get the stateful sets: + + + ```bash kubectl get statefulset -n appcircle | grep webeventredis ```` + + + +```bash +oc get statefulset -n appcircle | grep webeventredis +```` + + + + 3. Restart the Redis StatefulSets to apply the changes: + + + ```bash kubectl rollout restart statefulset/appcircle-server-webeventredis-master -n appcircle kubectl rollout restart statefulset/appcircle-server-webeventredis-replicas -n appcircle ``` + + + +```bash +oc rollout restart statefulset/appcircle-server-webeventredis-master -n appcircle +oc rollout restart statefulset/appcircle-server-webeventredis-replicas -n appcircle +``` + + + + ## Final Steps Verify the SSL configuration by accessing the Appcircle server over HTTPS. From 93010c87a072126c20213086501b21bfa2133274 Mon Sep 17 00:00:00 2001 From: ilhancengiz Date: Wed, 7 Jan 2026 16:36:18 +0300 Subject: [PATCH 12/12] fix(openshift): update broken link --- .../install-server/helm-chart/uninstallation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md b/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md index 15cc476cd..0ae167aee 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md @@ -32,7 +32,7 @@ kubectl delete namespace appcircle -Using the project name you specified in the [Create Project](/self-hosted-appcircle/install-server/helm-chart/installation/openshift#3-create-project) section, run the following command to delete all resources of the Appcircle server. +Using the project name you specified in the [Create Project](/self-hosted-appcircle/install-server/helm-chart/installation/openshift#2-create-project) section, run the following command to delete all resources of the Appcircle server. ```bash oc delete project appcircle