From 3c79db9da2ba0245e9c788f52cd787fc9c04af5e Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 13:45:35 +0300 Subject: [PATCH 01/24] fix(issue-460): update web-site o2bus.com --- .../{release-deploy/helm_charts => helm}/o2bus-webapp/.helmignore | 0 .../{release-deploy/helm_charts => helm}/o2bus-webapp/Chart.yaml | 0 .../helm_charts => helm}/o2bus-webapp/templates/NOTES.txt | 0 .../helm_charts => helm}/o2bus-webapp/templates/_helpers.tpl | 0 .../helm_charts => helm}/o2bus-webapp/templates/deployment.yaml | 0 .../helm_charts => helm}/o2bus-webapp/templates/hpa.yaml | 0 .../helm_charts => helm}/o2bus-webapp/templates/ingress.yaml | 0 .../helm_charts => helm}/o2bus-webapp/templates/service.yaml | 0 .../o2bus-webapp/templates/serviceaccount.yaml | 0 .../o2bus-webapp/templates/tests/test-connection.yaml | 0 .../{release-deploy/helm_charts => helm}/o2bus-webapp/values.yaml | 0 11 files changed, 0 insertions(+), 0 deletions(-) rename deploy/{release-deploy/helm_charts => helm}/o2bus-webapp/.helmignore (100%) rename deploy/{release-deploy/helm_charts => helm}/o2bus-webapp/Chart.yaml (100%) rename deploy/{release-deploy/helm_charts => helm}/o2bus-webapp/templates/NOTES.txt (100%) rename deploy/{release-deploy/helm_charts => helm}/o2bus-webapp/templates/_helpers.tpl (100%) rename deploy/{release-deploy/helm_charts => helm}/o2bus-webapp/templates/deployment.yaml (100%) rename deploy/{release-deploy/helm_charts => helm}/o2bus-webapp/templates/hpa.yaml (100%) rename deploy/{release-deploy/helm_charts => helm}/o2bus-webapp/templates/ingress.yaml (100%) rename deploy/{release-deploy/helm_charts => helm}/o2bus-webapp/templates/service.yaml (100%) rename deploy/{release-deploy/helm_charts => helm}/o2bus-webapp/templates/serviceaccount.yaml (100%) rename deploy/{release-deploy/helm_charts => helm}/o2bus-webapp/templates/tests/test-connection.yaml (100%) rename deploy/{release-deploy/helm_charts => helm}/o2bus-webapp/values.yaml (100%) diff --git a/deploy/release-deploy/helm_charts/o2bus-webapp/.helmignore b/deploy/helm/o2bus-webapp/.helmignore similarity index 100% rename from deploy/release-deploy/helm_charts/o2bus-webapp/.helmignore rename to deploy/helm/o2bus-webapp/.helmignore diff --git a/deploy/release-deploy/helm_charts/o2bus-webapp/Chart.yaml b/deploy/helm/o2bus-webapp/Chart.yaml similarity index 100% rename from deploy/release-deploy/helm_charts/o2bus-webapp/Chart.yaml rename to deploy/helm/o2bus-webapp/Chart.yaml diff --git a/deploy/release-deploy/helm_charts/o2bus-webapp/templates/NOTES.txt b/deploy/helm/o2bus-webapp/templates/NOTES.txt similarity index 100% rename from deploy/release-deploy/helm_charts/o2bus-webapp/templates/NOTES.txt rename to deploy/helm/o2bus-webapp/templates/NOTES.txt diff --git a/deploy/release-deploy/helm_charts/o2bus-webapp/templates/_helpers.tpl b/deploy/helm/o2bus-webapp/templates/_helpers.tpl similarity index 100% rename from deploy/release-deploy/helm_charts/o2bus-webapp/templates/_helpers.tpl rename to deploy/helm/o2bus-webapp/templates/_helpers.tpl diff --git a/deploy/release-deploy/helm_charts/o2bus-webapp/templates/deployment.yaml b/deploy/helm/o2bus-webapp/templates/deployment.yaml similarity index 100% rename from deploy/release-deploy/helm_charts/o2bus-webapp/templates/deployment.yaml rename to deploy/helm/o2bus-webapp/templates/deployment.yaml diff --git a/deploy/release-deploy/helm_charts/o2bus-webapp/templates/hpa.yaml b/deploy/helm/o2bus-webapp/templates/hpa.yaml similarity index 100% rename from deploy/release-deploy/helm_charts/o2bus-webapp/templates/hpa.yaml rename to deploy/helm/o2bus-webapp/templates/hpa.yaml diff --git a/deploy/release-deploy/helm_charts/o2bus-webapp/templates/ingress.yaml b/deploy/helm/o2bus-webapp/templates/ingress.yaml similarity index 100% rename from deploy/release-deploy/helm_charts/o2bus-webapp/templates/ingress.yaml rename to deploy/helm/o2bus-webapp/templates/ingress.yaml diff --git a/deploy/release-deploy/helm_charts/o2bus-webapp/templates/service.yaml b/deploy/helm/o2bus-webapp/templates/service.yaml similarity index 100% rename from deploy/release-deploy/helm_charts/o2bus-webapp/templates/service.yaml rename to deploy/helm/o2bus-webapp/templates/service.yaml diff --git a/deploy/release-deploy/helm_charts/o2bus-webapp/templates/serviceaccount.yaml b/deploy/helm/o2bus-webapp/templates/serviceaccount.yaml similarity index 100% rename from deploy/release-deploy/helm_charts/o2bus-webapp/templates/serviceaccount.yaml rename to deploy/helm/o2bus-webapp/templates/serviceaccount.yaml diff --git a/deploy/release-deploy/helm_charts/o2bus-webapp/templates/tests/test-connection.yaml b/deploy/helm/o2bus-webapp/templates/tests/test-connection.yaml similarity index 100% rename from deploy/release-deploy/helm_charts/o2bus-webapp/templates/tests/test-connection.yaml rename to deploy/helm/o2bus-webapp/templates/tests/test-connection.yaml diff --git a/deploy/release-deploy/helm_charts/o2bus-webapp/values.yaml b/deploy/helm/o2bus-webapp/values.yaml similarity index 100% rename from deploy/release-deploy/helm_charts/o2bus-webapp/values.yaml rename to deploy/helm/o2bus-webapp/values.yaml From cf63e26f0ee5c6618dee11bf2eb79010d300dd10 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 15:51:01 +0300 Subject: [PATCH 02/24] fix(issue-447): update main.tf --- deploy/azure/azure-terraform/main.tf | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 720de190..fee8db0e 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -264,7 +264,11 @@ resource "azurerm_role_assignment" "current" { # Create role assignment for service principal resource "azurerm_role_assignment" "main" { - scope = azurerm_dns_zone.primary-dns-zone.id + scope = [ + azurerm_dns_zone.primary-dns-zone.id, + azurerm_dns_zone.second-dns-zone.id, + azurerm_dns_zone.third-dns-zone.id + ] role_definition_name = "DNS Zone Contributor" principal_id = azuread_service_principal.current.object_id } @@ -463,7 +467,10 @@ locals { - --azure.aadClientSecret="${azuread_application_password.current.value}" - --azure.cloud=AzurePublicCloud - --policy=sync - - --domainFilters={${azurerm_dns_zone.primary-dns-zone.name}} + - --domainFilter=${azurerm_dns_zone.primary-dns-zone.name} + - --domainFilter=${zurerm_dns_zone.second-dns-zone.name} + - --domainFilter=${azurerm_dns_zone.third-dns-zone.name} + EOF } From 27cb3cfd31e3578d50f33416802f8fae1a09804a Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 16:18:32 +0300 Subject: [PATCH 03/24] Revert "fix(issue-447): update main.tf" This reverts commit cf63e26f0ee5c6618dee11bf2eb79010d300dd10. --- deploy/azure/azure-terraform/main.tf | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index fee8db0e..720de190 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -264,11 +264,7 @@ resource "azurerm_role_assignment" "current" { # Create role assignment for service principal resource "azurerm_role_assignment" "main" { - scope = [ - azurerm_dns_zone.primary-dns-zone.id, - azurerm_dns_zone.second-dns-zone.id, - azurerm_dns_zone.third-dns-zone.id - ] + scope = azurerm_dns_zone.primary-dns-zone.id role_definition_name = "DNS Zone Contributor" principal_id = azuread_service_principal.current.object_id } @@ -467,10 +463,7 @@ locals { - --azure.aadClientSecret="${azuread_application_password.current.value}" - --azure.cloud=AzurePublicCloud - --policy=sync - - --domainFilter=${azurerm_dns_zone.primary-dns-zone.name} - - --domainFilter=${zurerm_dns_zone.second-dns-zone.name} - - --domainFilter=${azurerm_dns_zone.third-dns-zone.name} - + - --domainFilters={${azurerm_dns_zone.primary-dns-zone.name}} EOF } From 548d0dc098a6261437ed25aa003f0b90050c5778 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 19:21:54 +0300 Subject: [PATCH 04/24] fix: update main.tf --- deploy/azure/azure-terraform/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 720de190..37dcda98 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -463,7 +463,7 @@ locals { - --azure.aadClientSecret="${azuread_application_password.current.value}" - --azure.cloud=AzurePublicCloud - --policy=sync - - --domainFilters={${azurerm_dns_zone.primary-dns-zone.name}} + - --domainFilters=[{${azurerm_dns_zone.primary-dns-zone.name}},{${azurerm_dns_zone.second-dns-zone.name}}] EOF } From df9de9a54416da4243e8ddfe48f860b0670a8332 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 19:28:40 +0300 Subject: [PATCH 05/24] fix: update main.tf --- deploy/azure/azure-terraform/main.tf | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 37dcda98..69c66b67 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -264,7 +264,11 @@ resource "azurerm_role_assignment" "current" { # Create role assignment for service principal resource "azurerm_role_assignment" "main" { - scope = azurerm_dns_zone.primary-dns-zone.id + scopes =[ + azurerm_dns_zone.primary-dns-zone.id, + azurerm_dns_zone.second-dns-zone.id, + azurerm_dns_zone.third-dns-zone.id + ] role_definition_name = "DNS Zone Contributor" principal_id = azuread_service_principal.current.object_id } From 63692dc3896f90c8968a9f3b2b6a04a34856d8c0 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 19:35:30 +0300 Subject: [PATCH 06/24] fix: update main.tf --- deploy/azure/azure-terraform/main.tf | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 69c66b67..08718703 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -264,11 +264,18 @@ resource "azurerm_role_assignment" "current" { # Create role assignment for service principal resource "azurerm_role_assignment" "main" { - scopes =[ - azurerm_dns_zone.primary-dns-zone.id, - azurerm_dns_zone.second-dns-zone.id, - azurerm_dns_zone.third-dns-zone.id - ] + scope = azurerm_dns_zone.primary-dns-zone.id + role_definition_name = "DNS Zone Contributor" + principal_id = azuread_service_principal.current.object_id +} +# Create role assignment for service principal +resource "azurerm_role_assignment" "main-second" { + scope = azurerm_dns_zone.second-dns-zone.id + role_definition_name = "DNS Zone Contributor" + principal_id = azuread_service_principal.current.object_id +} +resource "azurerm_role_assignment" "main-third" { + scope = azurerm_dns_zone.third-dns-zone.id role_definition_name = "DNS Zone Contributor" principal_id = azuread_service_principal.current.object_id } From 9065d43c584d192504816c13fd967db135ef0d4d Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 19:45:52 +0300 Subject: [PATCH 07/24] fix: update main.tf --- deploy/azure/azure-terraform/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 08718703..f224a5ed 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -474,7 +474,7 @@ locals { - --azure.aadClientSecret="${azuread_application_password.current.value}" - --azure.cloud=AzurePublicCloud - --policy=sync - - --domainFilters=[{${azurerm_dns_zone.primary-dns-zone.name}},{${azurerm_dns_zone.second-dns-zone.name}}] + - --domainFilters={${azurerm_dns_zone.primary-dns-zone.name},${azurerm_dns_zone.second-dns-zone.name},${azurerm_dns_zone.third-dns-zone.name}} EOF } From ab289e25361ed46389f5a6c2f1cf73c73d1479e9 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 19:59:45 +0300 Subject: [PATCH 08/24] fix: update filter for external-dns --- deploy/azure/azure-terraform/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index f224a5ed..86a76f22 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -474,7 +474,7 @@ locals { - --azure.aadClientSecret="${azuread_application_password.current.value}" - --azure.cloud=AzurePublicCloud - --policy=sync - - --domainFilters={${azurerm_dns_zone.primary-dns-zone.name},${azurerm_dns_zone.second-dns-zone.name},${azurerm_dns_zone.third-dns-zone.name}} + - --domainFilters=[{${azurerm_dns_zone.primary-dns-zone.name}},{${azurerm_dns_zone.second-dns-zone.name}},{${azurerm_dns_zone.third-dns-zone.name}}] EOF } From 9bc32bfb8e07d7645278093481f5607981c34082 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 20:27:09 +0300 Subject: [PATCH 09/24] fix: update filter for external-dns --- deploy/azure/azure-terraform/main.tf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 86a76f22..e0f74907 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -474,7 +474,9 @@ locals { - --azure.aadClientSecret="${azuread_application_password.current.value}" - --azure.cloud=AzurePublicCloud - --policy=sync - - --domainFilters=[{${azurerm_dns_zone.primary-dns-zone.name}},{${azurerm_dns_zone.second-dns-zone.name}},{${azurerm_dns_zone.third-dns-zone.name}}] + - --domainFilters[0]={${azurerm_dns_zone.primary-dns-zone.name}} + - --domainFilters[1]={${azurerm_dns_zone.second-dns-zone.name}} + - --domainFilters[2]={${azurerm_dns_zone.third-dns-zone.name}} EOF } From 9ac31f7e679e6abf61d42a9d16703d3fbb5f5526 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 20:30:26 +0300 Subject: [PATCH 10/24] fix: update filter for external-dns --- deploy/azure/azure-terraform/main.tf | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index e0f74907..78828655 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -514,9 +514,17 @@ resource "helm_release" "external-dns" { value = "sync" } set { - name = "domainFilters" + name = "domainFilters[0]" value = "{${azurerm_dns_zone.primary-dns-zone.name}}" } + set { + name = "domainFilters[1]" + value = "{${azurerm_dns_zone.second-dns-zone.name}}" + } + set { + name = "domainFilters[1]" + value = "{${azurerm_dns_zone.third-dns-zone.name}}" + } set { name = "azure.resourceGroup" value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // From e6db32b5070e5bfeb2f45c037b1364dcb813f1fc Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 20:36:42 +0300 Subject: [PATCH 11/24] fix: disable external-dns --- deploy/azure/azure-terraform/main.tf | 170 +++++++++++++-------------- 1 file changed, 85 insertions(+), 85 deletions(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 78828655..6d885c01 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -480,92 +480,92 @@ locals { EOF } -resource "helm_release" "external-dns" { - depends_on = [ - azurerm_dns_zone.primary-dns-zone - ] - dependency_update = "true" - name = "external-dns" - repository = "https://charts.bitnami.com/bitnami" - chart = "external-dns" - namespace = "external-dns" - create_namespace = true - # values = [ - # local.dnsValues - # ] - set { - name = "azure.cloud" - value = "AzurePublicCloud" - } - set { - name = "txtOwnerId" - value = azurerm_kubernetes_cluster.o2nextgen-aks.name - } - set { - name = "provider" - value = "azure" - } - set { - name = "logLevel" - value = "debug" - } - set { - name = "policy" - value = "sync" - } - set { - name = "domainFilters[0]" - value = "{${azurerm_dns_zone.primary-dns-zone.name}}" - } - set { - name = "domainFilters[1]" - value = "{${azurerm_dns_zone.second-dns-zone.name}}" - } - set { - name = "domainFilters[1]" - value = "{${azurerm_dns_zone.third-dns-zone.name}}" - } - set { - name = "azure.resourceGroup" - value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // - } - set { - name = "azure.tenantId" - value = data.azuread_client_config.current.tenant_id - } - set { - name = "azure.subscriptionId" - value = data.azurerm_subscription.current.subscription_id - } - set { - name = "azure.aadClientId" - value = azuread_application.example.application_id - } - set { - name = "azure.aadClientSecret" - value = azuread_application_password.current.value - } - # # set { - # # name = "azure.useManagedIdentityExtension" - # # value = "true" - # # } - # # set { - # # name = "azure.userAssignedIdentityID" - # # value = azuread_service_principal.current.id - # # } - - # --set txtOwnerId=$AZ_AKS_NAME \ - # --set provider=azure \ - # --set azure.resourceGroup=$AZ_DNS_GROUP \ - # --set azure.tenantId=$AZ_TENANT_ID \ - # --set azure.subscriptionId=$AZ_SUBSCRIPTION_ID \ - # --set azure.aadClientId=$SP_CLIENT_ID \ - # --set azure.aadClientSecret="$SP_CLIENT_SECRET" \ - # --set azure.cloud=AzurePublicCloud \ - # --set policy=sync \ - # --set domainFilters={$DOMAIN_NAME} +# resource "helm_release" "external-dns" { +# depends_on = [ +# azurerm_dns_zone.primary-dns-zone +# ] +# dependency_update = "true" +# name = "external-dns" +# repository = "https://charts.bitnami.com/bitnami" +# chart = "external-dns" +# namespace = "external-dns" +# create_namespace = true +# # values = [ +# # local.dnsValues +# # ] +# set { +# name = "azure.cloud" +# value = "AzurePublicCloud" +# } +# set { +# name = "txtOwnerId" +# value = azurerm_kubernetes_cluster.o2nextgen-aks.name +# } +# set { +# name = "provider" +# value = "azure" +# } +# set { +# name = "logLevel" +# value = "debug" +# } +# set { +# name = "policy" +# value = "sync" +# } +# set { +# name = "domainFilters[0]" +# value = "{${azurerm_dns_zone.primary-dns-zone.name}}" +# } +# set { +# name = "domainFilters[1]" +# value = "{${azurerm_dns_zone.second-dns-zone.name}}" +# } +# set { +# name = "domainFilters[1]" +# value = "{${azurerm_dns_zone.third-dns-zone.name}}" +# } +# set { +# name = "azure.resourceGroup" +# value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // +# } +# set { +# name = "azure.tenantId" +# value = data.azuread_client_config.current.tenant_id +# } +# set { +# name = "azure.subscriptionId" +# value = data.azurerm_subscription.current.subscription_id +# } +# set { +# name = "azure.aadClientId" +# value = azuread_application.example.application_id +# } +# set { +# name = "azure.aadClientSecret" +# value = azuread_application_password.current.value +# } +# # # set { +# # # name = "azure.useManagedIdentityExtension" +# # # value = "true" +# # # } +# # # set { +# # # name = "azure.userAssignedIdentityID" +# # # value = azuread_service_principal.current.id +# # # } + +# # --set txtOwnerId=$AZ_AKS_NAME \ +# # --set provider=azure \ +# # --set azure.resourceGroup=$AZ_DNS_GROUP \ +# # --set azure.tenantId=$AZ_TENANT_ID \ +# # --set azure.subscriptionId=$AZ_SUBSCRIPTION_ID \ +# # --set azure.aadClientId=$SP_CLIENT_ID \ +# # --set azure.aadClientSecret="$SP_CLIENT_SECRET" \ +# # --set azure.cloud=AzurePublicCloud \ +# # --set policy=sync \ +# # --set domainFilters={$DOMAIN_NAME} -} +# } resource "helm_release" "cert-manager" { name = "cert-manager" namespace = "cert-manager" From 068f8c3cc92e3e497a642b89902056672cf670e5 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 20:41:05 +0300 Subject: [PATCH 12/24] fix: enable external-dns --- deploy/azure/azure-terraform/main.tf | 170 +++++++++++++-------------- 1 file changed, 85 insertions(+), 85 deletions(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 6d885c01..78828655 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -480,92 +480,92 @@ locals { EOF } -# resource "helm_release" "external-dns" { -# depends_on = [ -# azurerm_dns_zone.primary-dns-zone -# ] -# dependency_update = "true" -# name = "external-dns" -# repository = "https://charts.bitnami.com/bitnami" -# chart = "external-dns" -# namespace = "external-dns" -# create_namespace = true -# # values = [ -# # local.dnsValues -# # ] -# set { -# name = "azure.cloud" -# value = "AzurePublicCloud" -# } -# set { -# name = "txtOwnerId" -# value = azurerm_kubernetes_cluster.o2nextgen-aks.name -# } -# set { -# name = "provider" -# value = "azure" -# } -# set { -# name = "logLevel" -# value = "debug" -# } -# set { -# name = "policy" -# value = "sync" -# } -# set { -# name = "domainFilters[0]" -# value = "{${azurerm_dns_zone.primary-dns-zone.name}}" -# } -# set { -# name = "domainFilters[1]" -# value = "{${azurerm_dns_zone.second-dns-zone.name}}" -# } -# set { -# name = "domainFilters[1]" -# value = "{${azurerm_dns_zone.third-dns-zone.name}}" -# } -# set { -# name = "azure.resourceGroup" -# value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // -# } -# set { -# name = "azure.tenantId" -# value = data.azuread_client_config.current.tenant_id -# } -# set { -# name = "azure.subscriptionId" -# value = data.azurerm_subscription.current.subscription_id -# } -# set { -# name = "azure.aadClientId" -# value = azuread_application.example.application_id -# } -# set { -# name = "azure.aadClientSecret" -# value = azuread_application_password.current.value -# } -# # # set { -# # # name = "azure.useManagedIdentityExtension" -# # # value = "true" -# # # } -# # # set { -# # # name = "azure.userAssignedIdentityID" -# # # value = azuread_service_principal.current.id -# # # } - -# # --set txtOwnerId=$AZ_AKS_NAME \ -# # --set provider=azure \ -# # --set azure.resourceGroup=$AZ_DNS_GROUP \ -# # --set azure.tenantId=$AZ_TENANT_ID \ -# # --set azure.subscriptionId=$AZ_SUBSCRIPTION_ID \ -# # --set azure.aadClientId=$SP_CLIENT_ID \ -# # --set azure.aadClientSecret="$SP_CLIENT_SECRET" \ -# # --set azure.cloud=AzurePublicCloud \ -# # --set policy=sync \ -# # --set domainFilters={$DOMAIN_NAME} +resource "helm_release" "external-dns" { + depends_on = [ + azurerm_dns_zone.primary-dns-zone + ] + dependency_update = "true" + name = "external-dns" + repository = "https://charts.bitnami.com/bitnami" + chart = "external-dns" + namespace = "external-dns" + create_namespace = true + # values = [ + # local.dnsValues + # ] + set { + name = "azure.cloud" + value = "AzurePublicCloud" + } + set { + name = "txtOwnerId" + value = azurerm_kubernetes_cluster.o2nextgen-aks.name + } + set { + name = "provider" + value = "azure" + } + set { + name = "logLevel" + value = "debug" + } + set { + name = "policy" + value = "sync" + } + set { + name = "domainFilters[0]" + value = "{${azurerm_dns_zone.primary-dns-zone.name}}" + } + set { + name = "domainFilters[1]" + value = "{${azurerm_dns_zone.second-dns-zone.name}}" + } + set { + name = "domainFilters[1]" + value = "{${azurerm_dns_zone.third-dns-zone.name}}" + } + set { + name = "azure.resourceGroup" + value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // + } + set { + name = "azure.tenantId" + value = data.azuread_client_config.current.tenant_id + } + set { + name = "azure.subscriptionId" + value = data.azurerm_subscription.current.subscription_id + } + set { + name = "azure.aadClientId" + value = azuread_application.example.application_id + } + set { + name = "azure.aadClientSecret" + value = azuread_application_password.current.value + } + # # set { + # # name = "azure.useManagedIdentityExtension" + # # value = "true" + # # } + # # set { + # # name = "azure.userAssignedIdentityID" + # # value = azuread_service_principal.current.id + # # } + + # --set txtOwnerId=$AZ_AKS_NAME \ + # --set provider=azure \ + # --set azure.resourceGroup=$AZ_DNS_GROUP \ + # --set azure.tenantId=$AZ_TENANT_ID \ + # --set azure.subscriptionId=$AZ_SUBSCRIPTION_ID \ + # --set azure.aadClientId=$SP_CLIENT_ID \ + # --set azure.aadClientSecret="$SP_CLIENT_SECRET" \ + # --set azure.cloud=AzurePublicCloud \ + # --set policy=sync \ + # --set domainFilters={$DOMAIN_NAME} -# } +} resource "helm_release" "cert-manager" { name = "cert-manager" namespace = "cert-manager" From 39d812c63f5dbbf0c04d2c88430c513e7510b849 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 20:51:53 +0300 Subject: [PATCH 13/24] fix: disable external-dns --- deploy/azure/azure-terraform/main.tf | 162 +++++++++++++-------------- 1 file changed, 77 insertions(+), 85 deletions(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 78828655..6af553dd 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -480,92 +480,84 @@ locals { EOF } -resource "helm_release" "external-dns" { - depends_on = [ - azurerm_dns_zone.primary-dns-zone - ] - dependency_update = "true" - name = "external-dns" - repository = "https://charts.bitnami.com/bitnami" - chart = "external-dns" - namespace = "external-dns" - create_namespace = true - # values = [ - # local.dnsValues - # ] - set { - name = "azure.cloud" - value = "AzurePublicCloud" - } - set { - name = "txtOwnerId" - value = azurerm_kubernetes_cluster.o2nextgen-aks.name - } - set { - name = "provider" - value = "azure" - } - set { - name = "logLevel" - value = "debug" - } - set { - name = "policy" - value = "sync" - } - set { - name = "domainFilters[0]" - value = "{${azurerm_dns_zone.primary-dns-zone.name}}" - } - set { - name = "domainFilters[1]" - value = "{${azurerm_dns_zone.second-dns-zone.name}}" - } - set { - name = "domainFilters[1]" - value = "{${azurerm_dns_zone.third-dns-zone.name}}" - } - set { - name = "azure.resourceGroup" - value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // - } - set { - name = "azure.tenantId" - value = data.azuread_client_config.current.tenant_id - } - set { - name = "azure.subscriptionId" - value = data.azurerm_subscription.current.subscription_id - } - set { - name = "azure.aadClientId" - value = azuread_application.example.application_id - } - set { - name = "azure.aadClientSecret" - value = azuread_application_password.current.value - } - # # set { - # # name = "azure.useManagedIdentityExtension" - # # value = "true" - # # } - # # set { - # # name = "azure.userAssignedIdentityID" - # # value = azuread_service_principal.current.id - # # } - - # --set txtOwnerId=$AZ_AKS_NAME \ - # --set provider=azure \ - # --set azure.resourceGroup=$AZ_DNS_GROUP \ - # --set azure.tenantId=$AZ_TENANT_ID \ - # --set azure.subscriptionId=$AZ_SUBSCRIPTION_ID \ - # --set azure.aadClientId=$SP_CLIENT_ID \ - # --set azure.aadClientSecret="$SP_CLIENT_SECRET" \ - # --set azure.cloud=AzurePublicCloud \ - # --set policy=sync \ - # --set domainFilters={$DOMAIN_NAME} +# resource "helm_release" "external-dns" { +# depends_on = [ +# azurerm_dns_zone.primary-dns-zone +# ] +# dependency_update = "true" +# name = "external-dns" +# repository = "https://charts.bitnami.com/bitnami" +# chart = "external-dns" +# namespace = "external-dns" +# create_namespace = true +# # values = [ +# # local.dnsValues +# # ] +# set { +# name = "azure.cloud" +# value = "AzurePublicCloud" +# } +# set { +# name = "txtOwnerId" +# value = azurerm_kubernetes_cluster.o2nextgen-aks.name +# } +# set { +# name = "provider" +# value = "azure" +# } +# set { +# name = "logLevel" +# value = "debug" +# } +# set { +# name = "policy" +# value = "sync" +# } +# set { +# name = "domainFilters" +# value = "{${azurerm_dns_zone.primary-dns-zone.name},${azurerm_dns_zone.second-dns-zone.name},${azurerm_dns_zone.third-dns-zone.name}}" +# } +# set { +# name = "azure.resourceGroup" +# value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // +# } +# set { +# name = "azure.tenantId" +# value = data.azuread_client_config.current.tenant_id +# } +# set { +# name = "azure.subscriptionId" +# value = data.azurerm_subscription.current.subscription_id +# } +# set { +# name = "azure.aadClientId" +# value = azuread_application.example.application_id +# } +# set { +# name = "azure.aadClientSecret" +# value = azuread_application_password.current.value +# } +# # # set { +# # # name = "azure.useManagedIdentityExtension" +# # # value = "true" +# # # } +# # # set { +# # # name = "azure.userAssignedIdentityID" +# # # value = azuread_service_principal.current.id +# # # } + +# # --set txtOwnerId=$AZ_AKS_NAME \ +# # --set provider=azure \ +# # --set azure.resourceGroup=$AZ_DNS_GROUP \ +# # --set azure.tenantId=$AZ_TENANT_ID \ +# # --set azure.subscriptionId=$AZ_SUBSCRIPTION_ID \ +# # --set azure.aadClientId=$SP_CLIENT_ID \ +# # --set azure.aadClientSecret="$SP_CLIENT_SECRET" \ +# # --set azure.cloud=AzurePublicCloud \ +# # --set policy=sync \ +# # --set domainFilters={$DOMAIN_NAME} -} +# } resource "helm_release" "cert-manager" { name = "cert-manager" namespace = "cert-manager" From 4c4dcf520e96a8e22404daa3b7a82ea882df3e13 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 20:52:48 +0300 Subject: [PATCH 14/24] fix: enable external-dns --- deploy/azure/azure-terraform/main.tf | 154 +++++++++++++-------------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 6af553dd..f9d61c00 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -480,84 +480,84 @@ locals { EOF } -# resource "helm_release" "external-dns" { -# depends_on = [ -# azurerm_dns_zone.primary-dns-zone -# ] -# dependency_update = "true" -# name = "external-dns" -# repository = "https://charts.bitnami.com/bitnami" -# chart = "external-dns" -# namespace = "external-dns" -# create_namespace = true -# # values = [ -# # local.dnsValues -# # ] -# set { -# name = "azure.cloud" -# value = "AzurePublicCloud" -# } -# set { -# name = "txtOwnerId" -# value = azurerm_kubernetes_cluster.o2nextgen-aks.name -# } -# set { -# name = "provider" -# value = "azure" -# } -# set { -# name = "logLevel" -# value = "debug" -# } -# set { -# name = "policy" -# value = "sync" -# } -# set { -# name = "domainFilters" -# value = "{${azurerm_dns_zone.primary-dns-zone.name},${azurerm_dns_zone.second-dns-zone.name},${azurerm_dns_zone.third-dns-zone.name}}" -# } -# set { -# name = "azure.resourceGroup" -# value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // -# } -# set { -# name = "azure.tenantId" -# value = data.azuread_client_config.current.tenant_id -# } -# set { -# name = "azure.subscriptionId" -# value = data.azurerm_subscription.current.subscription_id -# } -# set { -# name = "azure.aadClientId" -# value = azuread_application.example.application_id -# } -# set { -# name = "azure.aadClientSecret" -# value = azuread_application_password.current.value -# } -# # # set { -# # # name = "azure.useManagedIdentityExtension" -# # # value = "true" -# # # } -# # # set { -# # # name = "azure.userAssignedIdentityID" -# # # value = azuread_service_principal.current.id -# # # } - -# # --set txtOwnerId=$AZ_AKS_NAME \ -# # --set provider=azure \ -# # --set azure.resourceGroup=$AZ_DNS_GROUP \ -# # --set azure.tenantId=$AZ_TENANT_ID \ -# # --set azure.subscriptionId=$AZ_SUBSCRIPTION_ID \ -# # --set azure.aadClientId=$SP_CLIENT_ID \ -# # --set azure.aadClientSecret="$SP_CLIENT_SECRET" \ -# # --set azure.cloud=AzurePublicCloud \ -# # --set policy=sync \ -# # --set domainFilters={$DOMAIN_NAME} +resource "helm_release" "external-dns" { + depends_on = [ + azurerm_dns_zone.primary-dns-zone + ] + dependency_update = "true" + name = "external-dns" + repository = "https://charts.bitnami.com/bitnami" + chart = "external-dns" + namespace = "external-dns" + create_namespace = true + # values = [ + # local.dnsValues + # ] + set { + name = "azure.cloud" + value = "AzurePublicCloud" + } + set { + name = "txtOwnerId" + value = azurerm_kubernetes_cluster.o2nextgen-aks.name + } + set { + name = "provider" + value = "azure" + } + set { + name = "logLevel" + value = "debug" + } + set { + name = "policy" + value = "sync" + } + set { + name = "domainFilters" + value = "{${azurerm_dns_zone.primary-dns-zone.name},${azurerm_dns_zone.second-dns-zone.name},${azurerm_dns_zone.third-dns-zone.name}}" + } + set { + name = "azure.resourceGroup" + value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // + } + set { + name = "azure.tenantId" + value = data.azuread_client_config.current.tenant_id + } + set { + name = "azure.subscriptionId" + value = data.azurerm_subscription.current.subscription_id + } + set { + name = "azure.aadClientId" + value = azuread_application.example.application_id + } + set { + name = "azure.aadClientSecret" + value = azuread_application_password.current.value + } + # # set { + # # name = "azure.useManagedIdentityExtension" + # # value = "true" + # # } + # # set { + # # name = "azure.userAssignedIdentityID" + # # value = azuread_service_principal.current.id + # # } + + # --set txtOwnerId=$AZ_AKS_NAME \ + # --set provider=azure \ + # --set azure.resourceGroup=$AZ_DNS_GROUP \ + # --set azure.tenantId=$AZ_TENANT_ID \ + # --set azure.subscriptionId=$AZ_SUBSCRIPTION_ID \ + # --set azure.aadClientId=$SP_CLIENT_ID \ + # --set azure.aadClientSecret="$SP_CLIENT_SECRET" \ + # --set azure.cloud=AzurePublicCloud \ + # --set policy=sync \ + # --set domainFilters={$DOMAIN_NAME} -# } +} resource "helm_release" "cert-manager" { name = "cert-manager" namespace = "cert-manager" From 80a4b218215a9843df3da7d838bca6f064d3dc49 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 21:09:52 +0300 Subject: [PATCH 15/24] fix: update domain for pfr --- deploy/azure/azure-terraform/main.tf | 6 +- deploy/helm/pfr-webapp/.helmignore | 23 +++++ deploy/helm/pfr-webapp/Chart.yaml | 24 +++++ deploy/helm/pfr-webapp/templates/NOTES.txt | 22 +++++ deploy/helm/pfr-webapp/templates/_helpers.tpl | 62 +++++++++++++ .../helm/pfr-webapp/templates/deployment.yaml | 61 +++++++++++++ deploy/helm/pfr-webapp/templates/hpa.yaml | 28 ++++++ deploy/helm/pfr-webapp/templates/ingress.yaml | 61 +++++++++++++ deploy/helm/pfr-webapp/templates/service.yaml | 15 ++++ .../pfr-webapp/templates/serviceaccount.yaml | 12 +++ .../templates/tests/test-connection.yaml | 15 ++++ deploy/helm/pfr-webapp/values.yaml | 88 +++++++++++++++++++ 12 files changed, 413 insertions(+), 4 deletions(-) create mode 100644 deploy/helm/pfr-webapp/.helmignore create mode 100644 deploy/helm/pfr-webapp/Chart.yaml create mode 100644 deploy/helm/pfr-webapp/templates/NOTES.txt create mode 100644 deploy/helm/pfr-webapp/templates/_helpers.tpl create mode 100644 deploy/helm/pfr-webapp/templates/deployment.yaml create mode 100644 deploy/helm/pfr-webapp/templates/hpa.yaml create mode 100644 deploy/helm/pfr-webapp/templates/ingress.yaml create mode 100644 deploy/helm/pfr-webapp/templates/service.yaml create mode 100644 deploy/helm/pfr-webapp/templates/serviceaccount.yaml create mode 100644 deploy/helm/pfr-webapp/templates/tests/test-connection.yaml create mode 100644 deploy/helm/pfr-webapp/values.yaml diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index f9d61c00..0f166852 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -157,7 +157,7 @@ resource "azurerm_dns_zone" "second-dns-zone" { depends_on = [ azurerm_kubernetes_cluster.o2nextgen-aks ] - name = "prf-cent.com" + name = "pfr-cent.com" resource_group_name = var.k8s_resource_group tags = { @@ -474,9 +474,7 @@ locals { - --azure.aadClientSecret="${azuread_application_password.current.value}" - --azure.cloud=AzurePublicCloud - --policy=sync - - --domainFilters[0]={${azurerm_dns_zone.primary-dns-zone.name}} - - --domainFilters[1]={${azurerm_dns_zone.second-dns-zone.name}} - - --domainFilters[2]={${azurerm_dns_zone.third-dns-zone.name}} + - --domainFilters={${azurerm_dns_zone.primary-dns-zone.name}} EOF } diff --git a/deploy/helm/pfr-webapp/.helmignore b/deploy/helm/pfr-webapp/.helmignore new file mode 100644 index 00000000..0e8a0eb3 --- /dev/null +++ b/deploy/helm/pfr-webapp/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/deploy/helm/pfr-webapp/Chart.yaml b/deploy/helm/pfr-webapp/Chart.yaml new file mode 100644 index 00000000..2bb88d04 --- /dev/null +++ b/deploy/helm/pfr-webapp/Chart.yaml @@ -0,0 +1,24 @@ +apiVersion: v2 +name: pfr-webapp +description: A Helm chart for Kubernetes + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: "1.16.0" diff --git a/deploy/helm/pfr-webapp/templates/NOTES.txt b/deploy/helm/pfr-webapp/templates/NOTES.txt new file mode 100644 index 00000000..af7bf10a --- /dev/null +++ b/deploy/helm/pfr-webapp/templates/NOTES.txt @@ -0,0 +1,22 @@ +1. Get the application URL by running these commands: +{{- if .Values.ingress.enabled }} +{{- range $host := .Values.ingress.hosts }} + {{- range .paths }} + http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }} + {{- end }} +{{- end }} +{{- else if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "pfr-webapp.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "pfr-webapp.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "pfr-webapp.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "pfr-webapp.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT +{{- end }} diff --git a/deploy/helm/pfr-webapp/templates/_helpers.tpl b/deploy/helm/pfr-webapp/templates/_helpers.tpl new file mode 100644 index 00000000..ebbb4b2c --- /dev/null +++ b/deploy/helm/pfr-webapp/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "pfr-webapp.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "pfr-webapp.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "pfr-webapp.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "pfr-webapp.labels" -}} +helm.sh/chart: {{ include "pfr-webapp.chart" . }} +{{ include "pfr-webapp.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "pfr-webapp.selectorLabels" -}} +app.kubernetes.io/name: {{ include "pfr-webapp.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "pfr-webapp.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "pfr-webapp.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/deploy/helm/pfr-webapp/templates/deployment.yaml b/deploy/helm/pfr-webapp/templates/deployment.yaml new file mode 100644 index 00000000..87a575d9 --- /dev/null +++ b/deploy/helm/pfr-webapp/templates/deployment.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "pfr-webapp.fullname" . }} + labels: + {{- include "pfr-webapp.labels" . | nindent 4 }} +spec: + {{- if not .Values.autoscaling.enabled }} + replicas: {{ .Values.replicaCount }} + {{- end }} + selector: + matchLabels: + {{- include "pfr-webapp.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "pfr-webapp.selectorLabels" . | nindent 8 }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "pfr-webapp.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + containers: + - name: {{ .Chart.Name }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - name: http + containerPort: 80 + protocol: TCP + livenessProbe: + httpGet: + path: / + port: http + readinessProbe: + httpGet: + path: / + port: http + resources: + {{- toYaml .Values.resources | nindent 12 }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/deploy/helm/pfr-webapp/templates/hpa.yaml b/deploy/helm/pfr-webapp/templates/hpa.yaml new file mode 100644 index 00000000..bee0a582 --- /dev/null +++ b/deploy/helm/pfr-webapp/templates/hpa.yaml @@ -0,0 +1,28 @@ +{{- if .Values.autoscaling.enabled }} +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + name: {{ include "pfr-webapp.fullname" . }} + labels: + {{- include "pfr-webapp.labels" . | nindent 4 }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ include "pfr-webapp.fullname" . }} + minReplicas: {{ .Values.autoscaling.minReplicas }} + maxReplicas: {{ .Values.autoscaling.maxReplicas }} + metrics: + {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} +{{- end }} diff --git a/deploy/helm/pfr-webapp/templates/ingress.yaml b/deploy/helm/pfr-webapp/templates/ingress.yaml new file mode 100644 index 00000000..3400e931 --- /dev/null +++ b/deploy/helm/pfr-webapp/templates/ingress.yaml @@ -0,0 +1,61 @@ +{{- if .Values.ingress.enabled -}} +{{- $fullName := include "pfr-webapp.fullname" . -}} +{{- $svcPort := .Values.service.port -}} +{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} + {{- end }} +{{- end }} +{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1 +{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + {{- include "pfr-webapp.labels" . | nindent 4 }} + {{- with .Values.ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .Values.ingress.className }} + {{- end }} + {{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + pathType: {{ .pathType }} + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ $fullName }} + port: + number: {{ $svcPort }} + {{- else }} + serviceName: {{ $fullName }} + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} diff --git a/deploy/helm/pfr-webapp/templates/service.yaml b/deploy/helm/pfr-webapp/templates/service.yaml new file mode 100644 index 00000000..f507b28e --- /dev/null +++ b/deploy/helm/pfr-webapp/templates/service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "pfr-webapp.fullname" . }} + labels: + {{- include "pfr-webapp.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: http + protocol: TCP + name: http + selector: + {{- include "pfr-webapp.selectorLabels" . | nindent 4 }} diff --git a/deploy/helm/pfr-webapp/templates/serviceaccount.yaml b/deploy/helm/pfr-webapp/templates/serviceaccount.yaml new file mode 100644 index 00000000..b30837c5 --- /dev/null +++ b/deploy/helm/pfr-webapp/templates/serviceaccount.yaml @@ -0,0 +1,12 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "pfr-webapp.serviceAccountName" . }} + labels: + {{- include "pfr-webapp.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +{{- end }} diff --git a/deploy/helm/pfr-webapp/templates/tests/test-connection.yaml b/deploy/helm/pfr-webapp/templates/tests/test-connection.yaml new file mode 100644 index 00000000..a538ca8d --- /dev/null +++ b/deploy/helm/pfr-webapp/templates/tests/test-connection.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "{{ include "pfr-webapp.fullname" . }}-test-connection" + labels: + {{- include "pfr-webapp.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": test +spec: + containers: + - name: wget + image: busybox + command: ['wget'] + args: ['{{ include "pfr-webapp.fullname" . }}:{{ .Values.service.port }}'] + restartPolicy: Never diff --git a/deploy/helm/pfr-webapp/values.yaml b/deploy/helm/pfr-webapp/values.yaml new file mode 100644 index 00000000..12de531b --- /dev/null +++ b/deploy/helm/pfr-webapp/values.yaml @@ -0,0 +1,88 @@ +# Default values for pfr-webapp. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + repository: nginx + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "" + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +ingress: + enabled: true + className: "" + annotations: + cert-manager.io/cluster-issuer: letsencrypt + kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: pfr-webapp.o2bus.com + paths: + - path: / + pathType: ImplementationSpecific + - host: pfr-centr.com + paths: + - path: / + pathType: ImplementationSpecific + tls: + - secretName: tls-secret-pfr-webapp + hosts: + - pfr-webapp.o2bus.com + - pfr-centr.com + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 100 + targetCPUUtilizationPercentage: 80 + # targetMemoryUtilizationPercentage: 80 + +nodeSelector: {} + +tolerations: [] + +affinity: {} From cebb8630a0363d742d1d9395d66f806a9202d1ff Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 21:15:47 +0300 Subject: [PATCH 16/24] fix: disable external-dns --- deploy/azure/azure-terraform/main.tf | 154 +++++++++++++-------------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 0f166852..74d0985c 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -478,84 +478,84 @@ locals { EOF } -resource "helm_release" "external-dns" { - depends_on = [ - azurerm_dns_zone.primary-dns-zone - ] - dependency_update = "true" - name = "external-dns" - repository = "https://charts.bitnami.com/bitnami" - chart = "external-dns" - namespace = "external-dns" - create_namespace = true - # values = [ - # local.dnsValues - # ] - set { - name = "azure.cloud" - value = "AzurePublicCloud" - } - set { - name = "txtOwnerId" - value = azurerm_kubernetes_cluster.o2nextgen-aks.name - } - set { - name = "provider" - value = "azure" - } - set { - name = "logLevel" - value = "debug" - } - set { - name = "policy" - value = "sync" - } - set { - name = "domainFilters" - value = "{${azurerm_dns_zone.primary-dns-zone.name},${azurerm_dns_zone.second-dns-zone.name},${azurerm_dns_zone.third-dns-zone.name}}" - } - set { - name = "azure.resourceGroup" - value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // - } - set { - name = "azure.tenantId" - value = data.azuread_client_config.current.tenant_id - } - set { - name = "azure.subscriptionId" - value = data.azurerm_subscription.current.subscription_id - } - set { - name = "azure.aadClientId" - value = azuread_application.example.application_id - } - set { - name = "azure.aadClientSecret" - value = azuread_application_password.current.value - } - # # set { - # # name = "azure.useManagedIdentityExtension" - # # value = "true" - # # } - # # set { - # # name = "azure.userAssignedIdentityID" - # # value = azuread_service_principal.current.id - # # } - - # --set txtOwnerId=$AZ_AKS_NAME \ - # --set provider=azure \ - # --set azure.resourceGroup=$AZ_DNS_GROUP \ - # --set azure.tenantId=$AZ_TENANT_ID \ - # --set azure.subscriptionId=$AZ_SUBSCRIPTION_ID \ - # --set azure.aadClientId=$SP_CLIENT_ID \ - # --set azure.aadClientSecret="$SP_CLIENT_SECRET" \ - # --set azure.cloud=AzurePublicCloud \ - # --set policy=sync \ - # --set domainFilters={$DOMAIN_NAME} +# resource "helm_release" "external-dns" { +# depends_on = [ +# azurerm_dns_zone.primary-dns-zone +# ] +# dependency_update = "true" +# name = "external-dns" +# repository = "https://charts.bitnami.com/bitnami" +# chart = "external-dns" +# namespace = "external-dns" +# create_namespace = true +# # values = [ +# # local.dnsValues +# # ] +# set { +# name = "azure.cloud" +# value = "AzurePublicCloud" +# } +# set { +# name = "txtOwnerId" +# value = azurerm_kubernetes_cluster.o2nextgen-aks.name +# } +# set { +# name = "provider" +# value = "azure" +# } +# set { +# name = "logLevel" +# value = "debug" +# } +# set { +# name = "policy" +# value = "sync" +# } +# set { +# name = "domainFilters" +# value = "{${azurerm_dns_zone.primary-dns-zone.name},${azurerm_dns_zone.second-dns-zone.name},${azurerm_dns_zone.third-dns-zone.name}}" +# } +# set { +# name = "azure.resourceGroup" +# value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // +# } +# set { +# name = "azure.tenantId" +# value = data.azuread_client_config.current.tenant_id +# } +# set { +# name = "azure.subscriptionId" +# value = data.azurerm_subscription.current.subscription_id +# } +# set { +# name = "azure.aadClientId" +# value = azuread_application.example.application_id +# } +# set { +# name = "azure.aadClientSecret" +# value = azuread_application_password.current.value +# } +# # # set { +# # # name = "azure.useManagedIdentityExtension" +# # # value = "true" +# # # } +# # # set { +# # # name = "azure.userAssignedIdentityID" +# # # value = azuread_service_principal.current.id +# # # } + +# # --set txtOwnerId=$AZ_AKS_NAME \ +# # --set provider=azure \ +# # --set azure.resourceGroup=$AZ_DNS_GROUP \ +# # --set azure.tenantId=$AZ_TENANT_ID \ +# # --set azure.subscriptionId=$AZ_SUBSCRIPTION_ID \ +# # --set azure.aadClientId=$SP_CLIENT_ID \ +# # --set azure.aadClientSecret="$SP_CLIENT_SECRET" \ +# # --set azure.cloud=AzurePublicCloud \ +# # --set policy=sync \ +# # --set domainFilters={$DOMAIN_NAME} -} +# } resource "helm_release" "cert-manager" { name = "cert-manager" namespace = "cert-manager" From 431de62c9ef4e00d61c0aab2b91c7e0d22eb9753 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 21:16:34 +0300 Subject: [PATCH 17/24] fix: enable external-dns --- deploy/azure/azure-terraform/main.tf | 154 +++++++++++++-------------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 74d0985c..0f166852 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -478,84 +478,84 @@ locals { EOF } -# resource "helm_release" "external-dns" { -# depends_on = [ -# azurerm_dns_zone.primary-dns-zone -# ] -# dependency_update = "true" -# name = "external-dns" -# repository = "https://charts.bitnami.com/bitnami" -# chart = "external-dns" -# namespace = "external-dns" -# create_namespace = true -# # values = [ -# # local.dnsValues -# # ] -# set { -# name = "azure.cloud" -# value = "AzurePublicCloud" -# } -# set { -# name = "txtOwnerId" -# value = azurerm_kubernetes_cluster.o2nextgen-aks.name -# } -# set { -# name = "provider" -# value = "azure" -# } -# set { -# name = "logLevel" -# value = "debug" -# } -# set { -# name = "policy" -# value = "sync" -# } -# set { -# name = "domainFilters" -# value = "{${azurerm_dns_zone.primary-dns-zone.name},${azurerm_dns_zone.second-dns-zone.name},${azurerm_dns_zone.third-dns-zone.name}}" -# } -# set { -# name = "azure.resourceGroup" -# value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // -# } -# set { -# name = "azure.tenantId" -# value = data.azuread_client_config.current.tenant_id -# } -# set { -# name = "azure.subscriptionId" -# value = data.azurerm_subscription.current.subscription_id -# } -# set { -# name = "azure.aadClientId" -# value = azuread_application.example.application_id -# } -# set { -# name = "azure.aadClientSecret" -# value = azuread_application_password.current.value -# } -# # # set { -# # # name = "azure.useManagedIdentityExtension" -# # # value = "true" -# # # } -# # # set { -# # # name = "azure.userAssignedIdentityID" -# # # value = azuread_service_principal.current.id -# # # } - -# # --set txtOwnerId=$AZ_AKS_NAME \ -# # --set provider=azure \ -# # --set azure.resourceGroup=$AZ_DNS_GROUP \ -# # --set azure.tenantId=$AZ_TENANT_ID \ -# # --set azure.subscriptionId=$AZ_SUBSCRIPTION_ID \ -# # --set azure.aadClientId=$SP_CLIENT_ID \ -# # --set azure.aadClientSecret="$SP_CLIENT_SECRET" \ -# # --set azure.cloud=AzurePublicCloud \ -# # --set policy=sync \ -# # --set domainFilters={$DOMAIN_NAME} +resource "helm_release" "external-dns" { + depends_on = [ + azurerm_dns_zone.primary-dns-zone + ] + dependency_update = "true" + name = "external-dns" + repository = "https://charts.bitnami.com/bitnami" + chart = "external-dns" + namespace = "external-dns" + create_namespace = true + # values = [ + # local.dnsValues + # ] + set { + name = "azure.cloud" + value = "AzurePublicCloud" + } + set { + name = "txtOwnerId" + value = azurerm_kubernetes_cluster.o2nextgen-aks.name + } + set { + name = "provider" + value = "azure" + } + set { + name = "logLevel" + value = "debug" + } + set { + name = "policy" + value = "sync" + } + set { + name = "domainFilters" + value = "{${azurerm_dns_zone.primary-dns-zone.name},${azurerm_dns_zone.second-dns-zone.name},${azurerm_dns_zone.third-dns-zone.name}}" + } + set { + name = "azure.resourceGroup" + value = azurerm_kubernetes_cluster.o2nextgen-aks.resource_group_name //var.k8s_resource_group //"AzureDNS" //var.k8s_resource_group //"AzureDNS" // + } + set { + name = "azure.tenantId" + value = data.azuread_client_config.current.tenant_id + } + set { + name = "azure.subscriptionId" + value = data.azurerm_subscription.current.subscription_id + } + set { + name = "azure.aadClientId" + value = azuread_application.example.application_id + } + set { + name = "azure.aadClientSecret" + value = azuread_application_password.current.value + } + # # set { + # # name = "azure.useManagedIdentityExtension" + # # value = "true" + # # } + # # set { + # # name = "azure.userAssignedIdentityID" + # # value = azuread_service_principal.current.id + # # } + + # --set txtOwnerId=$AZ_AKS_NAME \ + # --set provider=azure \ + # --set azure.resourceGroup=$AZ_DNS_GROUP \ + # --set azure.tenantId=$AZ_TENANT_ID \ + # --set azure.subscriptionId=$AZ_SUBSCRIPTION_ID \ + # --set azure.aadClientId=$SP_CLIENT_ID \ + # --set azure.aadClientSecret="$SP_CLIENT_SECRET" \ + # --set azure.cloud=AzurePublicCloud \ + # --set policy=sync \ + # --set domainFilters={$DOMAIN_NAME} -# } +} resource "helm_release" "cert-manager" { name = "cert-manager" namespace = "cert-manager" From d613859b0dd960fae2e97ec1d82e7079041f3e44 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 21:20:21 +0300 Subject: [PATCH 18/24] fix: update dns --- deploy/azure/azure-terraform/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/azure/azure-terraform/main.tf b/deploy/azure/azure-terraform/main.tf index 0f166852..0c351d4e 100644 --- a/deploy/azure/azure-terraform/main.tf +++ b/deploy/azure/azure-terraform/main.tf @@ -157,7 +157,7 @@ resource "azurerm_dns_zone" "second-dns-zone" { depends_on = [ azurerm_kubernetes_cluster.o2nextgen-aks ] - name = "pfr-cent.com" + name = "pfr-centr.com" resource_group_name = var.k8s_resource_group tags = { From 335e05efb6518c7bb4f3c59f75df5f49f606679e Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 21:57:31 +0300 Subject: [PATCH 19/24] fix(ontracker-api): update code --- .../O2NextGen.OnTracker.Api/Controllers/GeoController.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/GeoController.cs b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/GeoController.cs index b51b44e0..3bf6b0f4 100644 --- a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/GeoController.cs +++ b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/GeoController.cs @@ -21,7 +21,8 @@ public GeoController(IGeoIpAddressResolver geoIpAddressResolver) public ActionResult Get() { // var ip = HttpContext.Features.Get()?.RemoteIpAddress; - IPAddress remoteIpAddress = HttpContext.Features.Get()?.RemoteIpAddress;//Request.HttpContext.Connection.RemoteIpAddress; + //IPAddress remoteIpAddress = HttpContext.Features.Get()?.RemoteIpAddress;//Request.HttpContext.Connection.RemoteIpAddress; + IPAddress remoteIpAddress = Request.HttpContext.Connection.RemoteIpAddress;// string result = ""; if (remoteIpAddress != null) { From 685f019272799175d6a15869b70b492f6262ba06 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 22:44:20 +0300 Subject: [PATCH 20/24] fix(ontracker-api): update code --- .../Controllers/GeoController.cs | 27 ++----------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/GeoController.cs b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/GeoController.cs index 3bf6b0f4..16c600a5 100644 --- a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/GeoController.cs +++ b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/GeoController.cs @@ -22,7 +22,8 @@ public ActionResult Get() { // var ip = HttpContext.Features.Get()?.RemoteIpAddress; //IPAddress remoteIpAddress = HttpContext.Features.Get()?.RemoteIpAddress;//Request.HttpContext.Connection.RemoteIpAddress; - IPAddress remoteIpAddress = Request.HttpContext.Connection.RemoteIpAddress;// + //IPAddress remoteIpAddress = Request.HttpContext.Connection.RemoteIpAddress;// + IPAddress remoteIpAddress = HttpContext.Features.Get()?.RemoteIpAddress; string result = ""; if (remoteIpAddress != null) { @@ -42,30 +43,6 @@ public ActionResult Get() // return new string[] { "value1", "value2" }; } - // GET api/values/5 - [HttpGet("{id}")] - public ActionResult Get(int id) - { - return "value"; - } - - // POST api/values - [HttpPost] - public void Post([FromBody] string value) - { - } - - // PUT api/values/5 - [HttpPut("{id}")] - public void Put(int id, [FromBody] string value) - { - } - - // DELETE api/values/5 - [HttpDelete("{id}")] - public void Delete(int id) - { - } } } From 4366511b64b574a112846f1ce8330dabc1d8b6c1 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 23:13:31 +0300 Subject: [PATCH 21/24] fix(ontracker-api): disable https --- .../on-tracker/O2NextGen.OnTracker.Api/Startup.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Startup.cs b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Startup.cs index a90cc930..27928f7f 100644 --- a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Startup.cs +++ b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Startup.cs @@ -48,10 +48,10 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseDeveloperExceptionPage(); } - else - { - app.UseHsts(); - } + //else + //{ + // app.UseHsts(); + //} app.UseSwagger() .UseSwaggerUI(c => { c.SwaggerEndpoint($"/swagger/v1/swagger.json", "On-Tracker API V1"); }); app.UseHttpsRedirection(); From b93a839d6913e7238d5a7934e26adf5b50c9f801 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Sun, 23 Oct 2022 23:21:24 +0300 Subject: [PATCH 22/24] fix(ontracker-api): update ontracker-api service code --- .../Controllers/GeoController.cs | 6 ++++-- .../O2NextGen.OnTracker.Api.csproj | 1 - .../Properties/launchSettings.json | 20 +++++++++---------- .../O2NextGen.OnTracker.Api/Startup.cs | 3 ++- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/GeoController.cs b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/GeoController.cs index 16c600a5..b80dc7b7 100644 --- a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/GeoController.cs +++ b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/GeoController.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System.Diagnostics; +using System.Linq; using System.Net; using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Mvc; @@ -20,6 +21,7 @@ public GeoController(IGeoIpAddressResolver geoIpAddressResolver) [HttpGet] public ActionResult Get() { + Debug.WriteLine("start"); // var ip = HttpContext.Features.Get()?.RemoteIpAddress; //IPAddress remoteIpAddress = HttpContext.Features.Get()?.RemoteIpAddress;//Request.HttpContext.Connection.RemoteIpAddress; //IPAddress remoteIpAddress = Request.HttpContext.Connection.RemoteIpAddress;// @@ -36,7 +38,7 @@ public ActionResult Get() } result = remoteIpAddress.ToString(); } - + Debug.WriteLine(remoteIpAddress.ToString()); if (result.ToString() == "127.0.0.1") return Ok("request with localhost"); return Ok(_geoIpAddressResolver.ResolveAddress(IPAddress.Parse(result.ToString()))); diff --git a/src/Services/on-tracker/O2NextGen.OnTracker.Api/O2NextGen.OnTracker.Api.csproj b/src/Services/on-tracker/O2NextGen.OnTracker.Api/O2NextGen.OnTracker.Api.csproj index 0a30912c..25fa8b90 100644 --- a/src/Services/on-tracker/O2NextGen.OnTracker.Api/O2NextGen.OnTracker.Api.csproj +++ b/src/Services/on-tracker/O2NextGen.OnTracker.Api/O2NextGen.OnTracker.Api.csproj @@ -5,7 +5,6 @@ ../docker-compose.dcproj - diff --git a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Properties/launchSettings.json b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Properties/launchSettings.json index 449019e7..641957f9 100644 --- a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Properties/launchSettings.json +++ b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Properties/launchSettings.json @@ -1,18 +1,18 @@ { "profiles": { - "O2.OnTracker.Api": { - "commandName": "Project", - "launchBrowser": true, - "launchUrl": "swagger", - "applicationUrl": "https://localhost:57549;http://localhost:43192", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, + //"O2.OnTracker.Api": { + // "commandName": "Project", + // "launchBrowser": true, + // "launchUrl": "swagger", + // "applicationUrl": "https://localhost:443;http://localhost:80", + // "environmentVariables": { + // "ASPNETCORE_ENVIRONMENT": "Development" + // } + //}, "O2NextGen.OnTracker.Api": { "commandName": "Project", "launchBrowser": true, - "applicationUrl": "https://localhost:65042;http://localhost:49779", + "applicationUrl": "https://localhost:5001;http://localhost:5011", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Startup.cs b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Startup.cs index 27928f7f..e73c7900 100644 --- a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Startup.cs +++ b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Startup.cs @@ -52,9 +52,10 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) //{ // app.UseHsts(); //} + app.UseSwagger() .UseSwaggerUI(c => { c.SwaggerEndpoint($"/swagger/v1/swagger.json", "On-Tracker API V1"); }); - app.UseHttpsRedirection(); + //app.UseHttpsRedirection(); //app.UseMvc(routes => { // routes.MapRoute(name: "default", template: "{controller=Home}/{action=Index}/{id?}"); //}); From 6faea7c88a30488b9be39b444061bd264fe50473 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Mon, 24 Oct 2022 09:40:33 +0300 Subject: [PATCH 23/24] fix(helm): update values --- deploy/helm/o2bionics-webapp/values.yaml | 7 ++++++- deploy/helm/ontracker-api/values.yaml | 2 +- deploy/helm/pfr-webapp/values.yaml | 12 ++++++------ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/deploy/helm/o2bionics-webapp/values.yaml b/deploy/helm/o2bionics-webapp/values.yaml index df340c62..a2a42fb7 100644 --- a/deploy/helm/o2bionics-webapp/values.yaml +++ b/deploy/helm/o2bionics-webapp/values.yaml @@ -52,10 +52,15 @@ ingress: paths: - path: / pathType: ImplementationSpecific + - host: o2bionics.com + paths: + - path: / + pathType: ImplementationSpecific tls: - - secretName: tls-secret-o2bus + - secretName: tls-secret-o2bionics-com hosts: - o2bionics.o2bus.com + - o2bionics.com resources: #{} # We usually recommend not to specify default resources and to leave this as a conscious diff --git a/deploy/helm/ontracker-api/values.yaml b/deploy/helm/ontracker-api/values.yaml index 2811e847..d6b725d5 100644 --- a/deploy/helm/ontracker-api/values.yaml +++ b/deploy/helm/ontracker-api/values.yaml @@ -5,7 +5,7 @@ replicaCount: 1 image: - repository: o2nextgen.azurecr.io/ontracker-api #nginx + repository: nginx pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: "latest" diff --git a/deploy/helm/pfr-webapp/values.yaml b/deploy/helm/pfr-webapp/values.yaml index 12de531b..3fffaf7f 100644 --- a/deploy/helm/pfr-webapp/values.yaml +++ b/deploy/helm/pfr-webapp/values.yaml @@ -48,18 +48,18 @@ ingress: kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" hosts: - - host: pfr-webapp.o2bus.com - paths: - - path: / - pathType: ImplementationSpecific + # - host: pfr-webapp.o2bus.com + # paths: + # - path: / + # pathType: ImplementationSpecific - host: pfr-centr.com paths: - path: / pathType: ImplementationSpecific tls: - - secretName: tls-secret-pfr-webapp + - secretName: tls-secret-pfr-webapp-com hosts: - - pfr-webapp.o2bus.com + # - pfr-webapp.o2bus.com - pfr-centr.com resources: {} From dc9efc16df32eb3f791c815b002cf01698127cc1 Mon Sep 17 00:00:00 2001 From: Denis Prokharhcyk Date: Mon, 24 Oct 2022 12:56:06 +0300 Subject: [PATCH 24/24] feat(issue-463):add version controller for ontracker-api service --- .../Controllers/VersionController.cs | 20 +++++++++++++++++++ .../Properties/launchSettings.json | 9 --------- 2 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/VersionController.cs diff --git a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/VersionController.cs b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/VersionController.cs new file mode 100644 index 00000000..bbef0412 --- /dev/null +++ b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Controllers/VersionController.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; + +// For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 + +namespace O2NextGen.OnTracker.Api.Controllers +{ + public class VersionController : Controller + { + // GET: // + public IActionResult Index() + { + return View(); + } + } +} + diff --git a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Properties/launchSettings.json b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Properties/launchSettings.json index 641957f9..0ecbe017 100644 --- a/src/Services/on-tracker/O2NextGen.OnTracker.Api/Properties/launchSettings.json +++ b/src/Services/on-tracker/O2NextGen.OnTracker.Api/Properties/launchSettings.json @@ -1,14 +1,5 @@ { "profiles": { - //"O2.OnTracker.Api": { - // "commandName": "Project", - // "launchBrowser": true, - // "launchUrl": "swagger", - // "applicationUrl": "https://localhost:443;http://localhost:80", - // "environmentVariables": { - // "ASPNETCORE_ENVIRONMENT": "Development" - // } - //}, "O2NextGen.OnTracker.Api": { "commandName": "Project", "launchBrowser": true,