APIM OSS - JDBC PostgreSQL
gravitee-io/oss/apim/jdbc/postgres
Gravitee APIM with PostgreSQL JDBC backend and Elasticsearch
Deploys a full Gravitee API Management stack (Console, Portal, Gateway, and Management API) backed by PostgreSQL via JDBC for persistence and Elasticsearch for analytics.
Install gck#
go install github.com/gravitee-io-labs/gck@latest
For other installation methods, see Installation .
Usage#
Create#
gck create --from gravitee-io/oss/apim/jdbc/postgres
Cleanup#
gck delete
Quick Start#
Sign in to the Console at http://localhost:30080
with the default admin account (admin / admin).
To create your first API, follow the Gravitee APIM quick start guide .
Composition chain
This context is composed from the following base contexts:
Endpoints
Services this context exposes on your machine after gck create, including the ones it inherits from the contexts it composes. Rows marked with a flag only exist when you pass it.
| Service | URL | Notes | From |
|---|---|---|---|
| PostgreSQL | localhost:30432 | postgresql/standalone | |
| Elasticsearch | http://localhost:30920 | security disabled | elastic/elasticsearch/standalone |
| APIM Console | http://localhost:30080 | gravitee-io/oss/apim/base | |
| APIM Portal | http://localhost:30081 | gravitee-io/oss/apim/base | |
| APIM Gateway | http://localhost:30082 | gravitee-io/oss/apim/base | |
| APIM Gateway (TLS) | https://localhost:30084 | gravitee-io/oss/apim/base | |
| APIM API | http://localhost:30083 | gravitee-io/oss/apim/base | |
| APIM Bridge API | http://localhost:30085 | needs --enable-bridge | gravitee-io/oss/apim/base |
Context flags
Optional flags you can pass to gck create to customize this context:
| Flag | Description |
|---|---|
--disable-es | Disable Elasticsearch and analytics reporters |
--disable-portal | Disable the developer portal UI |
--disable-ui | Disable both Console and Portal UIs |
--enable-bridge | Enable bridge architecture: management API serves as bridge, gateway syncs through it |
--enable-consul | Deploy Consul and configure APIM service discovery |
--enable-distributed-sync | Deploy Redis and enable distributed sync with multiple gateway replicas |
--enable-gko | Deploy the Gravitee Kubernetes Operator (GKO) alongside APIM |
--enable-hc-vault | Deploy HashiCorp Vault and configure it as a secret provider |
--enable-keycloak | Deploy Keycloak and configure APIM OIDC security provider |
--enable-kibana | Deploy Kibana alongside Elasticsearch |
--enable-mailhog | Deploy MailHog and configure APIM email settings |
--enable-opentelemetry-jaeger | Deploy Jaeger and enable OpenTelemetry tracing on the gateway |
--enable-otel-collector | Export gateway OpenTelemetry traces to a composed otel-collector |
--enable-prometheus | Deploy Prometheus and enable APIM metrics |
--enable-redis | Deploy Redis and use it for gateway rate limiting |
--enable-system-proxy | Deploy mitmproxy and configure APIM HTTP client proxy |
--enable-tags | Configure gateway with sharding tags (internal/external) |
--enable-tcp | Add a TCP protocol listener on the gateway |
--enable-tls | Enable TLS termination on the gateway |
Variables
Template variables overridable with --set. Use --set path.segments.var=value to target a specific context in the composition chain.
| Variable | Default | Origin | Description |
|---|---|---|---|
clusterName | gravitee | gravitee-io/oss/apim/base | Name of the Kind cluster |
imageRepository | docker.elastic.co/elasticsearch/elasticsearch | elastic/elasticsearch/standalone | Elasticsearch Docker image repository |
imageTag | latest | gravitee-io/oss/apim/base | Docker image tag for all APIM components |
postgresDatabase | gravitee | postgresql/standalone | Database to create on first startup |
imagePrefix | graviteeio | gravitee-io/oss/apim/base | Docker image prefix for all APIM components |
helmVersion | (empty) | gravitee-io/oss/apim/base | Helm chart version constraint |
jdbcUrl | jdbc:postgresql://postgresql:5432/gravitee | gravitee-io/oss/apim/jdbc/postgres | JDBC connection URL |
jdbcDriver | https://repo1.maven.org/maven2/org/postgresql/postgresql/42.7.4/postgresql-42.7.4.jar | gravitee-io/oss/apim/jdbc/postgres | JDBC driver download URL |
jdbcUsername | postgres | gravitee-io/oss/apim/jdbc/postgres | JDBC username |
jdbcPassword | postgres | gravitee-io/oss/apim/jdbc/postgres | JDBC password |