Create Eureka environment

Create Eureka environment

Create Eureka environment from branch


Purpose

The development team needs to create an Eureka-based environment with modules from a specific branch.

This job provisions a complete Eureka environment with all necessary infrastructure components, applications, and optional features.


Create Eureka environment

Steps:

  1. Log in to Jenkins Dashboard

  2. Navigate to the job: createNamespaceFromBranch

  3. Click the Build with Parameters button on the left side

  4. Configure the following parameters:

Core Parameters

Parameter

Required/Optional

Description

Parameter

Required/Optional

Description

PLATFORM

Required

Select platform type (EUREKA or OKAPI) - Must select EUREKA

CLUSTER

Required

Select cluster - Eureka clusters start with e (e.g., edev, etesting, folio-tmp)

NAMESPACE

Required

Enter namespace name for the cluster

FOLIO_BRANCH

Required

Select a platform-complete branch to use corresponding module versions

OKAPI_VERSION

Optional

Okapi version (hidden for Eureka platform)

APPLICATION_SET

Optional

Select application set to deploy (Eureka only)

APPLICATIONS

Optional

Comma-separated list of specific applications to deploy (Eureka only)

CONFIG_TYPE

Required

Deployment config type for resource allocation:

development - for Dev cluster
testing - for Testing cluster
performance - for Perf cluster |
| SC_NATIVE | Optional | Set false to use Java-based SC image (default: true, Eureka only) |
| TYPE | Required | Action type: full (complete setup), terraform (infrastructure only), or update (update existing) |

Environment Features

Parameter

Default

Description

Parameter

Default

Description

LOAD_REFERENCE

false

Load reference data during installation

LOAD_SAMPLE

false

Load sample data during installation

BUILD_UI

true

Include UI build

CONSORTIA

true

Create consortium setup

CONSORTIA_EXTRA

false

Create 2nd consortium

RTAC_CACHE

false

Enable RTAC cache Eureka Application

EDGE_LOCATE

false

Enable Edge Locate application

HAS_SECURE_TENANT

true

Enable secure tenant on one of the consortia institutional tenants

SECURE_TENANT

 

Specify secure member tenant ID (visible when HAS_SECURE_TENANT=true)

LINKED_DATA

true

Deploy LinkedData functionality

MARC_MIGRATIONS

false

Deploy Marc-Migrations functionality

SPLIT_FILES

true

Enable split-files functionality

RW_SPLIT

false

Enable Read/Write split on database

ECS_CCL

false

Enable ECS Circulation + Congressional loans functionality

GREENMAIL

false

Deploy Greenmail server

MOCK_SERVER

false

Deploy mock-server

RTR

false

Enable RTR (Request to Release)

DATASET

false

Build BF (BugFest) like environment

DB_BACKUP_NAME

(default)

Name of DB backup to restore (for dataset restoration)

FOLIO_KEYCLOAK_VERSION

latest

FOLIO Keycloak tag (e.g., 21.0.1-SNAPSHOT.f959523)

FOLIO_KONG_VERSION

latest

FOLIO Kong tag (e.g., 3.10.0-SNAPSHOT.f959523)

Integration Parameters

Parameter

Required/Optional

Description

Parameter

Required/Optional

Description

POSTGRESQL

Required

Select PostgreSQL type: built-in or AWS RDS

DB_VERSION

Required

Select PostgreSQL database version

KAFKA

Required

Select Kafka type: built-in or AWS MSK

OPENSEARCH

Required

Select OpenSearch type: built-in or AWS OpenSearch

S3_BUCKET

Required

Select S3 type: built-in Minio or AWS S3

Post-Deployment

Parameter

Default

Description

Parameter

Default

Description

RUN_SANITY_CHECK

false

Run Cypress sanity check after deployment to verify environment

  1. Click Build button

  2. Wait for completion


Important Notes

  • IMPORTANT: Delete your environment if it exists before creating! Even if the job failed previously, you must delete the namespace before recreating

  • For protected clusters (folio-testing, folio-etesting) or DATASET environments, kitfox approval is required

  • Namespace validation is performed for all clusters except folio-tmp

  • Parameter visibility is dynamic based on PLATFORM selection:

    • Eureka platform hides OKAPI_VERSION

    • Okapi platform hides APPLICATION_SET, APPLICATIONS, and SC_NATIVE

  • Consortium secure tenant parameters are conditionally visible based on CONSORTIA and HAS_SECURE_TENANT settings


Job Workflow

The job executes different workflows based on the PLATFORM parameter:

For EUREKA Platform:

  1. Calls folioNamespaceCreateEureka with namespace parameters

  2. Configures Eureka-specific settings (Kong, Keycloak, Applications)

  3. Sets up consortium with Eureka extensions if enabled

  4. Optionally runs Cypress sanity check against Kong endpoint

For OKAPI Platform:

  1. Calls folioNamespaceCreate with namespace parameters

  2. Configures Okapi-specific settings

  3. Sets up consortium with standard extensions if enabled

  4. Optionally runs Cypress sanity check against Okapi endpoint

Folio Extensions Added:

Based on enabled features, the following extensions are automatically added:

  • consortia-eureka or consortia (based on platform)

  • linked-data (if LINKED_DATA=true)

  • marc-migrations (if MARC_MIGRATIONS=true)

  • rtac-cache (if RTAC_CACHE=true)

  • edge-locate (if EDGE_LOCATE=true)


Sanity Check Configuration

If RUN_SANITY_CHECK is enabled, Cypress tests run with:

  • Eureka: Tests against Kong endpoint with fse+sanity tags from master branch

  • Okapi: Tests against Okapi endpoint with fse+sanity tags from okapi branch

  • Workers: 4 parallel workers

  • Timeout: 60 minutes

  • Tenant: diku with admin credentials


Example Use Cases

Standard Eureka Environment

  • PLATFORM: EUREKA

  • CLUSTER: edev

  • FOLIO_BRANCH: snapshot

  • CONSORTIA: true

  • BUILD_UI: true

  • TYPE: full

Testing Environment with RTAC Cache

  • PLATFORM: EUREKA

  • CLUSTER: etesting

  • RTAC_CACHE: true

  • LINKED_DATA: true

  • RUN_SANITY_CHECK: true

  • TYPE: full

Update Existing Environment

  • TYPE: update

  • Other parameters remain the same as original creation