feat(terragrunt): Improve dependency handling & Kubernetes provider configuration
- Fixed `terragrunt run-all plan` failures by adding `mock_outputs` for AKS dependencies. - Ensured proper base64 decoding of PEM-formatted certificates in the Kubernetes provider. - Improved local testing support by integrating Minikube API server and certificates. - Added troubleshooting steps for TLS issues, including CA certificate validation and `insecure = true` for local dev. - Updated documentation with best practices for staged deployment (AKS → kubectl).
+5 −5 · 1 file changed
-
terraform/deployment/aks/kubectl/terragrunt.hcl+5 −5
@@ -7,13 +7,13 @@ include "root" {path=find_in_parent_folders("state.hcl")} dependency "akscluster" { config_path = "../" mock_outputs = { - host = "dummy-host" + host = "https://192.168.49.2:8443" username = "dummy-username" password = "dummy-password" - client_certificate = "dGVzdAo=" - client_key = "dGVzdAo=" - cluster_ca_certificate = "dGVzdAo=" - } + client_certificate = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwdGFXNXAKYTNWaVpVTkJNQjRYRFRJME1EY3dOREUxTXpJME4xb1hEVEkzTURjd05URTFNekkwTjFvd01URVhNQlVHQTFVRQpDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGakFVQmdOVkJBTVREVzFwYm1scmRXSmxMWFZ6WlhJd2dnRWlNQTBHCkNTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQmttaVlWSjNhQzBVbTdZenZrRTBPRWJFbXpLQW4KZ0R3Mis3THRseW9Ic3d1bFI3VlBHby9oOG9TY09iaDlMQW1Qd2JqenlGek1LS1pLaWhQMkVzN0UrckVOdlJjeQp6VFkzekdFRTZVQisxMjQ1ZmFtRkVNU1I4ZkdjamtLeWpQb3hvZEVRMzh2cWM4VVRkdVRSUVpLbFVmNVJuSnRaCjJrWXlzWWNPaEVXQTQxbEt5VHNUVmMvZHliT0d4WkhDVWQwMUZGdGU0VUM3M2RxVytlcGNLbXRZazRha0NqYWUKNjBOd3JXTmVHNVN4YTZpQlZOS1RjRFFsRVhWdDFJVHFTcjl6QktlWERKNkxxVUc1OTZBVEY2OTBjcU9TRUIzQQpRaUErRk91ZlZxTVk1djNWWUlnUkRQbzFpTjFZckE4T1ZoWE5sYjMzby9OZXExbnZXaUY4cS9FVEFnTUJBQUdqCllEQmVNQTRHQTFVZER3RUIvd1FFQXdJRm9EQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JTMmFHc3BhbXduditKcE95YkZ4bFl3cERVaQptREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBWVAxRkwwSGNUTlhoQnFVdzJoVlVqVmNxTElQN0dMMjFiUEtmClBHczJIVW0rTmt3UE9MZ01PVStIWWo4TkkxcHg3MldwQ2VQNitWZ242a1pZWnBNbjNXZVRkeW1wcktyNnBmMFMKR1VXZUNzRnhGOVIwNlhkVG8xVEJLQ203ZTZpQWhZSjJqbzFEdFZJcjJ2c1pBNjI3U3BnS3NOYzByU3pRQVdXKwo0eE5VdHY4UzZvU3lnVitXbmhQbENnYjZqcitXanNRTURER01zVUNXQmZ1K1kxSDRrQ24wZ1ROTHJOMURrZTdxCkNYTm5INTVxdmZDMkY2TlZaTyswSm83TkpHOE01UFl2cUNQdGVmRm4wbFRabWVBL2pEM0RuLytLL292TGs4NGkKL3ZuZ2hlT1dYRnZ1MDlVYTdyQlg3T0R2ZzBTeml0NmZuUzc3anRLNU5lMXhRS3hoUWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + client_key = "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBd1pKb21GU2QyZ3RGSnUyTTc1Qk5EaEd4SnN5Z0o0QThOdnV5N1pjcUI3TUxwVWUxClR4cVA0ZktFbkRtNGZTd0pqOEc0ODhoY3pDaW1Tb29UOWhMT3hQcXhEYjBYTXMwMk44eGhCT2xBZnRkdU9YMnAKaFJERWtmSHhuSTVDc296Nk1hSFJFTi9MNm5QRkUzYmswVUdTcFZIK1VaeWJXZHBHTXJHSERvUkZnT05aU3NrNwpFMVhQM2NtemhzV1J3bEhkTlJSYlh1RkF1OTNhbHZucVhDcHJXSk9HcEFvMm51dERjSzFqWGh1VXNXdW9nVlRTCmszQTBKUkYxYmRTRTZrcS9jd1NubHd5ZWk2bEJ1ZmVnRXhldmRIS2praEFkd0VJZ1BoVHJuMWFqR09iOTFXQ0kKRVF6Nk5ZamRXS3dQRGxZVnpaVzk5NlB6WHF0Wjcxb2hmS3Z4RXdJREFRQUJBb0lCQUVmNkdkeHlzbE51bDJNWApONjJvdVk0K3MrR2FldjdWSnc3RzNzeUx4ZndnN25haHlHQkduelBFQ3QxUWRUSk9HcXdTdTZRaVg2Y21nbGI3Ckt0cjRPVnh6WHp5ZGtDKzZzS3RrMnJxSnhRcWxMbjVBSkxXdSszak5QeXNZbHVKdm0yU3pKOXNmYkdLY2M2NSsKS2kxSk5hODFZdHlUNEF3MEpxQVk5UUJIM05SRWo3Ri9LbzVWMGRsL0RETzJ1bHhSVXJhSkNieFBEQkp3NkdCdAo1WndHMHRhVll6UUZNM2Z1U2gyd3NGSmNCdzlsQ2pxcmFnNjdxVElXQTJIck9oemtKU3JsWUFNNFkxcFNQcWw2CjlXOVdTbFBNYWVmUmExT1h6UERyWmpHclNzU1lEK3Y4dUJVQzZ6ZGZNNW9WakYwSUllSWhFZjdyalJMQnR4L2EKTXVSeENVRUNnWUVBNS9uaDVKN2RQa3M3d2MyaTl1ZVh4VllXYlB2bE8xTWpPVTFmcU9HaWlJdVp6cDRSQWxHZQo5QVdYTkRnQ2p5RVFoNmkrYUFET0ZmVDVOQXJObm1pV0dkQy9uR21tMUN0SUhxQUpaaE5OWnJORGNWZy8zL2xkCnoxbzVpekpSRTVrdDkwYThpVjl6R3hRakZLbGNuVktEZjcyMCtvcjhCZnVqYjJYL1RiZ05yNkVDZ1lFQTFaNWMKRDFSdjA1QUF0MWFMaWtGN0tzVjAzaDc4cGI1N2x5MlNheVNTdDlueWE0VkNscERUNWxNek13T2pIamNNOXFPdgo5N3FidTBZblF5bTBWeEZ2TlJUTk9RNjlTQ3NQUFRoUXdWZ3NRajJSYkNZWGhHblYvZW12Q0lIdXI2MXBWQUFwCnZEaFJzRFllcjNMTWtRQmREakk0UlJ4UlBTWXlwRkJzaXFVOWRETUNnWUVBd3N5cUR3d0JDaUN2UzYzZFhhMVoKVzlOUS9iQUI3WEdCTU10eXV5VFBFZzc0MS9NUW9YdmRHVm5nZ1c5UFp0WURSWWhFYkozUWNjdkh3UllaV1I3RwpmV000cEtacis5dGtzcUw5Z1lSUUNTQWNVSUFsRTNZYWV0ZHZYeDZmeXU5bEZET0llMnQyQTVWRGFFUllpNXdRCjVTSnZhYjF3cWEySXJ6RmQxT3ZzUWtFQ2dZQTJyYVUweTFFZ1h3Qy83T2dreUdRRmE2dGhXNThoc2FNaTdDaEoKUW9CSGpRTHZJSm9Odmg1dkd5YkV6UTZJb21Dd0ZPL3F3aG93a21Ga1lKMW5sKy9XTDIva1JmQ1BNMjVnSmpVTgplRXREM1V5RzJTMDEySDFNMCs3WWg2R1gyQlJZeXYzanpxcWlKd2d0c24zSU04YWQ1cDdlbWNQMW1meG1jS3VICnhZbjRYd0tCZ0E5blBYSGVBRDF0K2VIblBYUTRJVkZwVXp0VjZpdWd1cEVINzV0QzlHMzZJV1VIcXVrKzBwSTYKZnBVQ2N6RldzM0tGNU1FMW5DbnBFeUxxSjlTeUczV1hQTG5zZUJISndRcGRybVAzcHFqanJNdmNORmdyZEtDRgpzbkRWZnVuMkNoMkE0cVpvOU5NYzdJMVRJbitNLy9hek9lTDZJcGltd0lKd0JIUXg3UUZyCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==" + cluster_ca_certificate = "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQ1akNDQXM2Z0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwdGFXNXAKYTNWaVpVTkJNQjRYRFRJME1EY3dOREUxTXpJME4xb1hEVEkzTURjd05URTFNekkwTjFvd0xERVhNQlVHQTFVRQpDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhFVEFQQmdOVkJBTVRDRzFwYm1scmRXSmxNSUlCSWpBTkJna3Foa2lHCjl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF2Vk0yVloxTis5QkEwV05ORG5XUjVlNFJRL250YURlcjcza2EKVXgxdStOUTJQektLWDBuVXZCNWNxcXJqUDAzQitMQTNiSjNpdHVnUkVacjZmMDdUL2FveWdic2Z1QlRscEVnRApLbGNpVyttQTB3OTNFVEJIVHBsb0hRUGFVNVBFYmhhYmdEaDRaMFJZM3Y5aTlxalpURWx3ejREOEZUalBBNm1LCll0emtCYmZVMFp6QmE0WXpUWWVZQ1RGcHZZY1NSTVcxRXg1bGoxT08vWVFwT1F4bURaUUlkcU1YZ0ZQSndZNkkKQnU0K1cyY2ZuOFpCSGluNzMrcjEveGYvWFdzWDdEOGJRaWxnRnVQWUNWTE9Mb0RncXNhRk9yTU45UVpuenlsSgpJd08yNGJyTmZEM3V3dzZ0MW9qS1ZwNDBDN2ZNT01JUllZQUNxY2dYYjc0Nk1RK0kxUUlEQVFBQm80SUJLRENDCkFTUXdEZ1lEVlIwUEFRSC9CQVFEQWdXZ01CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0QKQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVlNQmFBRkxab2F5bHFiQ2UvNG1rN0pzWEdWakNrTlNLWQpNSUhEQmdOVkhSRUVnYnN3Z2JpQ0NtMXBibWxyZFdKbFEwR0NIMk52Ym5SeWIyd3RjR3hoYm1VdWJXbHVhV3QxClltVXVhVzUwWlhKdVlXeUNDRzFwYm1scmRXSmxnaVJyZFdKbGNtNWxkR1Z6TG1SbFptRjFiSFF1YzNaakxtTnMKZFhOMFpYSXViRzlqWVd5Q0ZtdDFZbVZ5Ym1WMFpYTXVaR1ZtWVhWc2RDNXpkbU9DRW10MVltVnlibVYwWlhNdQpaR1ZtWVhWc2RJSUthM1ZpWlhKdVpYUmxjNElKYkc5allXeG9iM04waHdRS1lBQUJod1IvQUFBQmh3UUtBQUFCCmh3VEFxREVDTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBa1M3TFdreElFaUlnZ2lHRnJkaHlTSzNieCtPM0MKaCtydmlUYTFjQkpKa0NKdXB2RVdLRVZ4RWE5eXpwYStJYmVjK1JxV0JncjJFVGJnVWVMUXZDdkRkWjNnWVA5awo2N1NJOVRGMzhZUWdoV3hPSWJJVUk3SHBydDlRcHJQZytMUVRUTFlDTkQ0SlpVaUp0QXcxRjArRzhJelJ4Zm9yCjhNWmptTDMyQVV5aWZweXNGRFByajdIYkVhWCt2SFZnM1c3MEVIUUFIWk5XRHlKUTVUdGxhRXYxTkk2U2dOSFMKZHZLOFJxRVZ0aUtRV2lTVFhPMGFGcHN3V2hWdU8zSHZPZkU2RHVnRVNqK2RHa3BXN0Qxdlpmays0bU9SMDhsMQovS0pYVGpJdnF1bWh0NjdORFVlUnFjOHlHQTJtaldxOU03S3JaaWx6YW1hQXkvUmR6c1IxUVR3awotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" + } mock_outputs_allowed_terraform_commands = ["plan", "validate"] } inputs = {