{"componentChunkName":"component---src-templates-blog-template-js","path":"/ca/blog/introducing-the-psono-terraform-provider","result":{"data":{"markdownRemark":{"html":"<h1>Presentació del Proveïdor Terraform de Psono</h1>\n<p>Ens complau anunciar que la versió beta del Proveïdor Terraform de Psono ja està disponible públicament al\n<a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Registre de Terraform</a>.</p>\n<p>Ara, els equips d’infraestructura poden gestionar claus individuals dins d’entrades precreades de Variables d’Entorn de Psono com a part del seu flux de treball de Terraform. El proveïdor pot preservar els valors existents, generar noves contrasenyes, rotar valors gestionats, escriure valors aportats externament i llegir secrets mitjançant recursos efímers de Terraform.</p>\n<h2>Secrets sense emmagatzemar-los a l’estat de Terraform</h2>\n<p>El maneig de secrets a la infraestructura com a codi requereix una atenció especial. El indicador sensible pot ocultar un valor de la sortida habitual de CLI, però no evita necessàriament que aquest valor es guardi a l’estat de Terraform. El proveïdor de Psono utilitza les capacitats d’escriptura única i els recursos efímers de Terraform per evitar aquest problema, i requereix Terraform 1.11 o superior.</p>\n<p>El proveïdor suporta tres fluxos de treball habituals:</p>\n<ul>\n<li>Generar un valor a Psono sense retornar-lo a través del recurs gestionat.</li>\n<li>Proveir un valor mitjançant un argument d’escriptura única perquè Terraform no el persisteixi ni al pla ni a l’estat.</li>\n<li>Llegir un valor existent mitjançant un recurs efímer i passar-lo només a un altre context efímer o d’escriptura única.</li>\n</ul>\n<p>Això fa possible incloure operacions del cicle de vida del secret a Terraform tot mantenint els valors reals a Psono.</p>\n<h2>Accés restringit i xifrat local</h2>\n<p>El proveïdor utilitza una clau d’API restringida de Psono. Només assignes les entrades de Variables d’Entorn que Terraform necessita i concedeixes permís de lectura per a totes les operacions. Crear, actualitzar, rotar o eliminar claus necessita, a més, permís d’escriptura. El proveïdor no requereix una clau d’API sense restriccions i no pot crear entrades de vault, carpetes ni magatzems de dades.</p>\n<p>El xifratge i descifratge es realitza localment al proveïdor. La verificació del certificat HTTPS no es pot desactivar, i les autoritats certificadores privades es poden afegir mitjançant un bundle PEM CA. Els sistemes de producció sempre haurien d’utilitzar una URL HTTPS de Psono.</p>\n<h2>Primeres passes</h2>\n<p>Es requereix Terraform 1.11 o superior. Afegiu el proveïdor a la vostra configuració de Terraform:</p>\n<pre><code class=\"language-hcl\">terraform {\n  required_version = \">= 1.11.0\"\n\n  required_providers {\n    psono = {\n      source  = \"psono/psono\"\n      version = \"~> 1.0\"\n    }\n  }\n}\n\nprovider \"psono\" {}\n</code></pre>\n<p>Configureu les credencials mitjançant variables d’entorn en comptes de posar-les als fitxers de Terraform:</p>\n<pre><code class=\"language-bash\">export PSONO_SERVER_URL='https://psono.example.com/server'\nexport PSONO_API_KEY_ID='REPLACE_WITH_API_KEY_ID'\nexport PSONO_API_SECRET_KEY='REPLACE_WITH_API_SECRET_KEY'\n</code></pre>\n<p>Després, inicialitzeu el directori de treball:</p>\n<pre><code class=\"language-bash\">terraform init\n</code></pre>\n<p>Terraform descarrega la versió signada del proveïdor i verifica la signatura del checksum.</p>\n<h2>Genera i rota valors</h2>\n<p>El recurs següent gestiona <code>DB_PASSWORD</code> dins una entrada existent de Variables d’Entorn de Psono:</p>\n<pre><code class=\"language-hcl\">resource \"psono_environment_variable\" \"database_password\" {\n  secret_id = var.psono_environment_variables_secret_id\n  name      = \"DB_PASSWORD\"\n\n  length      = 32\n  min_lower   = 4\n  min_upper   = 4\n  min_numeric = 4\n  min_special = 4\n\n  rotation_version = 1\n}\n</code></pre>\n<p>Si la clau ja existeix, el proveïdor l’adopta sense canviar-ne el valor. Si no existeix, el proveïdor genera i desa un valor nou a Psono. El valor generat no és retornat pel recurs gestionat i no entra a l’estat de Terraform.</p>\n<p>Incrementa <code>rotation_version</code> quan vulguis que Terraform generi un reemplaçament. Això també reemplaça valors que s’havien adoptat o importat originalment, per tant, els canvis de rotació s’haurien de revisar abans d’aplicar-los.</p>\n<h2>Escriu un valor aportat externament</h2>\n<p>Un valor efímer d’un altre proveïdor es pot escriure a Psono amb <code>value_wo</code>:</p>\n<pre><code class=\"language-hcl\">ephemeral \"random_password\" \"database\" {\n  length = 32\n}\n\nresource \"psono_environment_variable\" \"database_password\" {\n  secret_id        = var.psono_environment_variables_secret_id\n  name             = \"DB_PASSWORD\"\n  value_wo         = ephemeral.random_password.database.result\n  value_wo_version = 1\n}\n</code></pre>\n<p>El valor està disponible durant l’operació de Terraform però no s’emmagatzema ni al pla ni a l’estat. Augmenta <code>value_wo_version</code> quan vulguis que Terraform escrigui un substitut.</p>\n<h2>Eliminació segura per defecte</h2>\n<p>La destrucció d’un recurs gestionat conserva la seva clau a Psono per defecte. Això protegeix valors que Terraform havia adoptat però no creat. Assigna <code>deletion_policy = \"Delete\"</code> només quan vulguis que Terraform elimini explícitament la clau de Psono en destruir o substituir el recurs.</p>\n<h2>Ja disponible</h2>\n<p>El proveïdor és codi obert i ja està disponible:</p>\n<ul>\n<li><a href=\"https://registry.terraform.io/providers/psono/psono/latest\">Instal·leu el proveïdor des del Registre de Terraform</a></li>\n<li><a href=\"https://doc.psono.com/user/developer/terraform-provider.html\">Llegiu la guia del Proveïdor Terraform de Psono</a></li>\n<li><a href=\"https://gitlab.com/esaqa/psono/psono-terraform-provider\">Vegeu el codi font a GitLab</a></li>\n</ul>\n<p>La versió beta se centra deliberadament en entrades de Variables d’Entorn i en claus d’API restringides. Això manté els permisos limitats, evita l’accés no restringit al vault i ofereix una base pràctica per gestionar secrets operacionals de forma segura des de Terraform.</p>","frontmatter":{"date":"August 22, 2026","slug":"introducing-the-psono-terraform-provider","title":"Presentació del Proveïdor Terraform de Psono","description":"Gestiona valors generats, d’escriptura única i efímers a Psono directament des de Terraform sense emmagatzemar secrets a l’estat de Terraform.","author":"Sascha Pfeiffer","featuredImage":null}}},"pageContext":{"slug":"introducing-the-psono-terraform-provider","lang":"ca","langPathPrefix":"/ca"}},"staticQueryHashes":["2149092236","3128451518","3192060438"]}