Skip to content

Netcracker/qubership-integration-runtime-catalog

Qubership Integration Platform - Runtime Catalog

Runtime Catalog Service is a part of Qubership Integration Platform. It provides an API to manage integration flows (so-called integration chains) snapshots and deployments. Service publishes information about integration chain deployments to Consul from where it is fetched by Engine.
All operations on integration chains are being logged, and an API is provided to get the action journal.

Installation

Runtime Catalog Service is a Spring Boot Application and requires Java 21 and Maven to build. Dockerfile is provided to build a containerized application. It can be run locally using a Docker compose configuration.

Configuration

Application parameters can be set by environment variables.

Environment variable Default value Description
TOMCAT_PORT 8080 Port to listen
ROOT_LOG_LEVEL INFO Logging level
CONSUL_URL http://consul:8500/ Consul URL
CONSUL_ADMIN_TOKEN Consul assess token
ACTION_LOG_CLEANUP_INTERVAL 14 days Maximum age of action log records. Records older than specified value will be deleted. Examples: '1 hour', '7 days', '2 years 3 month'
ACTION_LOG_CLEANUP_CRON 0 0 0 ? * SAT Action log cleanup task schedule in cron expression format
MAX_UPLOAD_MULTIPART_FILE_SIZE 25 Maximum file size to upload, MB. Limits data size for upload operations like import of integration chain definitions.
KUBE_TOKEN_PATH /var/run/secrets/kubernetes.io/serviceaccount/token Kubernetes token path
KUBE_CERT_PATH /var/run/secrets/kubernetes.io/serviceaccount/ca.crt Kubernetes certificate path
MICROSERVICE_NAME Microservice name.
DEPLOYMENT_VERSION v1 Deployment version for bluegreen.
NAMESPACE Kubernetes namespace.
ORIGIN_NAMESPACE Origin namespace for bluegreen.
TRACING_ENABLED false If true, enables application tracing via OpenTelemetry protocol.
TRACING_HOST Tracing endpoint URL.
TRACING_SAMPLER_PROBABILISTIC 0.01 Tracing sampling probability. By default, application samples only 1% of requests to prevent overwhelming the trace backend.
POSTGRES_URL postgres:5432/postgres Database URL
POSTGRES_USER postgres Database user
POSTGRES_PASSWORD postgres Database password
PG_MAX_POOL_SIZE 30 The maximum number of connections that can be held in the connection pool.
PG_MIN_IDLE 0
PG_IDLE_TIMEOUT 300000 Sets the maximum allowed idle time between queries, when not in a transaction.
PG_LEAK_DETECTION_INTERVAL 30000 The maximum number of milliseconds that a client will wait for a connection from the pool.
QIP_EXPORT_REMOVE_UNUSED_SPECS true Enables removal of unsed specifications from exported data.
QIP_REGISTER_INGRESS_CHAIN_ROUTES true Marks integration endpoints to be registered in ingress.
QIP_REGISTER_EGRESS_CHAIN_ROUTES true Marks outcoming routes to be registered in egress.
QIP_EXPORT_LEGACY_FORMAT false Export configuration in "old" format.

Configuration can be overridden with values stored in Consul. The config/${NAMESPACE} prefix is used.

Application has 'development' Spring profile to run service locally with minimum dependencies.

Dependencies

  • Consul service.
  • Access to Kubernetes API.
  • PostgreSQL database.

Contribution

For the details on contribution, see Contribution Guide. For details on reporting of security issues see Security Reporting Process.

The library uses Checkstyle via Maven Checkstyle Plugin to ensure code style consistency among Qubership Integration Platform's libraries and services. The rules are located in a separate repository.

Commits and pool requests should follow Conventional Commits strategy.

Licensing

This software is licensed under Apache License Version 2.0. License text is located in LICENSE file.

Additional Resources

About

No description or website provided.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 20

Languages