_рдпрд╣ рдореБрджреНрджрд╛ рдореВрд▓ рд░реВрдк рд╕реЗ @mtheus рджреНрд╡рд╛рд░рд╛ рд╣реИрд╢рд┐рдХреЙрд░реНрдк /рдЯреЗрд░рд╛рдлреЙрд░реНрдо#18718 рдХреЗ рд░реВрдк рдореЗрдВ рдЦреЛрд▓рд╛ рдЧрдпрд╛ рдерд╛ред рдкреНрд░рджрд╛рддрд╛ рд╡рд┐рднрд╛рдЬрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореБрджреНрджреЗ рдХрд╛ рдореВрд▓ рднрд╛рдЧ рдиреАрдЪреЗ рд╣реИред_
Terraform v0.11.8
resource "local_file" "kubeconfig" {
sensitive = true
content = "${data.terraform_remote_state.kubernetes.kubeconfig}"
filename = ".kube/config"
}
рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд▓рдЧрддреА рд╣реИ
data.terraform_remote_state.kubernetes: Refreshing state...
local_file.kubeconfig: Creating...
content: "" => "\n\napiVersion: v1\nclusters:\n- cluster:\n server: https://**<SENSIVE>**.sk1.us-east-1.eks.amazonaws.com\n certificate-authority-data: LS0tLS1C**<SENSIVE>**\n name: kubernetes\ncontexts:\n- context:\n cluster: kubernetes\n user: aws\n name: aws\ncurrent-context: aws\nkind: Config\npreferences: {}\nusers:\n- name: aws\n user:\n exec:\n apiVersion: client.authentication.k8s.io/v1alpha1\n command: aws-iam-authenticator\n args:\n - \"token\"\n - \"-i\"\n - \"latam\"\n"
filename: "" => ".kube/config"
local_file.kubeconfig: Creation complete after 0s (ID: 73a74cc24de6ebfe8304a9b889415884fd819390)
terraform init
terraform apply
рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдШрдЯрдХреЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдорд╛рд╕реНрдЯрд░ рдкрд░ рдХреЛрдб рдПрдХ рд╕рдорд╛рдзрд╛рди рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ: sensitve_content
ред рдЬреЛ рдмрд╛рдХреА рдЯреЗрд░рд╛рдлреЙрд░реНрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рддрдХ рдЯреЗрд░рд╛рдлреЙрд░реНрдо v0.11.10 рдФрд░ рдкреНрд░рджрд╛рддрд╛.рд▓реЛрдХрд▓ v1.1.0.1 рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред
рдЗрд╕реЗ рдорд╛рд░реНрдЪ 2018 рдореЗрдВ #9 рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
@alewando рдпрд╣рд╛рдБ рдзреАрдореА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ! рдХреЛрд░ рдЯреАрдо рдЯреЗрд░рд╛рдлреЙрд░реНрдо 0.12 рд░рд┐рд▓реАрдЬ рдкрд░ рд╕рд┐рд░-рдиреАрдЪреЗ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ рдФрд░ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдХреБрдЫ рдЪреАрдЬреЗрдВ (рдЬреИрд╕реЗ рдпрд╣ рдкреНрд░рджрд╛рддрд╛!) рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкреЗрдХреНрд╖рд┐рдд рд╣реЛ рдЧрдИ рд╣реИрдВред
рд▓рдВрдмрд┐рдд рдкреАрдЖрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдФрд░ рдПрдХ рд╡рд┐рдЬреНрдЮрдкреНрддрд┐ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдмреБрдХрдорд╛рд░реНрдХ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдЖрдкрдХреЗ рдзреИрд░реНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
@mildwonkey рдХреНрдпрд╛ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдХрдЯреМрддреА рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рд╣реИ? рд╣рдо рдлреЛрд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирдИ рд░рд┐рд▓реАрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдХрд╕реНрдЯрдо рдкреНрд▓рдЧрдЗрди рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрд░рд╛рдлреЙрд░реНрдо рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдореЗрдВ рдмреЙрдпрд▓рд░ рдкреНрд▓реЗрдЯ рдХреЗ рднрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
@mildwonkey рдлрд┐рд░ рд╕реЗ, рдореИрдВ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВред рдпрд╣ рдЖрд╕рд╛рди рдЬреАрдд рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рд╣рдореЗрдВ рдХрд╛рдлреА рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
@mildwonkey рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╢рд╛рдирджрд╛рд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрдЧреА, рдФрд░ рдЗрд╕рдХреЗ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рд╣реИред рдореИрдВ
рдЕрд╕реНрдерд╛рдпреА рд╡рд┐рдХрд▓реНрдк рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХрдИ рдЖрд░рдбреАрдПрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд┐рдпрд╛ (рдореЗрд░реЗ рдкрд╛рд╕ рдбреЗрдЯрд╛рдмреЗрд╕/рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдирдХреНрд╢рд╛ рдФрд░ рдПрдХ рдорд╛рд╕реНрдЯрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╣реИ):
locals {
databases = "${keys(var.shared_db_databases_passwords)}"
manual_output = {
endpoint = "${module.shared_database.database_endpoint}"
username = "myusername"
password = "${var.shared_db_master_password}"
port = 5432
databases = "${local.databases}"
passwords = "${values(var.shared_db_databases_passwords)}"
}
}
resource "null_resource" "manual_output" {
triggers {
databases = "${join(",", local.databases)}"
}
provisioner "local-exec" {
command = "echo $DATA > manual_output.json"
environment {
DATA = "${jsonencode(local.manual_output)}" # Necessary to hide outputs
}
}
}
https://github.com/terraform-providers/terraform-provider-local/releases/tag/v1.2.0 рдЕрдм рдмрд╛рд╣рд░ рд╣реИ, рдЬреЛ sensitive_content
рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдм рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж @invidian !
local_file
рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЛ рднреА sensitive_content
. рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
@ShahNewazKhan рдХреНрдпрд╛ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ local_file
рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ sensitive_content
рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?
@ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдк local_file рд╕рдВрд╕рд╛рдзрди рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ local_file рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдпрд╛ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдореМрдЬреВрджрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)ред рдпрджрд┐ рд╡рд╣ рд╕рд╛рдордЧреНрд░реА рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реАрдзреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдпрд╛ tfstate рдореЗрдВ рджрд┐рдЦрд╛рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред local_file
рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдореЗрдВ sensitive_filename
рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдХреЛ content
(рдФрд░ content_base64
) рдХреЗ рдмрдЬрд╛рдп sensitive_content
рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП content_base64
)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдПрдХ рдирдП рдлреАрдЪрд░ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рд╢рд╛рдпрдж рд╣рдореЗрдВ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдореБрджреНрджрд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрднреА рдпрд╣рд╛рдВ рдмрдирд╛рдпрд╛ рд╣реИ:
https://github.com/terraform-providers/terraform-provider-local/issues/36
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рди рдХреЗрд╡рд▓ local_file рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд╕рдВрд╡реЗрджрдирд╢реАрд▓_рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдмрд▓реНрдХрд┐ рдЗрд╕реЗ рдореМрдЬреВрджрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
https://github.com/terraform-providers/terraform-provider-local/releases/tag/v1.2.0 рдЕрдм рдмрд╛рд╣рд░ рд╣реИ, рдЬреЛ
sensitive_content
рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдм рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред