Sign inSign up

altibase/document-access-rest

By altibase

•Updated about 1 month ago

Altibase Document Access REST API

Image
Developer tools
Databases & storage
1

813

altibase/document-access-rest repository overview

⁠KADA: Altibase Document Access REST API

KADA (Key-optimized Altibase Document Access)

KADA is a high-performance RESTful API that enables MongoDB-style document management on Altibase. It allows developers to store, query, and manage JSON documents directly in Altibase without complex schema design, leveraging Altibase's powerful in-memory and disk-based hybrid architecture.

⁠Key Features

  • MongoDB-Compatible Query Syntax: Supports familiar MongoDB-style query operators (e.g., $eq, $gt, $in, $and, $or), making it easy for developers to adapt.

  • Key-Optimized Performance: Optimized for key-based lookups and operations, delivering exceptional speed for transactional workloads.

  • Flexible Deployment: Supports both Standalone (JAR/WAR) and Containerized (Docker/Kubernetes) deployments.

  • Dual Authentication Support (Local & OAuth2): Flexible security model supporting both built-in Local JWT authentication and OAuth2 Resource Server integration with external Identity Providers (e.g., Keycloak, Auth0).

  • Auto-Configuration: Automatically creates necessary database users and tables (kada_db) upon startup, simplifying the initial setup process.

  • Swagger API Docs: Provides interactive API documentation via Swagger UI for easy testing and integration.


⁠Quick Start (Docker)

You can quickly run the Altibase Document Access REST API using Docker.

⁠1. Requirements
  • Docker Engine 20.10+
  • Running Altibase Database Server (v8.1 or later is required)
⁠2. Pull Image
docker pull altibase/document-access-rest:latest
⁠3. Run Container
⁠Case A: Default Local Mode (with Built-in JWT)

This is the simplest way to start the server. It connects to your Altibase database and manages authentication locally.

Bash (Linux / macOS)

docker run -d \
  --name document-access-rest \
  -p 8080:8080 \
  -e KADA_ALTIBASE_HOST=host.docker.internal \
  -e KADA_ALTIBASE_PORT=20300 \
  -e KADA_ALTIBASE_DBNAME=mydb \
  -e KADA_ALTIBASE_SYS_PASSWORD=manager \
  -e KADA_API_ADMIN_PASSWORD=manager \
  -e KADA_API_USER_PASSWORD=manager \
  -e KADA_AUTO_SETUP_ENABLED=true \
  -e AUTH_PROVIDER=LOCAL \
  -e JWT_SECRET=change-this-secret-key \
  --add-host host.docker.internal:host-gateway \
  altibase/document-access-rest:latest

PowerShell (Windows)

docker run -d `
  --name document-access-rest `
  -p 8080:8080 `
  -e KADA_ALTIBASE_HOST=host.docker.internal `
  -e KADA_ALTIBASE_PORT=20300 `
  -e KADA_ALTIBASE_DBNAME=mydb `
  -e KADA_ALTIBASE_SYS_PASSWORD=manager `
  -e KADA_API_ADMIN_PASSWORD=manager `
  -e KADA_API_USER_PASSWORD=manager `
  -e KADA_AUTO_SETUP_ENABLED=true `
  -e AUTH_PROVIDER=LOCAL `
  -e JWT_SECRET=change-this-secret-key `
  --add-host host.docker.internal:host-gateway `
  altibase/document-access-rest:latest
⁠Case B: IdP Mode (External Auth)

To integrate with external Identity Providers (e.g., Keycloak, Auth0):

docker run -d \
  --name document-access-rest \
  -p 8080:8080 \
  -e KADA_ALTIBASE_HOST=host.docker.internal \
  -e KADA_ALTIBASE_PORT=20300 \
  -e KADA_ALTIBASE_DBNAME=mydb \
  -e KADA_ALTIBASE_SYS_PASSWORD=manager \
  -e KADA_API_ADMIN_PASSWORD=manager \
  -e KADA_API_USER_PASSWORD=manager \
  -e KADA_AUTO_SETUP_ENABLED=true \
  -e AUTH_PROVIDER=IDP \
  -e IDP_ISSUER_URI=https://your-idp-domain.com/ \
  -e IDP_JWK_SET_URI=https://your-idp-domain.com/.well-known/jwks.json \
  --add-host host.docker.internal:host-gateway \
  altibase/document-access-rest:latest

Note: The --add-host host.docker.internal:host-gateway flag is required for the container to access services running on the host machine (like your local Altibase database).


⁠Documentation

For more detailed information on installation options, configuration, and API usage, please refer to the official documentation or the Swagger UI endpoint (/swagger-ui.html) once the server is running.

Note: Swagger UI and API documentation are disabled by default for security reasons. To enable them, you must add the following environment variables to your docker run command: -e SWAGGER_ENABLED=true -e API_DOCS_ENABLED=true

Tag summary

Content type

Image

Digest

sha256:0d54f95af…

Size

111 MB

Last updated

about 1 month ago

docker pull altibase/document-access-rest