mirror of
https://github.com/projectcapsule/capsule.git
synced 2026-08-19 12:36:39 +00:00
feat: upstream enterprise preview --------- Signed-off-by: Oliver Baehler <oliver@sudo-i.net> Co-authored-by: CorentinPtrl <pitrel.corentin@gmail.com>
24 lines
458 B
Go
24 lines
458 B
Go
// Copyright 2020-2026 Project Capsule Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package utils
|
|
|
|
import (
|
|
"fmt"
|
|
"hash/fnv"
|
|
|
|
"github.com/projectcapsule/capsule/pkg/api/rbac"
|
|
)
|
|
|
|
func RoleBindingHashFunc(binding rbac.AdditionalRoleBindingsSpec) string {
|
|
h := fnv.New64a()
|
|
|
|
_, _ = h.Write([]byte(binding.ClusterRoleName))
|
|
|
|
for _, sub := range binding.Subjects {
|
|
_, _ = h.Write([]byte(sub.Kind + sub.Name))
|
|
}
|
|
|
|
return fmt.Sprintf("%x", h.Sum64())
|
|
}
|