You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+58-14Lines changed: 58 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,7 @@ This Terraform module enables CAST AI Omni functionality for a Kubernetes cluste
8
8
-**Support for GKE, EKS, and AKS**
9
9
- Installs and configures Liqo for multi-cluster networking with cloud-specific optimizations
10
10
- Deploys CAST AI Omni Agent for cluster management
11
+
-**GitOps Support**: Optional `skip_helm` parameter to manage Helm releases via GitOps tools (ArgoCD, Flux, etc.)
11
12
- Automatic extraction of network configuration from clusters (including external CIDR from Liqo)
12
13
- Support for both zonal and regional GKE clusters
13
14
- Automatic synchronization with Liqo IPAM for external CIDR allocation
@@ -32,9 +33,15 @@ This Terraform module enables CAST AI Omni functionality for a Kubernetes cluste
32
33
33
34
## What This Module Installs
34
35
35
-
1.**Liqo** - Multi-cluster networking capability for connecting edge locations
36
-
2.**CAST AI Omni Cluster Resource** - Enables Omni functionality in CAST AI
37
-
3.**CAST AI Omni Agent** - Manages cluster connectivity and operations
36
+
This module creates the necessary Kubernetes resources for CAST AI Omni:
37
+
38
+
1.**Kubernetes Namespace** (`castai-omni`) - Dedicated namespace for CAST AI Omni components
39
+
2.**Kubernetes Secret** - Contains the CAST AI API token for agent authentication
40
+
3.**CAST AI Omni Cluster Resource** - Enables Omni functionality in CAST AI
41
+
4.**CAST AI Omni Agent Helm Chart** (optional, skippable with `skip_helm = true`) - Manages cluster connectivity and operations
42
+
5.**ConfigMap with Helm Values** (created when `skip_helm = true`) - Provides Helm values for GitOps-based deployment
43
+
44
+
**Note**: When `skip_helm = true`, the module creates only the namespace, secret, ConfigMap, and CAST AI Omni cluster resource, allowing you to manage the Helm chart installation via GitOps tools like ArgoCD or Flux.
@@ -314,15 +356,16 @@ The module includes cloud-specific submodules for optimal Liqo configuration:
314
356
315
357
The module ensures proper installation order by:
316
358
317
-
1.**Liqo Installation** - Installs the Liqo Helm chart with network configuration
318
-
2.**Network Resource Readiness Check** - Waits for Liqo network resources to be ready:
319
-
- Waits for `networks.ipam.liqo.io` CRD to be established
320
-
- Waits for the external CIDR network resource to be created and populated
321
-
- Validates that the `status.cidr` field contains the external CIDR value
322
-
3.**CAST AI Omni Cluster** - Enables Omni functionality in CAST AI
323
-
4.**CAST AI Omni Agent** - Deploys the agent for cluster management
359
+
1.**Namespace and Secret Creation** - Creates the `castai-omni` namespace and API token secret
360
+
2.**CAST AI Omni Cluster** - Enables Omni functionality in CAST AI
361
+
3.**CAST AI Omni Agent Installation** (when `skip_helm = false`, default):
362
+
- Installs the CAST AI Omni Agent Helm chart with the configured values
363
+
- The agent manages cluster connectivity and operations
324
364
325
-
This ordering ensures that Liqo's IPAM system is fully initialized and the external CIDR network resource is available before proceeding with CAST AI components.
365
+
**When `skip_helm = true` (GitOps mode)**:
366
+
- Step 3 is skipped, and instead a ConfigMap (`castai-omni-helm-values`) is created
367
+
- The ConfigMap contains all necessary Helm values for manual or GitOps-based deployment
368
+
- You are responsible for installing the CAST AI Omni Agent Helm chart using your preferred deployment method
| <aname="input_liqo_chart_version"></a> [liqo\_chart\_version](#input\_liqo\_chart\_version)| Liqo helm chart version |`string`|`"v1.0.1-5"`| no |
437
+
| <aname="input_liqo_image_tag"></a> [liqo\_image\_tag](#input\_liqo\_image\_tag)| Liqo image version tag|`string`|`"v1.0.1-5"`| no |
395
438
| <aname="input_organization_id"></a> [organization\_id](#input\_organization\_id)| CAST AI organization ID |`string`| n/a | yes |
396
439
| <aname="input_pod_cidr"></a> [pod\_cidr](#input\_pod\_cidr)| Pod CIDR for network configuration |`string`| n/a | yes |
397
440
| <aname="input_reserved_subnet_cidrs"></a> [reserved\_subnet\_cidrs](#input\_reserved\_subnet\_cidrs)| List of reserved subnet CIDR's (relevant for GKE) |`list(string)`|`[]`| no |
398
441
| <aname="input_service_cidr"></a> [service\_cidr](#input\_service\_cidr)| Service CIDR for network configuration |`string`| n/a | yes |
442
+
| <aname="input_skip_helm"></a> [skip\_helm](#input\_skip\_helm)| Skip installing any helm release; allows managing helm releases using GitOps |`bool`|`false`| no |
0 commit comments