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 5630a37cb..32c65dfdc 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: 110 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/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/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 a7c1b04a2..e541b3089 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/sensitive-configuration.md b/docs/self-hosted-appcircle/install-server/helm-chart/configuration/sensitive-configuration.md index 4786b2c11..8e90872fb 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,16 +1,18 @@ --- 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 --- 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 -To manage sensitive information such as the Appcircle initial user 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. Some settings like SMTP can be configured either through Kubernetes secrets during initial deployment or directly from the Appcircle Dashboard after installation. +To manage sensitive information such as the Appcircle initial user 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. Some settings like SMTP can be configured either through Kubernetes/Openshift secrets during initial deployment or directly from the Appcircle Dashboard after installation. :::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 +21,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 +57,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 +67,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 @@ -68,12 +100,27 @@ If you prefer to configure SMTP via Kubernetes secrets during initial deployment 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. :::tip @@ -90,6 +137,9 @@ But **keep in mind that** beforehand you should remove the relevant settings fro 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' \ @@ -99,6 +149,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 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. 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..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 @@ -1,15 +1,17 @@ --- 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 --- import NeedHelp from '@site/docs/\_need-help.mdx'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; ### 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 +20,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 +35,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 +101,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 +``` + + + + + 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 a9555b62b..13155b06f 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 @@ -563,6 +563,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 83e5b6e16..26e3f9783 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 @@ -530,6 +530,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/uninstallation.md b/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md index e3d8f6a47..0ae167aee 100644 --- a/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md +++ b/docs/self-hosted-appcircle/install-server/helm-chart/uninstallation.md @@ -1,11 +1,13 @@ --- 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 --- 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. @@ -15,7 +17,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 +28,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#2-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 f410e79c3..c0b2631b4 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 ---