Skip to content

Commit 15e8e77

Browse files
committed
Add argo_spec variable
Update internal argocd helm chart implementation
1 parent 8303efa commit 15e8e77

File tree

4 files changed

+22
-20
lines changed

4 files changed

+22
-20
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ No modules.
6464
| [aws_iam_policy_document.lb_controller](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
6565
| [aws_iam_policy_document.lb_controller_assume](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
6666
| [utils_deep_merge_yaml.argo_application_values](https://registry.terraform.io/providers/cloudposse/utils/latest/docs/data-sources/deep_merge_yaml) | data source |
67+
| [utils_deep_merge_yaml.argo_spec](https://registry.terraform.io/providers/cloudposse/utils/latest/docs/data-sources/deep_merge_yaml) | data source |
6768
| [utils_deep_merge_yaml.values](https://registry.terraform.io/providers/cloudposse/utils/latest/docs/data-sources/deep_merge_yaml) | data source |
6869

6970
## Inputs
@@ -80,6 +81,7 @@ No modules.
8081
| <a name="input_argo_info"></a> [argo\_info](#input\_argo\_info) | ArgoCD info manifest parameter | `list` | <pre>[<br> {<br> "name": "terraform",<br> "value": "true"<br> }<br>]</pre> | no |
8182
| <a name="input_argo_namespace"></a> [argo\_namespace](#input\_argo\_namespace) | Namespace to deploy ArgoCD application CRD to | `string` | `"argo"` | no |
8283
| <a name="input_argo_project"></a> [argo\_project](#input\_argo\_project) | ArgoCD Application project | `string` | `"default"` | no |
84+
| <a name="input_argo_spec"></a> [argo\_spec](#input\_argo\_spec) | ArgoCD additional spec configuration | `map` | `{}` | no |
8385
| <a name="input_argo_sync_policy"></a> [argo\_sync\_policy](#input\_argo\_sync\_policy) | ArgoCD syncPolicy manifest parameter | `map` | `{}` | no |
8486
| <a name="input_enabled"></a> [enabled](#input\_enabled) | Variable indicating whether deployment is enabled | `bool` | `true` | no |
8587
| <a name="input_helm_chart_name"></a> [helm\_chart\_name](#input\_helm\_chart\_name) | Helm chart name to be installed | `string` | `"aws-load-balancer-controller"` | no |

argo.tf

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,12 @@ locals {
2323
data "utils_deep_merge_yaml" "argo_application_values" {
2424
count = var.enabled && var.argo_application_enabled && var.argo_application_use_helm ? 1 : 0
2525
input = compact([
26-
yamlencode(local.argo_application_values),
27-
var.argo_application_values
26+
yamlencode({
27+
"spec" : local.argo_application_values
28+
}),
29+
yamlencode({
30+
"spec" : yamldecode(var.argo_application_values)
31+
})
2832
])
2933
}
3034

@@ -40,6 +44,13 @@ resource "helm_release" "argocd_application" {
4044
]
4145
}
4246

47+
data "utils_deep_merge_yaml" "argo_spec" {
48+
count = var.enabled && var.argo_application_enabled && !var.argo_application_use_helm ? 1 : 0
49+
input = compact([
50+
yamlencode(local.argo_application_values),
51+
yamlencode(var.argo_spec)
52+
])
53+
}
4354

4455
resource "kubernetes_manifest" "self" {
4556
count = var.enabled && var.argo_application_enabled && !var.argo_application_use_helm ? 1 : 0
@@ -50,6 +61,6 @@ resource "kubernetes_manifest" "self" {
5061
"name" = var.helm_release_name
5162
"namespace" = var.argo_namespace
5263
}
53-
"spec" = local.argo_application_values
64+
"spec" = yamldecode(data.utils_deep_merge_yaml.argo_spec[0].output)
5465
}
5566
}

helm/argocd-application/templates/application.yaml

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,4 @@ metadata:
55
labels:
66
{{- include "argocd_application.labels" . | nindent 4 }}
77
spec:
8-
project: {{ .Values.project }}
9-
{{ with .Values.source }}
10-
source:
11-
{{- toYaml . | nindent 4 }}
12-
{{- end }}
13-
{{ with .Values.destination }}
14-
destination:
15-
{{- toYaml . | nindent 4 }}
16-
{{- end }}
17-
{{ with .Values.syncPolicy }}
18-
syncPolicy:
19-
{{- toYaml . | nindent 4 }}
20-
{{- end }}
21-
{{ with .Values.info }}
22-
info:
23-
{{- toYaml . | nindent 4 }}
24-
{{- end }}
8+
{{ toYaml .Values.spec | nindent 2 }}

variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,11 @@ variable "argo_info" {
127127
}
128128

129129
variable "argo_sync_policy" {
130+
default = {}
130131
description = "ArgoCD syncPolicy manifest parameter"
132+
}
133+
134+
variable "argo_spec" {
131135
default = {}
136+
description = "ArgoCD additional spec configuration"
132137
}

0 commit comments

Comments
 (0)