diff --git a/.github/custom-tests/comparison/all/deployments.tf b/.github/custom-tests/comparison/all/deployments.tf index aa52307..79af0dc 100644 --- a/.github/custom-tests/comparison/all/deployments.tf +++ b/.github/custom-tests/comparison/all/deployments.tf @@ -34,6 +34,4 @@ kong_deployment_type = "Deployment" gravitee_enabled = true gravitee_version = "4.4" gravitee_deployment_type = "Deployment" -gravitee_nginx_enabled = false - -grafana_service_type = "ClusterIP" \ No newline at end of file +gravitee_nginx_enabled = false \ No newline at end of file diff --git a/.github/custom-tests/comparison/gravitee/deployments.tf b/.github/custom-tests/comparison/gravitee/deployments.tf index 01d7502..998b1ee 100644 --- a/.github/custom-tests/comparison/gravitee/deployments.tf +++ b/.github/custom-tests/comparison/gravitee/deployments.tf @@ -34,6 +34,4 @@ kong_deployment_type = "Deployment" gravitee_enabled = true gravitee_version = "4.4" gravitee_deployment_type = "Deployment" -gravitee_nginx_enabled = false - -grafana_service_type = "ClusterIP" \ No newline at end of file +gravitee_nginx_enabled = false \ No newline at end of file diff --git a/.github/custom-tests/comparison/kong/deployments.tf b/.github/custom-tests/comparison/kong/deployments.tf index 458e2e8..75f1381 100644 --- a/.github/custom-tests/comparison/kong/deployments.tf +++ b/.github/custom-tests/comparison/kong/deployments.tf @@ -34,6 +34,4 @@ kong_deployment_type = "Deployment" gravitee_enabled = false gravitee_version = "4.4" gravitee_deployment_type = "Deployment" -gravitee_nginx_enabled = false - -grafana_service_type = "ClusterIP" \ No newline at end of file +gravitee_nginx_enabled = false \ No newline at end of file diff --git a/.github/custom-tests/tyk-open-telemetry/deployments.tf b/.github/custom-tests/tyk-open-telemetry/deployments.tf index d42fc3b..e3fe70c 100644 --- a/.github/custom-tests/tyk-open-telemetry/deployments.tf +++ b/.github/custom-tests/tyk-open-telemetry/deployments.tf @@ -34,6 +34,4 @@ kong_deployment_type = "Deployment" gravitee_enabled = false gravitee_version = "4.4" -gravitee_deployment_type = "Deployment" - -grafana_service_type = "ClusterIP" \ No newline at end of file +gravitee_deployment_type = "Deployment" \ No newline at end of file diff --git a/.github/workflows/AKS.yml b/.github/workflows/AKS.yml index d789596..46b4ed5 100644 --- a/.github/workflows/AKS.yml +++ b/.github/workflows/AKS.yml @@ -92,7 +92,6 @@ jobs: --var-file=main.tfvars \ --var="kubernetes_config_context=performance-testing" \ --var="tyk_license=${{ secrets.DASH_LICENSE }}" \ - --var="grafana_service_type=LoadBalancer" \ --auto-approve - name: Destroy AKS cluster diff --git a/.github/workflows/EKS.yml b/.github/workflows/EKS.yml index 1d9d396..fd37f90 100644 --- a/.github/workflows/EKS.yml +++ b/.github/workflows/EKS.yml @@ -93,7 +93,6 @@ jobs: --var-file=main.tfvars \ --var="kubernetes_config_context=performance-testing" \ --var="tyk_license=${{ secrets.DASH_LICENSE }}" \ - --var="grafana_service_type=LoadBalancer" \ --auto-approve - name: Destroy EKS cluster diff --git a/.github/workflows/GKE.yml b/.github/workflows/GKE.yml index f93e0b9..b9d3a9a 100644 --- a/.github/workflows/GKE.yml +++ b/.github/workflows/GKE.yml @@ -100,7 +100,6 @@ jobs: --var-file=main.tfvars \ --var="kubernetes_config_context=performance-testing" \ --var="tyk_license=${{ secrets.DASH_LICENSE }}" \ - --var="grafana_service_type=LoadBalancer" \ --auto-approve - name: Destroy GKE cluster diff --git a/.github/workflows/clean-up.yml b/.github/workflows/clean-up.yml index 15ed7ea..d0a8e6e 100644 --- a/.github/workflows/clean-up.yml +++ b/.github/workflows/clean-up.yml @@ -115,7 +115,6 @@ jobs: --var="kubernetes_config_context=performance-testing" \ --var="tyk_version=${{ inputs.tyk_version }}" \ --var="tyk_license=${{ secrets.DASH_LICENSE }}" \ - --var="grafana_service_type=LoadBalancer" \ --auto-approve - name: Destroy AKS cluster diff --git a/.github/workflows/deployments.yml b/.github/workflows/deployments.yml index 69aa440..b8bca90 100644 --- a/.github/workflows/deployments.yml +++ b/.github/workflows/deployments.yml @@ -147,7 +147,6 @@ jobs: --var="rate_limit_enabled=${{ inputs.rate_limit_enabled }}" \ --var="tyk_version=${{ inputs.tyk_version }}" \ --var="tyk_license=${{ secrets.DASH_LICENSE }}" \ - --var="grafana_service_type=LoadBalancer" \ --var-file=main.tfvars \ --auto-approve diff --git a/.github/workflows/full_performance_test.yml b/.github/workflows/full_performance_test.yml index 279fd6a..a0b32d3 100644 --- a/.github/workflows/full_performance_test.yml +++ b/.github/workflows/full_performance_test.yml @@ -141,7 +141,6 @@ jobs: --var="kubernetes_config_context=performance-testing" \ --var="tyk_version=${{ inputs.tyk_version }}" \ --var="tyk_license=${{ secrets.DASH_LICENSE }}" \ - --var="grafana_service_type=NodePort" \ --auto-approve - name: Run Tests @@ -169,7 +168,6 @@ jobs: terraform destroy \ --var="kubernetes_config_context=performance-testing" \ --var="tyk_license=${{ secrets.DASH_LICENSE }}" \ - --var="grafana_service_type=LoadBalancer" \ --auto-approve - name: Destroy AKS cluster diff --git a/deployments/README.md b/deployments/README.md index 65300ae..abe9241 100644 --- a/deployments/README.md +++ b/deployments/README.md @@ -12,43 +12,43 @@ ## Inputs -| Name | Description | Type | Default | Required | -|------|-------------|------|---------|:--------:| -| [analytics\_database\_enabled](#input\_analytics\_database\_enabled) | Enables metrics collection on gateway services and stores them in gateways default database. | `bool` | `false` | no | -| [analytics\_prometheus\_enabled](#input\_analytics\_prometheus\_enabled) | Enables metrics collection on gateway services and aggregates them on an endpoint for prometheus to scrape. | `bool` | `false` | no | -| [auth\_enabled](#input\_auth\_enabled) | Enables authorization on gateway APIs. | `bool` | `false` | no | -| [auth\_type](#input\_auth\_type) | Authorization type on gateway APIs. authToken or JWT. | `string` | `authToken` | no | -| [external\_traffic\_policy](#input\_external\_traffic\_policy) | Gateway service external traffic policy. Set to 'local' when using 1 k8s node per gateway and 'cluster' when using multiple k8s nodes per gateway for optimal routing performance. | `string` | `"local"` | no | -| [grafana\_service\_type](#input\_grafana\_service\_type) | Grafana Dashboard service type. Set to 'LoadBalancer' type to be able to access Dashboard over the internet. | `string` | n/a | yes | -| [gravitee\_deployment\_type](#input\_gravitee\_deployment\_type) | Gravitee Gateway deployment type. | `string` | `"Deployment"` | no | -| [gravitee\_enabled](#input\_gravitee\_enabled) | Enable Gravitee services. | `bool` | `false` | no | -| [gravitee\_nginx\_enabled](#input\_gravitee\_nginx\_enabled) | Gravitee Nginx controller for exposing UI and Portal. | `bool` | `false` | no | -| [gravitee\_version](#input\_gravitee\_version) | Gravitee Gateway version. | `string` | `"4.4"` | no | -| [hpa\_avg\_cpu\_util\_percentage](#input\_hpa\_avg\_cpu\_util\_percentage) | Gateways Horizontal Pod Autoscaler average CPU utilization percentage for scaling. | `number` | `80` | no | -| [hpa\_enabled](#input\_hpa\_enabled) | Option to enable gateways Horizontal Pod Autoscaler. | `bool` | `true` | no | -| [hpa\_max\_replica\_count](#input\_hpa\_max\_replica\_count) | Gateways Horizontal Pod Autoscaler max replica count. | `number` | `4` | no | -| [kong\_deployment\_type](#input\_kong\_deployment\_type) | Kong Gateway deployment type. | `string` | `"Deployment"` | no | -| [kong\_enabled](#input\_kong\_enabled) | Enable Kong services. | `bool` | `false` | no | -| [kong\_version](#input\_kong\_version) | Kong Gateway version. | `string` | `"3.6"` | no | -| [kubernetes\_config\_context](#input\_kubernetes\_config\_context) | Kubernetes config context. | `string` | `"minikube"` | no | +| Name | Description | Type | Default | Required | +|------|-------------|------|--------------------|:--------:| +| [analytics\_database\_enabled](#input\_analytics\_database\_enabled) | Enables metrics collection on gateway services and stores them in gateways default database. | `bool` | `false` | no | +| [analytics\_prometheus\_enabled](#input\_analytics\_prometheus\_enabled) | Enables metrics collection on gateway services and aggregates them on an endpoint for prometheus to scrape. | `bool` | `false` | no | +| [auth\_enabled](#input\_auth\_enabled) | Enables authorization on gateway APIs. | `bool` | `false` | no | +| [auth\_type](#input\_auth\_type) | Authorization type on gateway APIs. authToken or JWT. | `string` | `authToken` | no | +| [external\_traffic\_policy](#input\_external\_traffic\_policy) | Gateway service external traffic policy. Set to 'local' when using 1 k8s node per gateway and 'cluster' when using multiple k8s nodes per gateway for optimal routing performance. | `string` | `"local"` | no | +| [grafana\_service\_type](#input\_grafana\_service\_type) | Grafana Dashboard service type. Set to 'LoadBalancer' type to be able to access Dashboard over the internet. | `string` | `ClusterIP` | yes | +| [gravitee\_deployment\_type](#input\_gravitee\_deployment\_type) | Gravitee Gateway deployment type. | `string` | `"Deployment"` | no | +| [gravitee\_enabled](#input\_gravitee\_enabled) | Enable Gravitee services. | `bool` | `false` | no | +| [gravitee\_nginx\_enabled](#input\_gravitee\_nginx\_enabled) | Gravitee Nginx controller for exposing UI and Portal. | `bool` | `false` | no | +| [gravitee\_version](#input\_gravitee\_version) | Gravitee Gateway version. | `string` | `"4.4"` | no | +| [hpa\_avg\_cpu\_util\_percentage](#input\_hpa\_avg\_cpu\_util\_percentage) | Gateways Horizontal Pod Autoscaler average CPU utilization percentage for scaling. | `number` | `80` | no | +| [hpa\_enabled](#input\_hpa\_enabled) | Option to enable gateways Horizontal Pod Autoscaler. | `bool` | `true` | no | +| [hpa\_max\_replica\_count](#input\_hpa\_max\_replica\_count) | Gateways Horizontal Pod Autoscaler max replica count. | `number` | `4` | no | +| [kong\_deployment\_type](#input\_kong\_deployment\_type) | Kong Gateway deployment type. | `string` | `"Deployment"` | no | +| [kong\_enabled](#input\_kong\_enabled) | Enable Kong services. | `bool` | `false` | no | +| [kong\_version](#input\_kong\_version) | Kong Gateway version. | `string` | `"3.6"` | no | +| [kubernetes\_config\_context](#input\_kubernetes\_config\_context) | Kubernetes config context. | `string` | `"minikube"` | no | | [kubernetes\_config\_path](#input\_kubernetes\_config\_path) | Kubernetes config file path. | `string` | `"~/.kube/config"` | no | -| [node\_labels](#input\_node\_labels) | Mapping for node labels to determine the values for node selectors for each deployment. |
object({
dependencies = string
tyk = string
tyk-upstream = string
tyk-tests = string
tyk-resources = string
kong = string
kong-upstream = string
kong-tests = string
kong-resources = string
gravitee = string
gravitee-upstream = string
gravitee-tests = string
gravitee-resources = string
})
| `null` | no | -| [open\_telemetry\_enabled](#input\_open\_telemetry\_enabled) | Enable Open Telemetry and trace collection on gateway services. | `bool` | `false` | no | -| [open\_telemetry\_sampling\_ratio](#input\_open\_telemetry\_sampling\_ratio) | Open Telemetry sampling ration 0 to 1.0 range. | `string` | `"0.5"` | no | -| [quota\_enabled](#input\_quota\_enabled) | Enables quota management on gateway APIs. | `bool` | `false` | no | -| [quota\_per](#input\_quota\_per) | Quota management reset interval in seconds. | `number` | `3600` | no | -| [quota\_rate](#input\_quota\_rate) | Quota management rate on gateway APIs. | `number` | `999999` | no | -| [rate\_limit\_enabled](#input\_rate\_limit\_enabled) | Enables rate limiting on gateway APIs. | `bool` | `false` | no | -| [rate\_limit\_per](#input\_rate\_limit\_per) | Rate Limit reset interval in seconds. | `number` | `60` | no | -| [rate\_limit\_rate](#input\_rate\_limit\_rate) | Rate Limit rate on gateway APIs. | `number` | `999999` | no | -| [replica\_count](#input\_replica\_count) | Gateway replica count. | `number` | `1` | no | -| [resources\_limits\_cpu](#input\_resources\_limits\_cpu) | Gateway CPU requests. | `string` | `"0"` | no | -| [resources\_limits\_memory](#input\_resources\_limits\_memory) | Gateway memory requests. | `string` | `"0"` | no | -| [resources\_requests\_cpu](#input\_resources\_requests\_cpu) | Gateway CPU requests. | `string` | `"0"` | no | -| [resources\_requests\_memory](#input\_resources\_requests\_memory) | Gateway memory requests. | `string` | `"0"` | no | -| [tyk\_deployment\_type](#input\_tyk\_deployment\_type) | Tyk Gateway deployment type. | `string` | `"Deployment"` | no | -| [tyk\_enabled](#input\_tyk\_enabled) | Enable Tyk services. | `bool` | `true` | no | -| [tyk\_go\_gc](#input\_tyk\_go\_gc) | Target percentage for garbage collection execution in Go. | `number` | `1600` | no | -| [tyk\_go\_max\_procs](#input\_tyk\_go\_max\_procs) | Limits the number of operating system threads that can execute user-level Go code simultaneously. Matching the value to threads * cpu limit allows for optimal performance. | `number` | `8` | no | -| [tyk\_license](#input\_tyk\_license) | Tyk self-managed license. | `string` | n/a | yes | -| [tyk\_version](#input\_tyk\_version) | Tyk Gateway version. | `string` | `"v5.6"` | no | +| [node\_labels](#input\_node\_labels) | Mapping for node labels to determine the values for node selectors for each deployment. |
object({
dependencies = string
tyk = string
tyk-upstream = string
tyk-tests = string
tyk-resources = string
kong = string
kong-upstream = string
kong-tests = string
kong-resources = string
gravitee = string
gravitee-upstream = string
gravitee-tests = string
gravitee-resources = string
})
| `null` | no | +| [open\_telemetry\_enabled](#input\_open\_telemetry\_enabled) | Enable Open Telemetry and trace collection on gateway services. | `bool` | `false` | no | +| [open\_telemetry\_sampling\_ratio](#input\_open\_telemetry\_sampling\_ratio) | Open Telemetry sampling ration 0 to 1.0 range. | `string` | `"0.5"` | no | +| [quota\_enabled](#input\_quota\_enabled) | Enables quota management on gateway APIs. | `bool` | `false` | no | +| [quota\_per](#input\_quota\_per) | Quota management reset interval in seconds. | `number` | `3600` | no | +| [quota\_rate](#input\_quota\_rate) | Quota management rate on gateway APIs. | `number` | `999999` | no | +| [rate\_limit\_enabled](#input\_rate\_limit\_enabled) | Enables rate limiting on gateway APIs. | `bool` | `false` | no | +| [rate\_limit\_per](#input\_rate\_limit\_per) | Rate Limit reset interval in seconds. | `number` | `60` | no | +| [rate\_limit\_rate](#input\_rate\_limit\_rate) | Rate Limit rate on gateway APIs. | `number` | `999999` | no | +| [replica\_count](#input\_replica\_count) | Gateway replica count. | `number` | `1` | no | +| [resources\_limits\_cpu](#input\_resources\_limits\_cpu) | Gateway CPU requests. | `string` | `"0"` | no | +| [resources\_limits\_memory](#input\_resources\_limits\_memory) | Gateway memory requests. | `string` | `"0"` | no | +| [resources\_requests\_cpu](#input\_resources\_requests\_cpu) | Gateway CPU requests. | `string` | `"0"` | no | +| [resources\_requests\_memory](#input\_resources\_requests\_memory) | Gateway memory requests. | `string` | `"0"` | no | +| [tyk\_deployment\_type](#input\_tyk\_deployment\_type) | Tyk Gateway deployment type. | `string` | `"Deployment"` | no | +| [tyk\_enabled](#input\_tyk\_enabled) | Enable Tyk services. | `bool` | `true` | no | +| [tyk\_go\_gc](#input\_tyk\_go\_gc) | Target percentage for garbage collection execution in Go. | `number` | `1600` | no | +| [tyk\_go\_max\_procs](#input\_tyk\_go\_max\_procs) | Limits the number of operating system threads that can execute user-level Go code simultaneously. Matching the value to threads * cpu limit allows for optimal performance. | `number` | `8` | no | +| [tyk\_license](#input\_tyk\_license) | Tyk self-managed license. | `string` | n/a | yes | +| [tyk\_version](#input\_tyk\_version) | Tyk Gateway version. | `string` | `"v5.6"` | no | diff --git a/deployments/main.tfvars.example b/deployments/main.tfvars.example index 08f1e38..1ed7ca2 100644 --- a/deployments/main.tfvars.example +++ b/deployments/main.tfvars.example @@ -37,6 +37,4 @@ kong_deployment_type = "Deployment" gravitee_enabled = false gravitee_version = "4.4" gravitee_deployment_type = "Deployment" -gravitee_nginx_enabled = false - -grafana_service_type = "ClusterIP" \ No newline at end of file +gravitee_nginx_enabled = false \ No newline at end of file diff --git a/deployments/vars.dependencies.tf b/deployments/vars.dependencies.tf index 1543469..e0a9f71 100644 --- a/deployments/vars.dependencies.tf +++ b/deployments/vars.dependencies.tf @@ -1,4 +1,5 @@ variable "grafana_service_type" { type = string + default = "ClusterIP" description = "Grafana Dashboard service type. Set to 'LoadBalancer' type to be able to access Dashboard over the internet." } \ No newline at end of file