CX Cloud Docs
v3.0-docs
v3.0-docs
  • Welcome To CX Cloud
  • Introduction
    • Why CX Cloud?
    • Architecture Overview
    • How To Participate?
    • Change Log
  • Getting Started
    • Requirements
      • Prepare Local Environment
      • Install CX Cloud CLI
    • Setting up a CX Cloud Project
      • Provision Infrastructure
      • Generating Core Services
      • Generating a Frontend Demo
      • Configuring Routing Manifest
      • Configuring CI/CD Pipeline
      • Configuring Data Engine
  • Guides
    • Infrastructure Operations
      • Getting Access To An Already Running Infrastructure
      • Deleting Deployments
      • Managing Secrets
    • Application Development
      • Git Repository Conventions
      • Process Engine
Powered by GitBook
On this page
  • Create manifest
  • Test
  1. Getting Started
  2. Setting up a CX Cloud Project

Configuring Routing Manifest

PreviousGenerating a Frontend DemoNextConfiguring CI/CD Pipeline

Last updated 5 years ago

Routing manifest is needed to make multiple services available in the same domain.

For example, let's assume you have created a front-end and 3 microservices and you want them all to be available on the same domain:

  • newsite.example.com/ should load frontend service

  • newsite.example.com/api/service-commerce/ should load package-commerce service

  • newsite.example.com/api/service-content should load package-content service

  • newsite.example.com/api/service-search should load package-search service

You have to create a routing manifest to achieve this. (In addition to pointing the domain in question to your Kubernetes cluster during )

Create manifest

Add .cxcloud.yaml to the root folder of your monorepo.

my-monorepo/.cxcloud.yaml
namespace: $GIT_BRANCH
routing:
  domain: $GIT_BRANCH.dev.newsite.example.com
  ingressClass: $INGRESS_CLASS
  lbCert: $LB_CERT
  scheme: $SCHEME
  ssl: false
  rules:
    - path: /api/service-commerce
      serviceName: package-commerce
      servicePort: 4003
    - path: /api/service-content
      serviceName: package-content
      servicePort: 4003
    - path: /api/service-search
      serviceName: package-search
      servicePort: 4003
    - path: /
      serviceName: package-frontend
      servicePort: 80

Please note that path should match the API prefix you defined when generating the service with CLI. By default, during service generation, CX Cloud CLI suggests service name as the API prefix.

After committing changes to Git repository, CI/CD pipeline will deploy changes automatically.

Test

To test for example commerce service, newsite.example.com/api/service-commerce/ should return {"health":"OK"} and newsite.example.com/api/service-commerce/v1/api-docs should present to you Swagger documentation.

infra generation