in pkg/service/gerrit/gerrit.go [517:554]
func (s ComponentService) createKeycloakClient(ctx context.Context, instance *gerritApi.Gerrit, externalUrl string) error {
keycloakClient := &keycloakApi.KeycloakClient{
TypeMeta: metaV1.TypeMeta{
Kind: "KeycloakClient",
},
ObjectMeta: metaV1.ObjectMeta{
Name: instance.Name,
Namespace: instance.Namespace,
},
Spec: keycloakApi.KeycloakClientSpec{
ClientId: instance.Name,
Public: true,
WebUrl: externalUrl,
AdvancedProtocolMappers: false,
RealmRoles: &[]keycloakApi.RealmRole{
{
Name: "gerrit-administrators",
Composite: "administrator",
},
{
Name: "gerrit-users",
Composite: "developer",
},
},
},
}
if instance.Spec.KeycloakSpec.Realm != "" {
keycloakClient.Spec.TargetRealm = instance.Spec.KeycloakSpec.Realm
}
err := s.client.Create(ctx, keycloakClient)
if err != nil {
return fmt.Errorf("failed to create k8s client for KeycloakClient: %w", err)
}
return nil
}