kn secret create --tls-cert creates the certificate under the wrong key

Abierto Apto para principiantes
#2,284 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@RaphaelFakhri ya está trabajando en esto.

Desde el 4/11/2026.

  • #2285 de @RaphaelFakhri — abierto

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
91/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
go, kubernetes
Área
cli

Línea de trabajo

El issue apunta a pkg/commands/secret/create.go y muestra la clave de certificado incorrecta. Lee el código de creación de secretos TLS y comprueba si hay pruebas relacionadas con kn secret create. Cambia la clave del certificado por tls.crt, que es la que espera Kubernetes; se considera terminado cuando el secreto contiene tls.crt y tls.key y el comando se ejecuta correctamente contra el servidor de API.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Bug report

kn secret create NAME --tls-cert CERT --tls-key KEY creates a secret of type kubernetes.io/tls, but stores the certificate under the key tls.cert. Kubernetes expects the certificate under tls.crt (corev1.TLSCertKey). The API server validates kubernetes.io/tls secrets and rejects one that has no tls.crt entry, so the command fails. Consumers such as DomainMapping TLS also read tls.crt.

The code is in pkg/commands/secret/create.go:

certData := map[string]string{
	"tls.cert": string(cerFromFile),
	"tls.key":  string(keyFromFile),
}
toCreate.Type = corev1.SecretTypeTLS
Expected behavior

The secret contains tls.crt and tls.key, the same as kubectl create secret tls.

Steps to reproduce the problem
kn secret create my-tls --tls-cert tls.crt --tls-key tls.key

The API server rejects the request with an error like data[tls.crt]: Required value.

kn version
main (5817cd7)
Knative (serving/eventing) version

Not applicable. The key name is set by kn.

Lenguaje dominante
Go
Estrellas
387
Forks
279
Merge medio
2 d 10 h
PR fusionados (30 d)
8

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de knative/client

Todos los issues de knative/client

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.