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
}