MCPcopy Index your code
hub / github.com/rilldata/rill / computeCacheKey

Function computeCacheKey

runtime/security.go:816–843  ·  view source on GitHub ↗

computeCacheKey computes a cache key for a resolved security policy.

(instanceID, environment string, claims *SecurityClaims, r *runtimev1.Resource)

Source from the content-addressed store, hash-verified

814
815// computeCacheKey computes a cache key for a resolved security policy.
816func computeCacheKey(instanceID, environment string, claims *SecurityClaims, r *runtimev1.Resource) (string, error) {
817 hash := md5.New()
818 _, err := hash.Write([]byte(instanceID))
819 if err != nil {
820 return "", err
821 }
822 _, err = hash.Write([]byte(environment))
823 if err != nil {
824 return "", err
825 }
826 _, err = hash.Write([]byte(r.Meta.Name.Name))
827 if err != nil {
828 return "", err
829 }
830 _, err = hash.Write([]byte(r.Meta.StateUpdatedOn.AsTime().String()))
831 if err != nil {
832 return "", err
833 }
834 claimsJSON, err := json.Marshal(claims)
835 if err != nil {
836 return "", err
837 }
838 _, err = hash.Write(claimsJSON)
839 if err != nil {
840 return "", err
841 }
842 return hex.EncodeToString(hash.Sum(nil)), nil
843}
844
845func evaluateConditions(r *runtimev1.Resource, expression string, kinds []string, resources []*runtimev1.ResourceName, td parser.TemplateData) (*bool, error) {
846 // Evaluate resource-based conditions

Callers 1

resolveSecurityMethod · 0.85

Calls 2

StringMethod · 0.65
WriteMethod · 0.45

Tested by

no test coverage detected