Skip to content

Architecture

The library is designed as follows:

Ark SDK Design

Design Perspectives

The main components are:

  • Profile: The profile defines a set of properties and information about the user's authentication methods. Profiles are persisted on the filesystem for subsequent actions.
  • Authenticators: The integrations with specific authentication methods, which enable interaction with services. An authentication method can either be Identity (User/Service User) or a custom implementation.
  • Services: The service providing functionality (requires one or more associated authenticators to perform actions). For example, the DPA service exposes DPA APIs in an secure manner.
  • Services Model Schemes The models exposed by a service, which can be used to perform the service's actions.
  • CLI Actions: CLI interface built on the SDK, which provides users with the following shell commands:
    • configure: Configure a profile with authentication details
    • login: Log in with a configured profile authenticator
    • exec: Execute services actions