computeCacheKey computes a cache key for a resolved security policy.
(instanceID, environment string, claims *SecurityClaims, r *runtimev1.Resource)
| 814 | |
| 815 | // computeCacheKey computes a cache key for a resolved security policy. |
| 816 | func 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 | |
| 845 | func evaluateConditions(r *runtimev1.Resource, expression string, kinds []string, resources []*runtimev1.ResourceName, td parser.TemplateData) (*bool, error) { |
| 846 | // Evaluate resource-based conditions |
no test coverage detected