Vi er glade for å kunngjøre at beta-versjonen av Psono Terraform Provider nå er tilgjengelig på den offentlige Terraform Registry.
Infrastrukturteam kan nå håndtere individuelle nøkler inne i forhåndsopprettede Psono Environment Variables-oppføringer som en del av sin Terraform-arbeidsflyt. Leverandøren kan bevare eksisterende verdier, generere nye passord, rotere håndterte verdier, skrive eksternt leverte verdier, og lese hemmeligheter gjennom flyktige Terraform-ressurser.
Håndtering av hemmeligheter i infrastruktur som kode krever spesiell oppmerksomhet. Et sensitivt-flagg kan skjule en verdi fra vanlig CLI-utskrift, men det forhindrer ikke nødvendigvis at verdien lagres i Terraform state. Psono-leverandøren bruker Terraforms skrivebeskyttede og flyktige egenskaper for å unngå dette problemet, og krever Terraform 1.11 eller nyere.
Leverandøren støtter tre vanlige arbeidsflyter:
Dette gjør det mulig å inkludere operasjoner for livssyklus for hemmeligheter i Terraform, samtidig som de faktiske verdiene beholdes i Psono.
Leverandøren bruker en begrenset Psono API-nøkkel. Du tildeler kun de Environment Variables-oppføringene som Terraform trenger, og gir lese-tillatelse for alle operasjoner. Opprettelse, oppdatering, rotasjon eller sletting av nøkler krever i tillegg skrivetillatelse. Leverandøren trenger ikke en ubegrenset API-nøkkel og kan ikke opprette hvelv-oppføringer, mapper eller datalagre.
Kryptering og dekryptering skjer lokalt i leverandøren. HTTPS-sertifikatverifisering kan ikke deaktiveres, og private sertifiseringsinstanser kan legges til via en PEM CA-bundle. Produksjonssystemer skal alltid bruke en HTTPS Psono-URL.
Terraform 1.11 eller nyere er påkrevd. Legg til leverandøren i Terraform-konfigurasjonen din:
terraform {
required_version = ">= 1.11.0"
required_providers {
psono = {
source = "psono/psono"
version = "~> 1.0"
}
}
}
provider "psono" {}
Konfigurer autentisering via miljøvariabler istedenfor å legge dem i Terraform-filene:
export PSONO_SERVER_URL='https://psono.example.com/server'
export PSONO_API_KEY_ID='ERSTATT_MED_API_KEY_ID'
export PSONO_API_SECRET_KEY='ERSTATT_MED_API_SECRET_KEY'
Deretter initialiser arbeidsmappen:
terraform init
Terraform laster ned den signerte leverandør-utgivelsen og verifiserer dens sjekksum-signatur.
Ressursen under håndterer DB_PASSWORD i en eksisterende Psono Environment Variables-oppføring:
resource "psono_environment_variable" "database_password" {
secret_id = var.psono_environment_variables_secret_id
name = "DB_PASSWORD"
length = 32
min_lower = 4
min_upper = 4
min_numeric = 4
min_special = 4
rotation_version = 1
}
Hvis nøkkelen allerede eksisterer, adopterer leverandøren den uten å endre verdien. Hvis den ikke eksisterer, genererer leverandøren og lagrer en ny verdi i Psono. Den genererte verdien returneres ikke av den håndterte ressursen og lagres ikke i Terraform state.
Øk rotation_version når Terraform skal generere en ny erstatning. Dette erstatter også verdier som opprinnelig ble adoptert eller importert, så rotasjonsendringer bør gjennomgås før de brukes.
En flyktig verdi fra en annen leverandør kan skrives til Psono med value_wo:
ephemeral "random_password" "database" {
length = 32
}
resource "psono_environment_variable" "database_password" {
secret_id = var.psono_environment_variables_secret_id
name = "DB_PASSWORD"
value_wo = ephemeral.random_password.database.result
value_wo_version = 1
}
Verdien er tilgjengelig under Terraform-operasjonen, men lagres ikke i plan eller state. Øk value_wo_version når Terraform skal skrive en ny erstatning.
Når en håndtert ressurs slettes, beholdes dens Psono-nøkkel som standard. Dette beskytter verdier som Terraform adopterte, men ikke opprettet. Sett deletion_policy = "Delete" kun når Terraform eksplisitt skal fjerne nøkkelen fra Psono ved sletting eller ressursbytte.
Leverandøren er åpen kildekode og tilgjengelig i dag:
Beta-utgivelsen fokuserer bevisst på Environment Variables-oppføringer og begrensede API-nøkler. Dette holder tillatelser begrenset, unngår ubegrenset hvelv-tilgang, og gir et praktisk grunnlag for å håndtere operative hemmeligheter trygt fra Terraform.