The StorageManager
is a component of the Superb Data Kraken Platform (SDK).
It offers a JSON-based, RESTful API designed to manage storage contexts for organizations and spaces.
It serves as an interface to the underlying cloud storage system and manages the creation and removal of the storage context, which consists of all necessary storage resources (like storage accounts or buckets) essential for spaces and organizations to provide storage capabilities.
This includes the management of storage like Azure Blob Storage or an S3 storage like the Object Storage Service OBS for Open Telekom Cloud or any other underlying cloud storage used.
For a more detailed understanding of the broader context of the platform this project is used in, refer to the architecture documentation.
For instructions on how to deploy the StorageManager
on an instance of the SDK, refer to
the installation instructions.
Refer to index.md for more detailed but deployment specific documentation.
Follow the instructions below to set up a local copy of the project for development and testing.
- jdk >= 17
- Maven 3.6.x (if you're not using the Maven wrapper)
- A running OIDC/OAuth2 provider instance
- sdk-common package
To set up your local environment for development and testing, follow these steps:
- Clone the repository:
git clone https://github.com/EFS-OpenSource/superb-data-kraken-storagemanager.git cd superb-data-kraken-storagemanager
- Set up the service configuration:
Configure the
cp src/main/resources/application-local-template.yml src/main/resources/application-local.yaml
application-local.yaml
file based on your local development setup. The OIDC provider instance needs to be configured correctly for thestoragemanager
to run as expected. - Run the service:
./mvnw spring-boot:run -Dspring-boot:run.profiles=local
- After successful setup, you can test the service using the auto-generated API documentation at:
https://localhost:8093/storagemanager/swagger-ui/index.html
sdk.oauth2.config-url
: Specifies the URL pointing to the OpenID Connect discovery document. This URL provides essential configuration details for OAuth2 and OpenID Connect operations, enabling dynamic discovery of authentication server endpoints and supported features. It's instrumental in configuring the OAuth2-based security settings within the Spring Boot application's security plugin.- Replace all placeholders enclosed in
$()
, e.g.:REALM
: the specific realm set up with the openid connect (oidc) provider.CLIENT_ID
: the unique identifier for the service account that the service utilizes.
Here are the essential commands you'll need to use the service:
- Build the service:
./mvnw package
- Executing the tests alone:
./mvnw test
- Run the storagemanager:
./mvnw spring-boot:run -Dspring-boot:run.profiles=local
- Build the service Docker image:
docker build -t sdk/storagemanager .
See the Contribution Guide.
See the Changelog.