Skip to content

Commit 2d770a3

Browse files
authored
Merge pull request #92 from abolfazl8131/master
feat(argocd): fix argocd models
2 parents 37e6490 + c7e5d9d commit 2d770a3

File tree

17 files changed

+270
-469
lines changed

17 files changed

+270
-469
lines changed

app/directory_generators/terraform_generator.py

Lines changed: 124 additions & 229 deletions
Large diffs are not rendered by default.

app/media/MyTerraform/.terraform/modules/modules.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

app/media/MyTerraform/main.tf

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,17 @@
11

2-
provider "aws" {
3-
region = "us-east-1"
2+
provider "argocd" {
3+
server_addr = var.argocd_instance_info["server_addr"]
4+
username = var.argocd_instance_info["username"]
5+
password = var.argocd_instance_info["password"]
6+
insecure = var.argocd_instance_info["insecure"]
47
}
58

6-
module "ec2" {
7-
source = "./modules/ec2"
9+
module "argocd" {
10+
source = "./modules/argocd"
811

9-
key_pair_create = var.key_pair_create
10-
key_pair_name = var.key_pair_name
11-
12-
security_group_create = var.security_group_create
13-
security_group_name = var.security_group_name
14-
security_group_ingress_rules = var.security_group_ingress_rules
15-
security_group_egress_rule = var.security_group_egress_rule
16-
17-
instance_create = var.instance_create
18-
instance_type = var.instance_type
19-
20-
ami_from_instance_create = var.ami_from_instance_create
21-
ami_name = var.ami_name
12+
repository_create = var.repository_create
13+
argocd_repository_info = var.argocd_repository_info
14+
application_create = var.application_create
15+
argocd_application = var.argocd_application
16+
argocd_sync_options = var.argocd_sync_options
2217
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
2+
resource "argocd_repository" "repository" {
3+
count = var.repository_create ? 1 : 0
4+
repo = var.argocd_repository_info["repo"]
5+
username = var.argocd_repository_info["username"]
6+
password = var.argocd_repository_info["password"]
7+
}
8+
9+
resource "argocd_application" "application" {
10+
count = var.application_create ? 1 : 0
11+
depends_on = [argocd_repository.repository]
12+
13+
metadata {
14+
name = var.argocd_application["name"]
15+
namespace = "argocd"
16+
labels = {
17+
using_sync_policy_options = "true"
18+
}
19+
}
20+
21+
spec {
22+
destination {
23+
server = var.argocd_application["destination_server"]
24+
namespace = var.argocd_application["destination_namespace"]
25+
}
26+
source {
27+
repo_url = var.argocd_application["source_repo_url"]
28+
path = var.argocd_application["source_path"]
29+
target_revision = var.argocd_application["source_target_revision"]
30+
}
31+
sync_policy {
32+
automated {
33+
prune = true
34+
self_heal = true
35+
}
36+
sync_options = var.argocd_sync_options
37+
}
38+
}
39+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
2+
repository_create = true
3+
argocd_repository_info = {
4+
repo = "https://YOUR_REPO.git"
5+
username = "USERNAME"
6+
password = "CHANGE_ME_WITH_TOKEN"
7+
}
8+
9+
application_create = true
10+
argocd_application = {
11+
name = "APPLICATION_NAME"
12+
destination_server = "https://kubernetes.default.svc"
13+
destination_namespace = "DESTINATION_NAMESPACE"
14+
source_repo_url = "https://YOUR_REPO.git"
15+
source_path = "SOURCE_PATH"
16+
source_target_revision = "SOURCE_TARGET_REVISION"
17+
}
18+
19+
argocd_sync_options = ["CreateNamespace=true", "ApplyOutOfSyncOnly=true", "FailOnSharedResource=true"]
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
2+
variable "repository_create" {
3+
type = bool
4+
}
5+
6+
variable "argocd_repository_info" {
7+
type = map(string)
8+
}
9+
10+
variable "application_create" {
11+
type = bool
12+
}
13+
14+
variable "argocd_application" {
15+
type = map(string)
16+
}
17+
18+
variable "argocd_sync_options" {
19+
type = list(string)
20+
}

app/media/MyTerraform/modules/ec2/versions.tf renamed to app/media/MyTerraform/modules/argocd/versions.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ terraform {
33
required_version = ">= 1.0"
44

55
required_providers {
6-
aws = {
7-
source = "hashicorp/aws"
8-
version = ">= 5.20"
6+
argocd = {
7+
source = "oboukili/argocd"
8+
version = ">= 6.0.2"
99
}
1010
}
1111
}

app/media/MyTerraform/modules/ec2/main.tf

Lines changed: 0 additions & 63 deletions
This file was deleted.

app/media/MyTerraform/modules/ec2/terraform.pub

Whitespace-only changes.

app/media/MyTerraform/modules/ec2/terraform.tfvars

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)