...
Publicly routed REST APIs in AppFabric Service
Application Deployment
...
Application Deployment
CDAP Applications with non-existing dataset
- Client -> Router:
deployApp(artifact, appConfig)
- Router -> AppFabric:
deployApp(artifact, appConfig, SecurityRequestContext.userId)
- AppFabric -> AuthEnforcer:
!authorized(SecurityRequestContext(userId)) ? UnauthorizedException
- AppFabric -> AppFabric:
doAs(namespace, deploy(jar, config))
- AppFabric -> DatasetServiceClient:
createDataset()
- DatasetServiceClient -> DatasetService
: createDataset(ds, Header(CDAP-UserId=SecurityRequestContext.userId))
- DatasetService -> AuthEnforcer
: !authorized(SecurityRequestContext.userId) ? UnauthorizedException
- DatasetService -> Authorizer:
revoke(ds); grant(ds, SecurityRequestContext.userId, ALL)
- DatasetService -> DatasetOpExecutor:
success = doAs(namespace, createDataset(ds))
- DatasetService -> Authorizer:
!success ? revoke(ds)
- DatasetService -> AppFabric -> Router -> Client:
result
Namespace Creation
Namespace Deletion
...