INNER CODE UNIT · Go

processTrustedCertSecret

nginx/kubernetes-ingress · cmd/nginx-ingress/main.go:394

func processTrustedCertSecret(kubeClient *kubernetes.Clientset, nginxManager nginx.Manager, mgmtCfgParams *configs.MGMTConfigParams, controllerNamespace string) error {
	if mgmtCfgParams.Secrets.TrustedCert == "" {
		return nil
	}

	trustedCertSecretNsName := controllerNamespace + "/" + mgmtCfgParams.Secrets.TrustedCert

	secret, err := getAndValidateSecret(kubeClient, trustedCertSecretNsName, secrets.SecretTypeCA)
	if err != nil {
		return fmt.Errorf("error trying to get the trusted cert secret %v: %w", trustedCertSecretNsName, err)
	}

	caBytes, crlBytes := configs.GenerateCAFileContent(secret)
	nginxManager.CreateSecret(fmt.Sprintf("mgmt/%s", configs.CACrtKey), caBytes, nginx.ReadWriteOnlyFileMode)
	if _, hasCRL := secret.Data[configs.CACrlKey]; hasCRL {
		mgmtCfgParams.Secrets.TrustedCRL = secret.Name
		nginxManager.CreateSecret(fmt.Sprintf("mgmt/%s", configs.CACrlKey), crlBytes, nginx.ReadWriteOnlyFileMode)
	}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…