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.
✅ Minimum Recommended Machine Configuration (for Local Setup)
🖥️ Operating System
Ubuntu 22.04+, or
Windows 10/11 Pro (64-bit) (WSL2 preferred if running Linux-based tools), or
macOS 12+ (Monterey or later)
⚙️ Hardware Requirements
CPU
4 cores
8 cores or higher
RAM
16 GB
32 GB or higher
Disk
256 GB SSD
512 GB NVMe SSD
Network
Stable Internet
100 Mbps+ for EKS access
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
Setup Instructions: Jenkins Setup for DIGIT
Tools Installation Checklist
To setup the DIGIT development environment -
Run the Kafka and PostgreSQL on the development machine and re-use other services from the DIGIT development environment. The following tools are required for development:
Install IDE - To create SpringBoot/Java applications it is recommended to use IntelliJ IDE. IntelliJ can be downloaded from the following links -
Install the Lombok plugins for IntelliJ as we use Lombok annotations in this module.
Install Kafka (version 3.2.0 which is the latest version) - To install and run Kafka locally, follow the following links -
Install Postman - To install Postman, follow the following links -
Install Kubectl - Kubectl is the tool that we use to interact with services deployed on our sandbox environment - kubectl for windows
https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/
Install aws-iam-authenticator - (if the DIGIT development environment is in AWS) - https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html
Install PostgreSQL v14 locally
Add configuration - Post installation of Kubectl, add the following configuration in the Kubernetes config file to enable access to resources in our sandbox environment. Kubernetes config file is available in the user's home directory (which varies from OS to OS).
For example, on a Mac, it is available at:
/Users/xyz/.kube/config
Once the config file is created, add the following content to it.
Note: Replace the placeholder keys and tokens in the snippet below with your AWS-specific keys. Contact your system administrator for help with this.
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: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01EVXhNekV6TlRReE5sb1hEVE13TURVeE1URXpOVFF4Tmxvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTkJyClN6aHJjdDNORE1VZVF5TENTYWhwbEgyajJ1bkdYSWk1QThJZjF6OTgwNEZpSjZ6OS9qUHVpY3FjaTB1VURJQnUKS3hjdVFJRkozMG1MRWg3RGNiQlh2dDRnUlppZWtlZzVZNGxDT2NlTWZFZkFHY01KdDE1RVVCUFVzdlYyclRMcQp6a0ovRzVRUUFXMmhwREJLaFBoblZJTktYN1YzOU9tMUtuTklTbllPWERsZ1g3dW9Wa3I1OFhzREFHWEVsdC9uClpyc3laM2pkMWplWS8rMXlQQzlxbkorT0QwZlRQVGdCV1hMQlFwMHZKdHVzNE1JV2JLdkhlcUZ5eWtGd2V5MmoKSzk5eU1Yb0oraUpCaFJvWGllU3ZrNnFYdG44S2l4bVJtOXZPQk1hcWpuNkwwTjc3UWNCNjVRaHNKb0tWKzBiMQp5VVpJTHVTWWVTY0Yra3h6TzFVQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFNdnF3THl6d2RUL05OWlkvanNzb0lmQmIyNDgKZ3oxSHRuSXJ4UGhaY3RrYjBSMExxeTYzRFZBMFNSN0MrWk90aTNNd3BHMkFSVHVzdG1vYm9HV3poUXlXRk16awpVMVNIZSt6S3poeGcweUpjUjliZnlxM1ZtQVVCZlQyTVV5cVl2OVg0aWxpbmV0SURQaFBuWnlPMERQTHJITGoyCkcxZy8vWmZYbmFCT2k3dlZLSXFXUUR6RlltWGkwME9vOEVoalVyMU5sQ3FISnF1dUo3TlRWQWk1cXA0Qm1xWU8KUTBrbTVxTVVHbG9ZdkNmN1lHQWREWTVnWGg4dzFVMVdaNWNub0Q4WWc3aEtlSjRMRzRram1adlNucGZrS3VxNApiVDdUSjEwUEZlWFJkek8xa2FkQ3VMQSttUlg3OEd5WEw0UTZnOFdPUlhOVDYzdXN3MnlpMXVVN1lMTT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://3201E325058272AA0990C04346DA6E82.yl4.ap-south-1.eks.amazonaws.com
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
args:
- token
- -i
- egov-dev
command: aws-iam-authenticator
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}
This setup ensures your machine is ready for DIGIT-based service development and deployment.
Last updated
Was this helpful?