I faced this issue when deploying a Secret
resource using kubernetes_manifest
in terraform, which I am using for a rabbitmqCluster deployment.
╷
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to kubernetes_manifest.default_user_config, provider
│ "provider[\"registry.opentofu/hashicorp/kubernetes\"]" produced an
│ unexpected new value: .object.stringData: was
│ cty.MapVal(map[string]cty.Value{"default_user.conf":cty.StringVal("default_user
│ = user\ndefault_pass = password\n")}), but now null.
│
│ This is a bug in the provider, which should be reported in the provider's
│ own issue tracker.
in this kubernetes_manifest
resource "kubernetes_manifest" "default_user_config" {
manifest = yamldecode(<<EOF
apiVersion: v1
kind: Secret
metadata:
name: "default-user-config"
namespace: ${var.namespace}
type: Opaque
stringData:
default_user.conf: |
default_user = user
default_pass = password
# host: dmF1bHQtZGVmYXVsdC11c2VyLmRlZmF1bHQuc3Zj
# username: my-admin
# password: super-secure-password
# port: "5672"
# provider: rabbitmq
# type: rabbitmq
EOF
)
}
I faced this issue when deploying a Secret
resource using kubernetes_manifest
in terraform, which I am using for a rabbitmqCluster deployment.
╷
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to kubernetes_manifest.default_user_config, provider
│ "provider[\"registry.opentofu./hashicorp/kubernetes\"]" produced an
│ unexpected new value: .object.stringData: was
│ cty.MapVal(map[string]cty.Value{"default_user.conf":cty.StringVal("default_user
│ = user\ndefault_pass = password\n")}), but now null.
│
│ This is a bug in the provider, which should be reported in the provider's
│ own issue tracker.
in this kubernetes_manifest
resource "kubernetes_manifest" "default_user_config" {
manifest = yamldecode(<<EOF
apiVersion: v1
kind: Secret
metadata:
name: "default-user-config"
namespace: ${var.namespace}
type: Opaque
stringData:
default_user.conf: |
default_user = user
default_pass = password
# host: dmF1bHQtZGVmYXVsdC11c2VyLmRlZmF1bHQuc3Zj
# username: my-admin
# password: super-secure-password
# port: "5672"
# provider: rabbitmq
# type: rabbitmq
EOF
)
}
Share
Improve this question
asked Mar 3 at 8:40
Estifanos BiredaEstifanos Bireda
254 bronze badges
1
- 1 Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. – Community Bot Commented Mar 6 at 2:25
1 Answer
Reset to default 0Adding the computed_fields
field in the manifest resource and appending the stringData
solved the issue. The resulting kubernetes_manifest
is
resource "kubernetes_manifest" "default_user_config" {
computed_fields = ["stringData"]
manifest = yamldecode(<<EOF
apiVersion: v1
kind: Secret
metadata:
name: "default-user-config"
namespace: ${var.namespace}
type: Opaque
stringData:
default_user.conf: |
default_user = user
default_pass = password
# host: dmF1bHQtZGVmYXVsdC11c2VyLmRlZmF1bHQuc3Zj
# username: my-admin
# password: super-secure-password
# port: "5672"
# provider: rabbitmq
# type: rabbitmq
EOF
)
}
reference: https://github/hashicorp/terraform-provider-kubernetes/issues/1769#issuecomment-1176795535