Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BE-5194 Helm Document Updates #777

Merged
merged 26 commits into from
Jan 9, 2025
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
615b041
improved upgrade tipbox
burakberkkeskin Dec 23, 2024
aef9507
improved ssl configuration page
burakberkkeskin Dec 23, 2024
1812151
updated values.yaml table
burakberkkeskin Dec 23, 2024
a7a1321
updated version table
burakberkkeskin Dec 23, 2024
a0f7e3d
added runner information
burakberkkeskin Dec 23, 2024
2527cdf
added license secret info
burakberkkeskin Dec 23, 2024
fa26207
improved upgrade page
burakberkkeskin Dec 23, 2024
19f18aa
fix values.yaml table
burakberkkeskin Dec 23, 2024
91363dc
update Minio to MinIO
burakberkkeskin Dec 24, 2024
3006f9b
update kvs domains
burakberkkeskin Dec 24, 2024
136ae75
update mongodB to MongoDB
burakberkkeskin Dec 24, 2024
496b560
update Recaptcha to reCAPTCHA
burakberkkeskin Dec 24, 2024
b0e040d
update Zookeeper to ZooKeeper
burakberkkeskin Dec 24, 2024
6df38a9
update Zookeeper to ZooKeeper
burakberkkeskin Dec 24, 2024
6a0ceb5
update "Web Event Redis" to "WebEventRedis"
burakberkkeskin Dec 24, 2024
27535a7
added upgrade troubleshooting
burakberkkeskin Dec 25, 2024
674a0cd
detailed upgrade page
burakberkkeskin Dec 25, 2024
76130b1
add self-hosted info to custom domain
burakberkkeskin Dec 25, 2024
75fb824
added helm upgrade command to configuration docs
burakberkkeskin Dec 25, 2024
bd72668
added new nginx values
burakberkkeskin Dec 25, 2024
e135482
added ingress configuration
burakberkkeskin Dec 25, 2024
4152bd9
added ingress information
burakberkkeskin Dec 25, 2024
5b2f916
update ingress configuration
burakberkkeskin Jan 2, 2025
9797227
fixed annotations
burakberkkeskin Jan 6, 2025
bbf1a2d
fix mongodb recommended size
burakberkkeskin Jan 8, 2025
025287b
Merge branch 'develop' into feature/BE-5194
csonuryilmaz Jan 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ kubectl create secret generic appcircle-server-auth-license \
--save-config --dry-run=client -o yaml | kubectl apply -f -
```

:::info
Creating a Secret for license should be done once. Other license updates do not require repeating this step.
:::

### Updating the License

If your organization’s Appcircle server license has been updated and you need to apply the new license, you can upgrade the Appcircle server deployment using Helm:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,16 @@ By default, the Helm chart is configured for HTTP without an SSL certificate. If
Appcircle must be installed with HTTPS from the initial installation. If you initially installed Appcircle with HTTP, you will need to [uninstall](/self-hosted-appcircle/install-server/helm-chart/uninstallation) it and then reinstall it with HTTPS.
:::

## SSL Certificate Configuration

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](#create-the-tls-secret).
2. **Production**: Create a Kubernetes secret for better security and manageability by following [this section](#define-the-ssl-certificate-in-secrets).

## Define the SSL Certificate in `values.yaml`

### Define the SSL Certificate in `values.yaml`
### Initial SSL Configuration

#### Update the `values.yaml`

To configure the SSL certificate, update your `values.yaml` file with the following settings:

Expand Down Expand Up @@ -64,9 +66,19 @@ global:
...
emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
-----END CERTIFICATE-----

# Web event Redis configuration
webeventredis:
# Enable TLS for Redis connections
tls:
enabled: true
# Ingress configuration for Redis
ingress:
enabled: true
tls: true
```

#### Update the Certificate in `values.yaml`
### Updating the Certificate

To update the SSL certificate used on Appcircle server, perform the following steps to update the Helm chart and restart the required services:

Expand All @@ -91,7 +103,30 @@ kubectl rollout restart statefulset/appcircle-server-webeventredis-master -n app
kubectl rollout restart statefulset/appcircle-server-webeventredis-replicas -n appcircle
```

### Create the TLS Secret
## Define the SSL Certificate in Secrets

### Initial SSL Configuration

#### Updating the `values.yaml`

To configure the SSL certificate, update your `values.yaml` file with the following settings:

```yaml
global:
urls:
scheme: https
# Web event Redis configuration
webeventredis:
# Enable TLS for Redis connections
tls:
enabled: true
# Ingress configuration for Redis
ingress:
enabled: true
tls: true
```

#### Create the Secret

Create a secret with the name `appcircle-tls-wildcard` containing the `tls.crt`, `tls.key` and `ca.crt` keys.

Expand All @@ -114,9 +149,9 @@ kubectl create secret generic appcircle-tls-wildcard \
-n appcircle
```

#### Update the Certificate in Secret
### Updating the Certificate

To update an existing SSL certificate, use the following commands
To update an existing SSL certificate, use the following commands.

