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.

ServiceURLNotesFrom
PostgreSQLlocalhost:30432postgresql/standalone
Elasticsearchhttp://localhost:30920security disabledelastic/elasticsearch/standalone
APIM Consolehttp://localhost:30080gravitee-io/oss/apim/base
APIM Portalhttp://localhost:30081gravitee-io/oss/apim/base
APIM Gatewayhttp://localhost:30082gravitee-io/oss/apim/base
APIM Gateway (TLS)https://localhost:30084gravitee-io/oss/apim/base
APIM APIhttp://localhost:30083gravitee-io/oss/apim/base
APIM Bridge APIhttp://localhost:30085needs --enable-bridgegravitee-io/oss/apim/base

Context flags

Optional flags you can pass to gck create to customize this context:

FlagDescription
--disable-esDisable Elasticsearch and analytics reporters
--disable-portalDisable the developer portal UI
--disable-uiDisable both Console and Portal UIs
--enable-bridgeEnable bridge architecture: management API serves as bridge, gateway syncs through it
--enable-consulDeploy Consul and configure APIM service discovery
--enable-distributed-syncDeploy Redis and enable distributed sync with multiple gateway replicas
--enable-gkoDeploy the Gravitee Kubernetes Operator (GKO) alongside APIM
--enable-hc-vaultDeploy HashiCorp Vault and configure it as a secret provider
--enable-keycloakDeploy Keycloak and configure APIM OIDC security provider
--enable-kibanaDeploy Kibana alongside Elasticsearch
--enable-mailhogDeploy MailHog and configure APIM email settings
--enable-opentelemetry-jaegerDeploy Jaeger and enable OpenTelemetry tracing on the gateway
--enable-otel-collectorExport gateway OpenTelemetry traces to a composed otel-collector
--enable-prometheusDeploy Prometheus and enable APIM metrics
--enable-redisDeploy Redis and use it for gateway rate limiting
--enable-system-proxyDeploy mitmproxy and configure APIM HTTP client proxy
--enable-tagsConfigure gateway with sharding tags (internal/external)
--enable-tcpAdd a TCP protocol listener on the gateway
--enable-tlsEnable 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.

VariableDefaultOriginDescription
clusterNamegraviteegravitee-io/oss/apim/baseName of the Kind cluster
imageRepositorydocker.elastic.co/elasticsearch/elasticsearchelastic/elasticsearch/standaloneElasticsearch Docker image repository
imageTaglatestgravitee-io/oss/apim/baseDocker image tag for all APIM components
postgresDatabasegraviteepostgresql/standaloneDatabase to create on first startup
imagePrefixgraviteeiogravitee-io/oss/apim/baseDocker image prefix for all APIM components
helmVersion(empty)gravitee-io/oss/apim/baseHelm chart version constraint
jdbcUrljdbc:postgresql://postgresql:5432/graviteegravitee-io/oss/apim/jdbc/postgresJDBC connection URL
jdbcDriverhttps://repo1.maven.org/maven2/org/postgresql/postgresql/42.7.4/postgresql-42.7.4.jargravitee-io/oss/apim/jdbc/postgresJDBC driver download URL
jdbcUsernamepostgresgravitee-io/oss/apim/jdbc/postgresJDBC username
jdbcPasswordpostgresgravitee-io/oss/apim/jdbc/postgresJDBC password