Skip to content

Commit

Permalink
refactor: Use map(string) for resources (#165)
Browse files Browse the repository at this point in the history
  • Loading branch information
lemaitre-aneo authored Aug 27, 2024
2 parents f5b8bd3 + 52ae738 commit f12c4ef
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 75 deletions.
10 changes: 5 additions & 5 deletions armonik/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,26 +93,26 @@

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_admin_gui"></a> [admin\_gui](#input\_admin\_gui) | Parameters of the admin GUI | <pre>object({<br> name = string<br> image = string<br> tag = string<br> port = number<br> limits = object({<br> cpu = string<br> memory = string<br> })<br> requests = object({<br> cpu = string<br> memory = string<br> })<br> service_type = string<br> replicas = number<br> image_pull_policy = string<br> image_pull_secrets = string<br> node_selector = any<br> })</pre> | `null` | no |
| <a name="input_admin_gui"></a> [admin\_gui](#input\_admin\_gui) | Parameters of the admin GUI | <pre>object({<br> name = string<br> image = string<br> tag = string<br> port = number<br> limits = optional(map(string))<br> requests = optional(map(string))<br> service_type = string<br> replicas = number<br> image_pull_policy = string<br> image_pull_secrets = string<br> node_selector = any<br> })</pre> | `null` | no |
| <a name="input_authentication"></a> [authentication](#input\_authentication) | Authentication behavior | <pre>object({<br> name = string<br> image = string<br> tag = string<br> image_pull_policy = string<br> image_pull_secrets = string<br> node_selector = any<br> authentication_datafile = string<br> require_authentication = bool<br> require_authorization = bool<br> })</pre> | n/a | yes |
| <a name="input_chart_name"></a> [chart\_name](#input\_chart\_name) | Name for chart | `string` | `"keda-hpa"` | no |
| <a name="input_chart_version"></a> [chart\_version](#input\_chart\_version) | Version for chart | `string` | `"0.1.0"` | no |
| <a name="input_charts_repository"></a> [charts\_repository](#input\_charts\_repository) | Path to the charts repository | `string` | `"../charts"` | no |
| <a name="input_compute_plane"></a> [compute\_plane](#input\_compute\_plane) | Parameters of the compute plane | <pre>map(object({<br> partition_data = object({<br> priority = number<br> reserved_pods = number<br> max_pods = number<br> preemption_percentage = number<br> parent_partition_ids = list(string)<br> pod_configuration = any<br> })<br> replicas = number<br> termination_grace_period_seconds = number<br> image_pull_secrets = string<br> node_selector = any<br> annotations = any<br> service_account_name = string<br> polling_agent = object({<br> image = string<br> tag = string<br> image_pull_policy = string<br> limits = object({<br> cpu = string<br> memory = string<br> })<br> requests = object({<br> cpu = string<br> memory = string<br> })<br> conf = optional(any, {})<br> })<br> worker = list(object({<br> name = string<br> image = string<br> tag = string<br> image_pull_policy = string<br> limits = object({<br> cpu = string<br> memory = string<br> })<br> requests = object({<br> cpu = string<br> memory = string<br> })<br> conf = optional(any, {})<br> }))<br> cache_config = object({<br> memory = bool<br> size_limit = string # if larger than supported, the max value for the node will be used instead<br> })<br> readiness_probe = optional(bool, false)<br> hpa = any<br> }))</pre> | n/a | yes |
| <a name="input_compute_plane"></a> [compute\_plane](#input\_compute\_plane) | Parameters of the compute plane | <pre>map(object({<br> partition_data = object({<br> priority = number<br> reserved_pods = number<br> max_pods = number<br> preemption_percentage = number<br> parent_partition_ids = list(string)<br> pod_configuration = any<br> })<br> replicas = number<br> termination_grace_period_seconds = number<br> image_pull_secrets = string<br> node_selector = any<br> annotations = any<br> service_account_name = string<br> polling_agent = object({<br> image = string<br> tag = string<br> image_pull_policy = string<br> limits = optional(map(string))<br> requests = optional(map(string))<br> conf = optional(any, {})<br> })<br> worker = list(object({<br> name = string<br> image = string<br> tag = string<br> image_pull_policy = string<br> limits = optional(map(string))<br> requests = optional(map(string))<br> conf = optional(any, {})<br> }))<br> cache_config = object({<br> memory = bool<br> size_limit = string # if larger than supported, the max value for the node will be used instead<br> })<br> readiness_probe = optional(bool, false)<br> hpa = any<br> }))</pre> | n/a | yes |
| <a name="input_configurations"></a> [configurations](#input\_configurations) | Extra configurations for the various components | <pre>object({<br> core = optional(any, [])<br> control = optional(any, [])<br> compute = optional(any, [])<br> worker = optional(any, [])<br> polling = optional(any, [])<br> log = optional(any, [])<br> metrics = optional(any, [])<br> jobs = optional(any, [])<br> })</pre> | n/a | yes |
| <a name="input_control_plane"></a> [control\_plane](#input\_control\_plane) | Parameters of the control plane | <pre>object({<br> name = string<br> service_type = string<br> replicas = number<br> image = string<br> tag = string<br> image_pull_policy = string<br> port = number<br> limits = object({<br> cpu = string<br> memory = string<br> })<br> requests = object({<br> cpu = string<br> memory = string<br> })<br> image_pull_secrets = string<br> node_selector = any<br> annotations = any<br> hpa = any<br> default_partition = string<br> service_account_name = string<br> })</pre> | n/a | yes |
| <a name="input_control_plane"></a> [control\_plane](#input\_control\_plane) | Parameters of the control plane | <pre>object({<br> name = string<br> service_type = string<br> replicas = number<br> image = string<br> tag = string<br> image_pull_policy = string<br> port = number<br> limits = optional(map(string))<br> requests = optional(map(string))<br> image_pull_secrets = string<br> node_selector = any<br> annotations = any<br> hpa = any<br> default_partition = string<br> service_account_name = string<br> })</pre> | n/a | yes |
| <a name="input_environment_description"></a> [environment\_description](#input\_environment\_description) | Description of the environment deployed | `any` | `null` | no |
| <a name="input_fluent_bit"></a> [fluent\_bit](#input\_fluent\_bit) | the fluent-bit module output | <pre>object({<br> configmaps = object({<br> envvars = string<br> config = string<br> })<br> container_name = string<br> image = string<br> is_daemonset = bool<br> tag = string<br> })</pre> | `null` | no |
| <a name="input_grafana"></a> [grafana](#input\_grafana) | the grafana module output | <pre>object({<br> host = string<br> port = string<br> url = string<br> })</pre> | `null` | no |
| <a name="input_ingress"></a> [ingress](#input\_ingress) | Parameters of the ingress controller | <pre>object({<br> name = string<br> service_type = string<br> replicas = number<br> image = string<br> tag = string<br> image_pull_policy = string<br> http_port = number<br> grpc_port = number<br> limits = object({<br> cpu = string<br> memory = string<br> })<br> requests = object({<br> cpu = string<br> memory = string<br> })<br> image_pull_secrets = string<br> node_selector = any<br> annotations = any<br> tls = bool<br> mtls = bool<br> generate_client_cert = bool<br> custom_client_ca_file = string<br> langs = optional(set(string), ["en"])<br> })</pre> | n/a | yes |
| <a name="input_ingress"></a> [ingress](#input\_ingress) | Parameters of the ingress controller | <pre>object({<br> name = string<br> service_type = string<br> replicas = number<br> image = string<br> tag = string<br> image_pull_policy = string<br> http_port = number<br> grpc_port = number<br> limits = optional(map(string))<br> requests = optional(map(string))<br> image_pull_secrets = string<br> node_selector = any<br> annotations = any<br> tls = bool<br> mtls = bool<br> generate_client_cert = bool<br> custom_client_ca_file = string<br> langs = optional(set(string), ["en"])<br> })</pre> | n/a | yes |
| <a name="input_job_partitions_in_database"></a> [job\_partitions\_in\_database](#input\_job\_partitions\_in\_database) | Job to insert partitions IDs in the database | <pre>object({<br> name = string<br> image = string<br> tag = string<br> image_pull_policy = string<br> image_pull_secrets = string<br> node_selector = any<br> annotations = any<br> })</pre> | n/a | yes |
| <a name="input_keda_chart_name"></a> [keda\_chart\_name](#input\_keda\_chart\_name) | Name of the Keda Helm chart | `string` | `"keda"` | no |
| <a name="input_logging_level"></a> [logging\_level](#input\_logging\_level) | Logging level in ArmoniK | `string` | n/a | yes |
| <a name="input_metrics"></a> [metrics](#input\_metrics) | the metrics exporter module output | <pre>object({<br> host = string<br> name = string<br> namespace = string<br> port = string<br> url = string<br> })</pre> | `null` | no |
| <a name="input_metrics_exporter"></a> [metrics\_exporter](#input\_metrics\_exporter) | Parameters of Metrics exporter | <pre>object({<br> image = string<br> tag = string<br> image_pull_policy = optional(string, "IfNotPresent")<br> image_pull_secrets = optional(string, "")<br> node_selector = optional(any, {})<br> name = optional(string, "metrics-exporter")<br> label_app = optional(string, "armonik")<br> label_service = optional(string, "metrics-exporter")<br> port_name = optional(string, "metrics")<br> port = optional(number, 9419)<br> target_port = optional(number, 1080)<br> })</pre> | n/a | yes |
| <a name="input_metrics_server_chart_name"></a> [metrics\_server\_chart\_name](#input\_metrics\_server\_chart\_name) | Name of the metrics-server Helm chart | `string` | `"metrics-server"` | no |
| <a name="input_namespace"></a> [namespace](#input\_namespace) | Namespace of ArmoniK resources | `string` | n/a | yes |
| <a name="input_pod_deletion_cost"></a> [pod\_deletion\_cost](#input\_pod\_deletion\_cost) | value | <pre>object({<br> image = string<br> tag = string<br> image_pull_policy = optional(string, "IfNotPresent")<br> image_pull_secrets = optional(string, "")<br> node_selector = optional(any, {})<br> annotations = optional(any, {})<br> name = optional(string, "pdc-update")<br> label_app = optional(string, "armonik")<br> prometheus_url = optional(string)<br> metrics_name = optional(string)<br> period = optional(number)<br> ignore_younger_than = optional(number)<br> concurrency = optional(number)<br> granularity = optional(number)<br> extra_conf = optional(map(string), {})<br><br> limits = optional(object({<br> cpu = optional(string)<br> memory = optional(string)<br> }))<br> requests = optional(object({<br> cpu = optional(string)<br> memory = optional(string)<br> }))<br> })</pre> | `null` | no |
| <a name="input_pod_deletion_cost"></a> [pod\_deletion\_cost](#input\_pod\_deletion\_cost) | value | <pre>object({<br> image = string<br> tag = string<br> image_pull_policy = optional(string, "IfNotPresent")<br> image_pull_secrets = optional(string, "")<br> node_selector = optional(any, {})<br> annotations = optional(any, {})<br> name = optional(string, "pdc-update")<br> label_app = optional(string, "armonik")<br> prometheus_url = optional(string)<br> metrics_name = optional(string)<br> period = optional(number)<br> ignore_younger_than = optional(number)<br> concurrency = optional(number)<br> granularity = optional(number)<br> extra_conf = optional(map(string), {})<br> limits = optional(map(string))<br> requests = optional(map(string))<br> })</pre> | `null` | no |
| <a name="input_prometheus"></a> [prometheus](#input\_prometheus) | the prometheus module output | <pre>object({<br> host = string<br> port = string<br> url = string<br> })</pre> | `null` | no |
| <a name="input_seq"></a> [seq](#input\_seq) | the seq module output | <pre>object({<br> host = string<br> port = string<br> url = string<br> web_url = string<br> })</pre> | `null` | no |
| <a name="input_shared_storage_settings"></a> [shared\_storage\_settings](#input\_shared\_storage\_settings) | the shared-storage configuration information | <pre>object({<br> file_storage_type = optional(string)<br> service_url = optional(string)<br> console_url = optional(string)<br> access_key_id = optional(string)<br> secret_access_key = optional(string)<br> name = optional(string)<br> must_force_path_style = optional(string)<br> host_path = optional(string)<br> file_server_ip = optional(string)<br> })</pre> | `null` | no |
Expand Down
103 changes: 33 additions & 70 deletions armonik/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,16 @@ variable "logging_level" {
variable "ingress" {
description = "Parameters of the ingress controller"
type = object({
name = string
service_type = string
replicas = number
image = string
tag = string
image_pull_policy = string
http_port = number
grpc_port = number
limits = object({
cpu = string
memory = string
})
requests = object({
cpu = string
memory = string
})
name = string
service_type = string
replicas = number
image = string
tag = string
image_pull_policy = string
http_port = number
grpc_port = number
limits = optional(map(string))
requests = optional(map(string))
image_pull_secrets = string
node_selector = any
annotations = any
Expand Down Expand Up @@ -100,21 +94,15 @@ variable "job_partitions_in_database" {
variable "control_plane" {
description = "Parameters of the control plane"
type = object({
name = string
service_type = string
replicas = number
image = string
tag = string
image_pull_policy = string
port = number
limits = object({
cpu = string
memory = string
})
requests = object({
cpu = string
memory = string
})
name = string
service_type = string
replicas = number
image = string
tag = string
image_pull_policy = string
port = number
limits = optional(map(string))
requests = optional(map(string))
image_pull_secrets = string
node_selector = any
annotations = any
Expand All @@ -128,18 +116,12 @@ variable "control_plane" {
variable "admin_gui" {
description = "Parameters of the admin GUI"
type = object({
name = string
image = string
tag = string
port = number
limits = object({
cpu = string
memory = string
})
requests = object({
cpu = string
memory = string
})
name = string
image = string
tag = string
port = number
limits = optional(map(string))
requests = optional(map(string))
service_type = string
replicas = number
image_pull_policy = string
Expand Down Expand Up @@ -171,30 +153,18 @@ variable "compute_plane" {
image = string
tag = string
image_pull_policy = string
limits = object({
cpu = string
memory = string
})
requests = object({
cpu = string
memory = string
})
conf = optional(any, {})
limits = optional(map(string))
requests = optional(map(string))
conf = optional(any, {})
})
worker = list(object({
name = string
image = string
tag = string
image_pull_policy = string
limits = object({
cpu = string
memory = string
})
requests = object({
cpu = string
memory = string
})
conf = optional(any, {})
limits = optional(map(string))
requests = optional(map(string))
conf = optional(any, {})
}))
cache_config = object({
memory = bool
Expand Down Expand Up @@ -365,15 +335,8 @@ variable "pod_deletion_cost" {
concurrency = optional(number)
granularity = optional(number)
extra_conf = optional(map(string), {})

limits = optional(object({
cpu = optional(string)
memory = optional(string)
}))
requests = optional(object({
cpu = optional(string)
memory = optional(string)
}))
limits = optional(map(string))
requests = optional(map(string))
})
default = null
}
Expand Down

0 comments on commit f12c4ef

Please sign in to comment.