Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

178
Vistas
¿Cómo se pueden pasar sslcert y sslkey como variables de entorno en Kubernetes?

Estoy tratando de hacer que mi aplicación se conecte a mi instancia de PostgreSQL a través de una conexión cifrada y segura.

Configuré el certificado de mi servidor y generé el certificado del cliente y los archivos clave.

El siguiente comando se conecta sin problemas:

 psql "sslmode=verify-ca sslrootcert=server-ca.pem \ sslcert=client-cert.pem sslkey=client-key.pem \ hostaddr=<instance_ip> \ port=5432 \ user=db dbname=dbname"

Desafortunadamente, no pude encontrar una manera de pasar la clave del cliente como valor, solo puedo pasar la ruta del archivo. Incluso usando las variables de entorno predeterminadas de psql, esto no es posible: https://www.postgresql.org/docs/current/libpq-envars.html

Golang sigue las mismas especificaciones que lib-pq y no hay forma de pasar el certificado y los valores clave: https://pkg.go.dev/github.com/lib/pq?tab=doc#hdr-Connection_String_Parameters .

Quiero almacenar el certificado del cliente y la clave en las variables de entorno por razones de seguridad, no quiero almacenar archivos confidenciales en github/gitlab.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Simplemente establezca los valores en su entorno y puede obtenerlos en una función de inicio.

 func init() { var := os.Getenv("SOME_KEY") }

Cuando desee configurarlos con K8, simplemente haga esto en un archivo yaml.

 apiVersion: v1 kind: Secret metadata: name: my-secret data: SOME_KEY: the-value-of-the-key

Luego de inyectar en el medio ambiente hacer.

 envFrom: - secretRef: name: my-secret

Ahora, cuando su función de inicio se ejecute, podremos ver ALGUNA_CLAVE.

Si desea pasar un secreto como un archivo, haga algo como esto.

 kubectl create secret generic my-secret-files --from-file=my-secret-file-1.stuff --from-file=my-secret-file-2.stuff

Luego en su despliegue.

 volumes: - name: my-secret-files secret: secretName: my-secret-files

También en su implementación debajo de su contenedor.

 volumeMounts: - name: my-secret-files mountPath: /config/

Ahora su init podría ver.

 /config/my-secret-file-1.stuff /config/my-secret-file-2.stuff
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda