Pre-requisites

CCRS - Development Environment Prerequisites and Setup Guide

Before You Start

To develop or customise services on the DIGIT (CCRS) platform, both technical and non-technical prerequisites must be fulfilled.


Technical Prerequisites

Ensure you have working knowledge of:

  • Java / J2EE

  • Spring Boot Framework

  • REST APIs (Path params, headers, JSON, etc.)

  • Git version control system

  • PostgreSQL database

  • Kafka (Messaging Queue)

Required Services (Should be running or configured with remote URLs):

  • User Service

  • MDMS (Master Data Management System)

  • Persister

  • Location Service

  • Localization Service

  • Id-Gen Service

  • Billing Service

  • URL Shortener Service


Non-Technical Prerequisites

Docker Registry Setup

A container registry (DockerHub, AWS ECR, GitHub Packages, etc.) should be configured to store and deploy Docker images.

CI/CD Pipeline Setup

Jenkins or GitHub Actions should be configured to enable automated build, test, and deployment.

Setup Instructions: Jenkins Setup for DIGIT


Tools Installation Checklist

1. Install Git

Used for source control and managing code repositories.

2. Install JDK 17

DIGIT services require Java 17.

3. Install IntelliJ IDEA

Recommended IDE for Java/Spring Boot development.

4. Install Kafka (v3.2.0)

Used for asynchronous communication between services.

5. Install Postman

Used to test APIs during development.

6. Install kubectl

CLI tool to interact with Kubernetes environments.

7. Install aws-iam-authenticator (Optional)

Required only if your sandbox/Kubernetes cluster is hosted on AWS.


Kubernetes Access Configuration (kubectl)

Post kubectl installation, you must configure access to the Kubernetes cluster. Below is a sample configuration (typically placed in ~/.kube/config):

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: <CERT_DATA>
    server: https://<CLUSTER_ENDPOINT>
  name: eks_egov-dev


contexts:
- context:
    cluster: eks_egov-dev
    namespace: egov
    user: eks_egov-dev
  name: dev


current-context: dev
kind: Config
preferences: {}


users:
- name: eks_egov-dev
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: aws-iam-authenticator
      args:
        - token
        - -i
        - egov-dev
      env:
        - name: AWS_ACCESS_KEY
          value: <AWS_ACCESS_KEY_PLACEHOLDER>
        - name: AWS_SECRET_ACCESS_KEY
          value: <AWS_SECRET_ACCESS_KEY_PLACEHOLDER>
        - name: AWS_REGION
          value: <AWS_REGION_PLACEHOLDER>

Note: If you see the error: error: You must be logged in to the server (Unauthorised). Try running the command with sudo, e.g., sudo kubectl get pods


This setup ensures your machine is ready for DIGIT-based service development and deployment.

Last updated

Was this helpful?