Tags: afcastano/fiat
Tags
feat(permission): enables customization of permission sources and agg… …regation (spinnaker#481) Adds a `ResourcePermissionSource` - a place to get permissions from, and `ResourcePermissionProvider` - the API for Permissions consumers The default `ResourcePermissionProvider` is a single source ResourcePermissionProvider that reads Permissions from the resource objects, however an AggregatingResourcePermissionProvider is available that will merge all Permissions from all configured ResourcePermissionSources. This can be enabled by setting `auth.permissions.provider.<resource type>: aggregate` There is a `DefaultResourcePermissionConfiguration` that maintains the status quo by providing default ResourcePermissionSources that read Permissions directly off of the objects, but allows opting out of some or all of the default opinions if someone wants to customize, extend, or override any of the default behaviour. Additional improvements: * refactor(fiat-roles): - make DefaultPermissionsResolver immutable - don't return null values from Permissions#get - clean up loadAll * refactor(permissions): Permissions should always have a non null value for all Authorization types Cleans up Permission construction via Permissions.Builder to ensure we populate an immutable collection (empty if unspecified) for all Authorization types when building Permission objects. Redirects empty build() results to a shared Permissions.EMPTY. Fixes up a couple of accidentally non-final constant values. * refactor(permissions): Add Notnull annotations on resource permission provider/source Also moves Authorization.ALL to EnumSet
fix(error): Improve access denied error messaging (spinnaker#474)
chore(dependencies): Autobump korkVersion (spinnaker#462)
fix(logs): add logback-encoder to classpath (spinnaker#441) (spinnake… …r#447)
fix(logs): add logback-encoder to classpath (spinnaker#441) (spinnake… …r#448)
chore(dependencies): Autobump korkVersion (spinnaker#438)
PreviousNext