// Copyright 2021-2022 the Pinniped contributors. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 package groupsuffix import ( "k8s.io/apimachinery/pkg/runtime/schema" identityv1alpha1 "go.pinniped.dev/generated/latest/apis/concierge/identity/v1alpha1" loginv1alpha1 "go.pinniped.dev/generated/latest/apis/concierge/login/v1alpha1" clientsecretv1alpha1 "go.pinniped.dev/generated/latest/apis/supervisor/clientsecret/v1alpha1" ) type GroupData schema.GroupVersion func (d GroupData) APIServiceName() string { return d.Version + "." + d.Group } func ConciergeAggregatedGroups(apiGroupSuffix string) (login, identity GroupData) { loginConciergeAPIGroup, ok1 := Replace(loginv1alpha1.GroupName, apiGroupSuffix) identityConciergeAPIGroup, ok2 := Replace(identityv1alpha1.GroupName, apiGroupSuffix) if valid := ok1 && ok2; !valid { panic("static group input is invalid") } return GroupData{ Group: loginConciergeAPIGroup, Version: loginv1alpha1.SchemeGroupVersion.Version, }, GroupData{ Group: identityConciergeAPIGroup, Version: identityv1alpha1.SchemeGroupVersion.Version, } } func SupervisorAggregatedGroups(apiGroupSuffix string) (clientSecret GroupData) { clientSecretVirtualSupervisorAPIGroup, ok1 := Replace(clientsecretv1alpha1.GroupName, apiGroupSuffix) if !ok1 { panic("static group input is invalid") } return GroupData{ Group: clientSecretVirtualSupervisorAPIGroup, Version: clientsecretv1alpha1.SchemeGroupVersion.Version, } }