1. Update the secret with the new certificate.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,51 @@ Support:
For any issues or questions, please contact the system administrator or check the application documentation.
```

### 3. Apply the Appcircle License
### 3. Connecting Runners

When you complete installation successfully by following above steps, you're ready for your first build. :tada:

But in order to run build pipelines, you need to install and connect self-hosted runners. We have dedicated section for installation and configuration of self-hosted runners.

Follow and apply related guidelines in [here](/self-hosted-appcircle/self-hosted-runner/installation).

Self-hosted runner section in docs, has all details about runners and their configuration.

:::::caution

By default, self-hosted runner package has pre-configured `ASPNETCORE_REDIS_STREAM_ENDPOINT` and `ASPNETCORE_BASE_API_URL` for Appcircle-hosted cloud.

- `webeventredis.appcircle.io:6379,ssl=true`
csonuryilmaz marked this conversation as resolved.
Show resolved Hide resolved
- `https://api.appcircle.io/build/v1`

:point_up: You need to change these values with your self-hosted Appcircle server's Redis and API URL.

Assuming our sample scenario explained above, these values should be:

- `redis.appcircle.spacetech.com:6379,ssl=false`
- `http://api.appcircle.spacetech.com/build/v1`

for our example configuration.

:::info
If your Appcircle server is running with `HTTPS`, then Redis and API URL should be like this:

- `redis.appcircle.spacetech.com:443,ssl=true`
- `https://api.appcircle.spacetech.com/build/v1`

:::

:reminder_ribbon: After [download](/self-hosted-appcircle/self-hosted-runner/installation#1-download), open `appsettings.json` with a text editor and change the `ASPNETCORE_REDIS_STREAM_ENDPOINT` and the `ASPNETCORE_BASE_API_URL` values according to your configuration.

Please note that, you should do this before [register](/self-hosted-appcircle/self-hosted-runner/installation#2-register).

:::::

Considering system performance, it will be good to install self-hosted runners to other machines. Self-hosted Appcircle server should run on a dedicated machine itself.

You can install any number of runners regarding to your needs and connect them to self-hosted Appcircle server.

### 4. Apply the Appcircle License

When you deploy the Appcircle server using Helm, a default license is provided. You can explore the Appcircle with the default license.

Expand Down
36 changes: 34 additions & 2 deletions docs/self-hosted-appcircle/install-server/helm-chart/upgrades.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,21 @@ sidebar_position: 30

import NeedHelp from '@site/docs/\_need-help.mdx';

csonuryilmaz marked this conversation as resolved.
Show resolved Hide resolved
To **upgrade** the Appcircle server to the **latest** version and apply any configuration changes, use the following `helm upgrade` command.
To **upgrade** the Appcircle server to the **latest** version and apply any configuration changes, you can follow the sections below.

- Check the installed Helm chart and Appcircle server version.

```bash
helm list -n appcircle
```

- Update the Appcircle Helm chart repository.

```bash
helm repo update
```

- Update the Appcircle server.

```bash
helm upgrade appcircle-server appcircle/appcircle \
Expand All @@ -17,7 +31,25 @@ helm upgrade appcircle-server appcircle/appcircle \
```

csonuryilmaz marked this conversation as resolved.
Show resolved Hide resolved
:::tip
You can specify a **particular version** of the Appcircle Helm chart by adding the `--version` flag. For example, to upgrade **Helm chart version** to **`0.2.0`**, use the following command:
You can specify a **particular version** of the Appcircle Helm chart by adding the `--version` flag.

For instance, to upgrade **Appcircle Helm chart** to **specific version** and view the Appcircle server Helm chart versions that are available:

- Check the list of available versions.

```bash
helm search repo appcircle
csonuryilmaz marked this conversation as resolved.
Show resolved Hide resolved
```

- The output should look like the following:

```bash
NAME CHART VERSION APP VERSION DESCRIPTION
appcircle/appcircle 0.1.0 3.23.2 A Helm chart for Kubernetes
appcircle/appcircle 0.2.0 3.25.0 A Helm chart for Kubernetes
```

- Update the Appcircle Helm chart version to `0.2.0`.
csonuryilmaz marked this conversation as resolved.
Show resolved Hide resolved

```bash
helm upgrade appcircle-server appcircle/appcircle \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ By default, the self-hosted runner package is bundled with configuration for the

:reminder_ribbon: If you're planning to use runner with the [self-hosted server](/self-hosted-appcircle/install-server/linux-package/installation/docker), you must change `ASPNETCORE_BASE_API_URL` and `ASPNETCORE_REDIS_STREAM_ENDPOINT` values in `appsettings.json` configuration file before going on.

Please refer to the details [here](/self-hosted-appcircle/install-server/linux-package/installation/docker#connecting-runners) for sample configuration changes.
For Docker installations, please refer to the details [here](/self-hosted-appcircle/install-server/linux-package/installation/docker#connecting-runners) for sample configuration changes.

For Podman installations, please refer to the details [here](/self-hosted-appcircle/install-server/linux-package/installation/podman#connecting-runners) for sample configuration changes.

For Kubernetes installations, please refer to the details [here](/self-hosted-appcircle/install-server/helm-chart/installation/kubernetes#3-connecting-runners) for sample configuration changes.
:::
Loading