Skip to content

Instantly share code, notes, and snippets.

@josh-mcq
Last active December 22, 2023 21:52
Show Gist options
  • Save josh-mcq/3747c24dd600832514df3614040d24d6 to your computer and use it in GitHub Desktop.
Save josh-mcq/3747c24dd600832514df3614040d24d6 to your computer and use it in GitHub Desktop.
$ TF_LOG=DEBUG terraform apply
2023-12-22T13:32:23.822-0800 [INFO] Terraform version: 1.1.5
2023-12-22T13:32:23.823-0800 [INFO] Go runtime version: go1.17.6
2023-12-22T13:32:23.823-0800 [INFO] CLI args: []string{"terraform", "apply"}
2023-12-22T13:32:23.823-0800 [DEBUG] Attempting to open CLI config file: /Users/george/.terraformrc
2023-12-22T13:32:23.823-0800 [INFO] Loading CLI configuration from /Users/george/.terraformrc
2023-12-22T13:32:23.825-0800 [DEBUG] ignoring non-existing provider search directory terraform.d/plugins
2023-12-22T13:32:23.825-0800 [DEBUG] ignoring non-existing provider search directory /Users/george/.terraform.d/plugins
2023-12-22T13:32:23.825-0800 [DEBUG] ignoring non-existing provider search directory /Users/george/Library/Application Support/io.terraform/plugins
2023-12-22T13:32:23.825-0800 [DEBUG] ignoring non-existing provider search directory /Library/Application Support/io.terraform/plugins
2023-12-22T13:32:23.827-0800 [INFO] CLI command args: []string{"apply"}
2023-12-22T13:32:23.839-0800 [DEBUG] Service discovery for app.terraform.io at https://app.terraform.io/.well-known/terraform.json
2023-12-22T13:32:24.354-0800 [DEBUG] Retrieve version constraints for service tfe.v2.1 and product terraform
2023-12-22T13:32:26.695-0800 [DEBUG] checking for provisioner in "."
2023-12-22T13:32:26.702-0800 [DEBUG] checking for provisioner in "/usr/local/bin"
2023-12-22T13:32:26.852-0800 [INFO] backend/remote: starting Apply operation
Running apply in the remote backend. Output will stream here. Pressing Ctrl-C
will cancel the remote apply if it's still pending. If the apply started it
will stop streaming the logs, but will not stop the apply running remotely.
Preparing the remote apply...
The remote workspace is configured to work with configuration at
environments/tools-dev relative to the target repository.
Terraform will upload the contents of the following directory,
excluding files or directories as defined by a .terraformignore file
at /Users/george/src/my-argocd/.terraformignore (if it is present),
in order to capture the filesystem context the remote workspace expects:
/Users/george/src/my-argocd
To view this run in a browser, visit:
https://app.terraform.io/app/cambiahealth/my-argocd-tools-dev/runs/run-XXXXXXXXXXXX
Waiting for the plan to start...
Terraform v1.6.6
on linux_amd64
Initializing plugins and modules...
module.cluster.data.terraform_remote_state.base_workspace: Reading...
module.cluster.data.terraform_remote_state.base_workspace: Read complete after 1s
module.appset.data.aws_ssm_parameter.argo_password: Reading...
module.repo.data.aws_ssm_parameter.artifactory_api_key: Reading...
module.project.data.aws_ssm_parameter.argo_password: Reading...
module.repo.data.aws_ssm_parameter.argocd_platform_config_private_key: Reading...
module.repo.data.aws_ssm_parameter.argo_password: Reading...
module.repo.data.aws_ssm_parameter.argocd_services_config_private_key: Reading...
data.aws_eks_cluster.cluster: Reading...
module.cluster.data.aws_ssm_parameter.argo_password: Reading...
module.cluster.data.aws_iam_role.argocd_target_role: Reading...
data.aws_eks_cluster.cluster: Read complete after 0s [id=tools-dev-eks01]
platform]
module.appset.argocd_application_set.j_cluster_addons: Refreshing state... [id=cluster-addons]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# module.appset.argocd_application_set.cluster_addons will be updated in-place
~ resource "argocd_application_set" "cluster_addons" {
id = "cluster-addons"
~ spec {
# (1 unchanged attribute hidden)
~ generator {
~ matrix {
~ generator {
- git {
- repo_url = "git@github.com:myorg/argocd-platform-config.git" -> null
- revision = "main" -> null
- file {
- path = "addons/**/config.yml" -> null
}
- file {
- path = "environments/**/addons/**/config.yml" -> null
}
}
+ list {
+ elements = [
+ {
+ "name" = "app1"
+ "project" = "guestbook"
},
]
}
}
~ template {
- metadata {
- annotations = {} -> null
- finalizers = [] -> null
- labels = {
- "environment.jplatform.io" = "{{index .metadata.labels \"environment\"}}"
} -> null
}
~ spec {
~ project = "{{index .metadata.labels \"environment\"}}-platform" -> "project-name-override"
~ revision_history_limit = 0 -> 10
- destination {}
}
}
# (1 unchanged block hidden)
}
}
- strategy {
- type = "RollingSync" -> null
- rolling_sync {
- step {
- match_expressions {
- key = "apptype.appset.jplaform.io" -> null
- operator = "In" -> null
- values = [
- "crd",
] -> null
}
- match_expressions {
- key = "cluster-addons.step.appset.jplaform.io" -> null
- operator = "In" -> null
- values = [
- "controllers",
] -> null
}
- match_expressions {
- key = "cluster-addons.step.appset.jplaform.io" -> null
- operator = "In" -> null
- values = [
- "cr",
] -> null
}
}
}
}
~ template {
~ metadata {
~ labels = {
- "apptype.appset.jplaftorm.io" = "{{ .apptype }}" -> null
- "environment.jplaform.io" = "{{ index .metadata.labels \"environment\" }}" -> null
}
name = "{{ .chart_name }}"
# (2 unchanged attributes hidden)
}
~ spec {
~ revision_history_limit = 0 -> 10
# (1 unchanged attribute hidden)
+ destination {
+ namespace = "guestbook"
+ server = "{{ .server }}"
}
~ source {
+ path = "applicationset/examples/list-generator/guestbook/{{.cluster}}"
+ repo_url ="https://github.com/argoproj/argo-cd.git"
~ target_revision = "main" -> "HEAD"
}
- source {
}
}
}
}
# (1 unchanged block hidden)
}
Plan: 0 to add, 1 to change, 0 to destroy.
------------------------------------------------------------------------
Do you want to perform these actions in workspace "argocd-tools-dev"?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
│ Error: Plugin did not respond
│ The plugin encountered an error, and failed to respond to the
│ plugin6.(*GRPCProvider).ApplyResourceChange call. The plugin logs may
│ contain more details.
Stack trace from the terraform-provider-argocd_v6.0.3 plugin:
panic: runtime error: index out of range [0] with length 0
goroutine 47 [running]:
github.com/oboukili/terraform-provider-argocd/argocd.expandApplicationSetTemplate({_, _}, _)
github.com/oboukili/terraform-provider-argocd/argocd/structure_application_set.go:783 +0x4e8
github.com/oboukili/terraform-provider-argocd/argocd.expandApplicationSetMatrixGenerator({0x2b943a0?, 0xc00187c480}, 0xb3?)
github.com/oboukili/terraform-provider-argocd/argocd/structure_application_set.go:296 +0x20e
github.com/oboukili/terraform-provider-argocd/argocd.expandApplicationSetGenerators({0xc00213a880, 0x1, 0x3078030?}, 0x9?)
github.com/oboukili/terraform-provider-argocd/argocd/structure_application_set.go:74 +0x2a5
github.com/oboukili/terraform-provider-argocd/argocd.expandApplicationSetSpec(_, _)
github.com/oboukili/terraform-provider-argocd/argocd/structure_application_set.go:26 +0xe5
github.com/oboukili/terraform-provider-argocd/argocd.expandApplicationSet(_, _)
github.com/oboukili/terraform-provider-argocd/argocd/structure_application_set.go:17 +0x108
github.com/oboukili/terraform-provider-argocd/argocd.resourceArgoCDApplicationSetUpdate({0x36b9500, 0xc001046f60}, 0xc001048b00, {0x2e595e0?, 0xc00039b900?})
github.com/oboukili/terraform-provider-argocd/argocd/resource_argocd_application_set.go:121 +0x265
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).update(0xc000be2700, {0x36b9538, 0xc0017aa150}, 0xd?, {0x2e595e0, 0xc00039b900})
github.com/hashicorp/terraform-plugin-sdk/v2@v2.26.1/helper/schema/resource.go:741 +0x12e
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc000be2700, {0x36b9538, 0xc0017aa150}, 0xc001109450, 0xc00072b100, {0x2e595e0, 0xc00039b900})
github.com/hashicorp/terraform-plugin-sdk/v2@v2.26.1/helper/schema/resource.go:847 +0x83a
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc00011b968, {0x36b9538?, 0xc0017a5770?}, 0xc0000e6370)
github.com/hashicorp/terraform-plugin-sdk/v2@v2.26.1/helper/schema/grpc_provider.go:1021 +0xe8d
github.com/hashicorp/terraform-plugin-mux/tf5to6server.v5tov6Server.ApplyResourceChange({{0x36cd190?, 0xc00011b968?}}, {0x36b9538, 0xc0017a5770}, 0x0?)
github.com/hashicorp/terraform-plugin-mux@v0.10.0/tf5to6server/tf5to6server.go:34 +0x5a
github.com/hashicorp/terraform-plugin-mux/tf6muxserver.muxServer.ApplyResourceChange({0xc000bfcbd0, 0xc000bfcc30, {0xc0006c9b00, 0x2, 0x2}, {0x0, 0x0, 0x0}, {0x0, 0x0, ...}, ...}, ...)
github.com/hashicorp/terraform-plugin-mux@v0.10.0/tf6muxserver/mux_server_ApplyResourceChange.go:27 +0x102
github.com/hashicorp/terraform-plugin-go/tfprotov6/tf6server.(*server).ApplyResourceChange(0xc00031ac80, {0x36b9538?, 0xc00179a960?}, 0xc000a46070)
github.com/hashicorp/terraform-plugin-go@v0.15.0/tfprotov6/tf6server/server.go:816 +0x574
github.com/hashicorp/terraform-plugin-go/tfprotov6/internal/tfplugin6._Provider_ApplyResourceChange_Handler({0x2f101a0?, 0xc00031ac80}, {0x36b9538, 0xc00179a960}, 0xc000a46000, 0x0)
github.com/hashicorp/terraform-plugin-go@v0.15.0/tfprotov6/internal/tfplugin6/tfplugin6_grpc.pb.go:419 +0x170
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0005f41e0, {0x36c7680, 0xc000edc340}, 0xc001dc6000, 0xc000206ff0, 0x504e1a0, 0x0)
google.golang.org/grpc@v1.54.0/server.go:1345 +0xdf0
google.golang.org/grpc.(*Server).handleStream(0xc0005f41e0, {0x36c7680, 0xc000edc340}, 0xc001dc6000, 0x0)
google.golang.org/grpc@v1.54.0/server.go:1722 +0xa2f
google.golang.org/grpc.(*Server).serveStreams.func1.2()
google.golang.org/grpc@v1.54.0/server.go:966 +0x98
created by google.golang.org/grpc.(*Server).serveStreams.func1
google.golang.org/grpc@v1.54.0/server.go:964 +0x28a
Error: The terraform-provider-argocd_v6.0.3 plugin crashed!
This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.
Operation failed: failed running terraform apply (exit 1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment