func()

in pkg/service/gerrit/gerrit.go [673:701]


func (s ComponentService) createSSHKeyPairs(instance *gerritApi.Gerrit, secretName string) (privateKey, publicKey []byte, err error) {
	secretData, err := s.PlatformService.GetSecretData(instance.Namespace, secretName)
	if err != nil {
		return nil, nil, errors.Wrapf(err, "Unable to get data from secret %v", secretName)
	}

	if secretData != nil {
		return secretData[rsaID], secretData[rsaIDFile], nil
	}

	privateKey, publicKey, err = helpers.GenerateKeyPairs()
	if err != nil {
		return nil, nil, errors.Wrapf(err, "Unable to generate SSH key pairs for Gerrit")
	}

	if err := s.PlatformService.CreateSecret(
		instance,
		secretName,
		map[string][]byte{
			rsaID:     privateKey,
			rsaIDFile: publicKey,
		},
		map[string]string{},
	); err != nil {
		return nil, nil, errors.Wrapf(err, "Failed to create Secret with SSH key pairs for Gerrit")
	}

	return
}