generated from aws-ia/terraform-repo-template
-
Notifications
You must be signed in to change notification settings - Fork 24
/
qdrant.tf
105 lines (87 loc) · 3.97 KB
/
qdrant.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
locals {
qdrant_name = "qdrant"
qdrant_repository = "https://qdrant.github.io/qdrant-helm"
qdrant_version = "0.7.6"
qdrant_namespace = try(var.qdrant_helm_config["namespace"], local.qdrant_name)
qdrant_set_values = []
qdrant_default_values = <<-EOT
replicaCount: 3
env:
- name: QDRANT__TELEMETRY_DISABLED
value: true
service:
type: LoadBalancer
resources:
limits:
cpu: 200m
memory: 1Gi
requests:
cpu: 200m
memory: 1Gi
persistence:
storageClassName: gp2
metrics:
serviceMonitor:
enabled: true
apiKey: false
EOT
qdrant_merged_values_yaml = yamlencode(merge(
yamldecode(local.qdrant_default_values),
try(yamldecode(var.qdrant_helm_config.values[0]), {})
))
}
resource "helm_release" "qdrant" {
count = var.enable_qdrant ? 1 : 0
name = try(var.qdrant_helm_config["name"], local.qdrant_name)
repository = try(var.qdrant_helm_config["repository"], local.qdrant_repository)
chart = try(var.qdrant_helm_config["chart"], local.qdrant_name)
version = try(var.qdrant_helm_config["version"], local.qdrant_version)
timeout = try(var.qdrant_helm_config["timeout"], 300)
values = [local.qdrant_merged_values_yaml]
create_namespace = try(var.qdrant_helm_config["create_namespace"], true)
namespace = local.qdrant_namespace
lint = try(var.qdrant_helm_config["lint"], false)
description = try(var.qdrant_helm_config["description"], "")
repository_key_file = try(var.qdrant_helm_config["repository_key_file"], "")
repository_cert_file = try(var.qdrant_helm_config["repository_cert_file"], "")
repository_username = try(var.qdrant_helm_config["repository_username"], "")
repository_password = try(var.qdrant_helm_config["repository_password"], "")
verify = try(var.qdrant_helm_config["verify"], false)
keyring = try(var.qdrant_helm_config["keyring"], "")
disable_webhooks = try(var.qdrant_helm_config["disable_webhooks"], false)
reuse_values = try(var.qdrant_helm_config["reuse_values"], false)
reset_values = try(var.qdrant_helm_config["reset_values"], false)
force_update = try(var.qdrant_helm_config["force_update"], false)
recreate_pods = try(var.qdrant_helm_config["recreate_pods"], false)
cleanup_on_fail = try(var.qdrant_helm_config["cleanup_on_fail"], false)
max_history = try(var.qdrant_helm_config["max_history"], 0)
atomic = try(var.qdrant_helm_config["atomic"], false)
skip_crds = try(var.qdrant_helm_config["skip_crds"], false)
render_subchart_notes = try(var.qdrant_helm_config["render_subchart_notes"], true)
disable_openapi_validation = try(var.qdrant_helm_config["disable_openapi_validation"], false)
wait = try(var.qdrant_helm_config["wait"], true)
wait_for_jobs = try(var.qdrant_helm_config["wait_for_jobs"], false)
dependency_update = try(var.qdrant_helm_config["dependency_update"], false)
replace = try(var.qdrant_helm_config["replace"], false)
postrender {
binary_path = try(var.qdrant_helm_config["postrender"], "")
}
dynamic "set" {
iterator = each_item
for_each = distinct(concat(try(var.qdrant_helm_config.set, []), local.qdrant_set_values))
content {
name = each_item.value.name
value = each_item.value.value
type = try(each_item.value.type, null)
}
}
dynamic "set_sensitive" {
iterator = each_item
for_each = try(var.qdrant_helm_config["set_sensitive"], [])
content {
name = each_item.value.name
value = each_item.value.value
type = try(each_item.value.type, null)
}
}
}