-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4d56c36
commit a11e0c5
Showing
11 changed files
with
359 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,6 +4,72 @@ | |
|
||
This module deploys Argo Workflows, an open-source container-native workflow engine for orchestrating parallel jobs on Kubernetes. It sets up the Argo Workflows controller and server using a Helm chart, configures RBAC, and enables SSO integration for secure access to the Argo Workflows UI. | ||
|
||
```{tip} | ||
This implementation uses the official Argo Workflows Helm chart. You can find more details in the [Argo Workflows documentation](https://github.com/argoproj/argo-helm/tree/main/charts/argo-workflows). | ||
Helm values have been customized from the defaults, and common configuration needs are exposed as variables. | ||
If needed the entire helm chart can be customized by setting the `override_helm_values` variable. | ||
Additionally, there is a large amount of security roles configuration. | ||
``` | ||
|
||
### Compute Requirements | ||
|
||
For optimal performance, the following resources are recommended: | ||
- 1 CPU core | ||
- 2GB of memory | ||
|
||
Resource requirements will scale with the number and complexity of workflows being executed. | ||
|
||
```{warning} | ||
When using SSO with Google OAuth, make sure to configure the correct redirect URIs in your Google Cloud Console. The redirect URI should be `https://your-domain/oauth2/callback`. | ||
``` | ||
|
||
### Local Deployment | ||
|
||
Argo Workflows will start on port 30083 by default. | ||
|
||
### Production Considerations | ||
|
||
Argo Workflows is licensed under the Apache License 2.0, making it suitable for both personal and commercial use. | ||
|
||
### Examples | ||
|
||
```{note} | ||
All examples omit the configuration for the kubernetes provider and helm provider. You can find more information about how to configure these providers in the [usage](/usage) section. | ||
``` | ||
|
||
#### Simple | ||
```hcl | ||
module "argo_workflows" { | ||
source = "kadreio/relativistic/kubernetes//modules/argo_workflows" | ||
} | ||
``` | ||
|
||
#### With SSO | ||
```hcl | ||
module "argo_workflows" { | ||
source = "kadreio/relativistic/kubernetes//modules/argo_workflows" | ||
# Enable SSO authentication | ||
auth_mode = "sso" | ||
# Configure Google OAuth | ||
google_oauth_client_id = "your-client-id" | ||
google_oauth_client_secret = "your-client-secret" | ||
# Configure domain for SSO | ||
target_domain = "argo-workflows.yourdomain.com" | ||
# Configure allowed domains for SSO | ||
allowed_domains = ["yourdomain.com"] | ||
# Optional: Configure RBAC rule for admin access | ||
rbac_rule = "email == '[email protected]' or email == '[email protected]'" | ||
} | ||
``` | ||
|
||
### Inputs | ||
|
||
| Name | Description | Type | Default | Required | | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
module "argo_cd" { | ||
source = "kadreio/relativistic/kubernetes//modules/argo_cd" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
variable "argo_cd_chart_version" { | ||
description = "Argo CD chart version" | ||
type = string | ||
default = "7.4.3" | ||
} | ||
|
||
variable "override_helm_values" { | ||
description = "Override helm values as YAML string" | ||
type = string | ||
default = "" | ||
} | ||
|
||
variable "google_oauth_client_id" { | ||
description = "Google OAuth client ID" | ||
type = string | ||
default = "" | ||
} | ||
|
||
variable "google_oauth_client_secret" { | ||
description = "Google OAuth client secret" | ||
type = string | ||
default = "" | ||
} | ||
|
||
variable "target_domain" { | ||
description = "The url of the deployed application" | ||
type = string | ||
default = "localhost:30088" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.