Skip to content

Commit 28f2068

Browse files
authored
Merge pull request #231 from makeplane/update-k8s-version
enhance air-gapped settings section, introducing support for multiple CA certificates
2 parents 9d97cf5 + 500f5b4 commit 28f2068

8 files changed

Lines changed: 353 additions & 168 deletions

File tree

docs/self-hosting/govern/advanced-search.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Plane uses OpenSearch to provide advanced search capabilities across your worksp
1212

1313
You'll need:
1414

15-
- An OpenSearch 2.x instance (self-hosted or managed service like AWS OpenSearch).
15+
- An OpenSearch instance running version 2.19 or later (self-hosted or managed service like AWS OpenSearch).
1616

1717
## What you get with advanced search
1818

docs/self-hosting/govern/plane-ai.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ For an overview of what Plane AI can do, see the [Plane AI](https://docs.plane.s
1414

1515
You'll need:
1616

17-
- An OpenSearch 2.x instance (self-hosted or AWS OpenSearch) configured for [advanced search](/self-hosting/govern/advanced-search).
17+
- An OpenSearch instance running version 2.19 or later (self-hosted or AWS OpenSearch) configured for [advanced search](/self-hosting/govern/advanced-search).
1818
- At least one LLM provider API key or a custom OpenAI-compatible endpoint.
1919
- At least one embedding model configured in OpenSearch.
2020

docs/self-hosting/methods/airgapped-edition-kubernetes.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,11 @@ Consider these alternatives:
8888
airgapped:
8989
enabled: true # Must be TRUE for airgapped installations
9090
# If using custom root CA for S3 storage
91-
s3SecretName: "s3-custom-ca"
92-
s3SecretKey: "s3-custom-ca.crt"
91+
s3Secrets:
92+
- name: plane-s3-ca
93+
key: s3-custom-ca.crt
94+
- name: plane-s3-ca-2
95+
key: s3-custom-ca-2.crt
9396
```
9497
9598
**Service images:**

docs/self-hosting/methods/clone-docker-images.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ Set your version and destination registry before copying images.
7676

7777
```bash
7878
# Set your Plane version
79-
export APP_RELEASE_VERSION="v2.1.0" # Replace with your desired version
79+
export APP_RELEASE_VERSION="v2.4.0" # Replace with your desired version
8080

8181
# Set your destination registry
8282
export DESTINATION_REGISTRY="your-registry.io/your-namespace"
@@ -188,7 +188,7 @@ Create a file named `copy-plane-images.sh`:
188188
set -e
189189

190190
# Configuration
191-
APP_RELEASE_VERSION="${APP_RELEASE_VERSION:-v2.1.0}"
191+
APP_RELEASE_VERSION="${APP_RELEASE_VERSION:-v2.4.0}"
192192
DESTINATION_REGISTRY="${DESTINATION_REGISTRY}"
193193

194194
if [ -z "$DESTINATION_REGISTRY" ]; then

docs/self-hosting/methods/download-config.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ curl "https://prime.plane.so/api/v2/setup/?version=<version>&airgapped=<true|fal
2020

2121
| Parameter | Required | Default | Description |
2222
| ----------- | -------- | ------- | ---------------------------------------------------------------------------- |
23-
| `version` | Yes || Release tag (e.g., `v2.4.04`) |
23+
| `version` | Yes || Release tag (e.g., `v2.4.0`) |
2424
| `airgapped` | No | `false` | Set to `true` for airgapped compose files |
2525
| `platform` | No | `amd64` | Target architecture: `amd64` or `arm64`. Only applies when `airgapped=true`. |
2626

docs/self-hosting/methods/install-methods-commercial/kubernetes.md

Lines changed: 297 additions & 150 deletions
Large diffs are not rendered by default.

docs/self-hosting/methods/kubernetes.md

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ Ensure you use use the latest Helm chart version.
3131
2. Set the following environment variables:
3232

3333
```bash
34-
PLANE_VERSION=v2.3.1
34+
PLANE_VERSION=v2.4.0
3535
```
3636

3737
```bash
3838
DOMAIN_NAME=<subdomain.domain.tld or domain.tld>
3939
```
4040

4141
::: warning
42-
When configuring the PLANE_VERSION environment variable, **do not** set it to `stable`. Always specify the latest version number (e.g., `2.3.1`). Using `stable` can lead to unexpected issues.
42+
When configuring the PLANE_VERSION environment variable, **do not** set it to `stable`. Always specify the latest version number (e.g., `2.4.0`). Using `stable` can lead to unexpected issues.
4343
:::
4444

4545
3. Add the Plane helm chart repo.
@@ -86,7 +86,7 @@ helm repo add plane https://helm.plane.so/
8686
i. Run the script below to download the `values.yaml` file and edit using any editor like Vim or Nano.
8787
8888
Make sure you set the required environment variables listed below:
89-
- `planeVersion: v2.3.1`
89+
- `planeVersion: v2.4.0`
9090
- `license.licenseDomain: <The domain you have specified to host Plane>`
9191
- `license.licenseServer: https://prime.plane.so`
9292
- `ingress.enabled: <true | false>`
@@ -113,16 +113,51 @@ helm repo add plane https://helm.plane.so/
113113
114114
| Setting | Default | Required | Description |
115115
| --------------------- | :-----------------: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
116-
| planeVersion | v2.3.1 | Yes | Specifies the version of Plane to be deployed. Copy this from prime.plane.so. |
116+
| planeVersion | v2.4.0 | Yes | Specifies the version of Plane to be deployed. Copy this from prime.plane.so. |
117117
| license.licenseDomain | 'plane.example.com' | Yes | The fully-qualified domain name (FQDN) in the format `sudomain.domain.tld` or `domain.tld` that the license is bound to. It is also attached to your `ingress` host to access Plane. |
118118
119-
#### Airgapped settings
119+
### Airgapped Settings
120120
121-
| Setting | Default | Required | Description |
122-
| ---------------------- | :-----: | :------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
123-
| airgapped.enabled | false | No | Specifies the airgapped mode the Plane API runs in. |
124-
| airgapped.s3SecretName | "" | No | Name of the Secret that contains the CA certificate (.crt). The Secret must include a data key whose filename matches the basename of `airgapped.s3SecretKey` (default: `s3-custom-ca.crt`). Used to override S3’s CA when `airgapped.enabled=true`. Applying this secret looks like: `kubectl -n plane create secret generic plane-s3-ca \ --from-file=s3-custom-ca.crt=/path/to/your/ca.crt` |
125-
| airgapped.s3SecretKey | "" | No | Key name of the secret to load the Custom Root CA from `airgapped.s3SecretName` |
121+
| Setting | Default | Required | Description |
122+
| ---------------------- | :-----: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
123+
| airgapped.enabled | false | No | Enable airgapped mode for the Plane API. |
124+
| airgapped.s3Secrets | [] | No | List of Kubernetes Secrets containing CA certificates to install. Each entry requires `name` (Secret name) and `key` (filename in the Secret). Example: `kubectl -n plane create secret generic plane-s3-ca --from-file=s3-custom-ca.crt=/path/to/ca.crt`. Supports multiple certs (e.g. S3 + internal CA). Available in v2.4.0 and later. |
125+
| airgapped.s3SecretName | "" | No | **Deprecated** <br/> Name of a single Kubernetes Secret containing the S3 CA cert. Used only when `s3Secrets` is empty. Use `s3Secrets` instead. |
126+
| airgapped.s3SecretKey | "" | No | **Deprecated** <br/> Key (filename) of the cert file inside the Secret. Used only when `s3Secrets` is empty. Set together with `airgapped.s3SecretName`. Use `s3Secrets` instead. |
127+
128+
#### CA certificate configuration (For airgapped deployments only)
129+
130+
Plane supports custom CA certificates for connecting to S3-compatible storage and other internal services in airgapped environments.
131+
132+
- **New deployments:** Use `airgapped.s3Secrets` as shown in the table above.
133+
- **Existing deployments using `s3SecretName` and `s3SecretKey`:** Your configuration still works. Migrate only if you need to use multiple CA certificates.
134+
135+
#### Migrating to the new configuration
136+
137+
:::warning
138+
Requires Plane v2.4.0 or later.
139+
:::
140+
141+
The new `s3Secrets` configuration supports multiple CA certificates, useful if you need to trust certificates from different sources (e.g., S3 endpoint CA and internal PKI). If you only need a single certificate, migration is optional.
142+
143+
To migrate:
144+
145+
1. Add your existing secret to the `s3Secrets` list:
146+
147+
```yaml
148+
airgapped:
149+
enabled: true
150+
s3Secrets:
151+
- name: plane-s3-ca # your existing s3SecretName value
152+
key: s3-custom-ca.crt # your existing s3SecretKey value
153+
154+
155+
# s3SecretName and s3SecretKey can be removed after migration
156+
```
157+
158+
2. Remove `s3SecretName` and `s3SecretKey` from your values file.
159+
160+
3. Upgrade your Helm release.
126161

127162
#### Docker Registry
128163

docs/self-hosting/methods/podman-quadlets.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Before we start, make sure you've got these covered:
4747

4848
```bash
4949
mkdir podman-quadlets
50-
curl -fsSL https://prime.plane.so/releases/v2.3.1/podman-quadlets.tar.gz -o podman-quadlets.tar.gz
50+
curl -fsSL https://prime.plane.so/releases/v2.4.0/podman-quadlets.tar.gz -o podman-quadlets.tar.gz
5151
tar -xvzf podman-quadlets.tar.gz -C podman-quadlets
5252
```
5353

0 commit comments

Comments
 (0)