pkg/service/gerrit/git_client.go (31 lines of code) (raw):

package gerrit import ( "context" "github.com/pkg/errors" "k8s.io/apimachinery/pkg/types" gerritApi "github.com/epam/edp-gerrit-operator/v2/api/v1" "github.com/epam/edp-gerrit-operator/v2/pkg/client/git" "github.com/epam/edp-gerrit-operator/v2/pkg/service/gerrit/spec" ) type Child interface { GetNamespace() string OwnerName() string } func (s ComponentService) GetGitClient(ctx context.Context, child Child, workDir string) (*git.Client, error) { var g gerritApi.Gerrit if err := s.client.Get(ctx, types.NamespacedName{ Name: child.OwnerName(), Namespace: child.GetNamespace(), }, &g); err != nil { return nil, errors.Wrap(err, "unable to get parent gerrit") } gerritAdminPassword, err := s.getGerritAdminPassword(&g) if err != nil { return nil, errors.Wrapf(err, "Failed to get Gerrit admin password from secret for %s/%s", g.Namespace, g.Name) } gerritApiUrl, err := s.getGerritRestApiUrl(&g) if err != nil { return nil, errors.Wrapf(err, "Failed to get Gerrit REST API URL %s/%s", g.Namespace, g.Name) } return git.New(gerritApiUrl, workDir, spec.GerritDefaultAdminUser, gerritAdminPassword), nil }