DIGIT Works
PlatformDomainsAcademyDesign SystemFeedback
Works v1.1
Works v1.1
  • Introducing Works
    • What's New
  • Design Approach
    • Approach
    • Solution Design
  • Specifications
    • Functional Specifications
      • Project
      • Estimates
      • Organisation
      • Attendance Management
      • Measurements
      • Muster Roll
      • Expenditure / Billing
      • Contracts
    • Release Notes
      • MDMS & Configuration Updates
      • Test cases
      • Data Migration
      • Service Build Updates
  • Reference Implementations
    • MUKTASoft v2.1
    • MUKTASoft v2.2
      • Specifications
        • Roadmap
        • User Persona
        • Functional Requirements
          • Product Requirements Document v2.0
          • Product Requirements Document v2.1
            • Employee Mobile Application
            • Aadhaar Integration
            • Estimate Templates
            • SOR Rate Analysis
          • User Stories
            • Time Extension
              • CBO: Create Time Extension
              • Time Extension Workflow
              • EMP: Create Time Extension
              • Search and View Time Extension
              • CBO: My Requests
              • CBO: Edit Time Extension
            • JIT-FS Integration
              • Fund Allocation Register
              • Create Payment Instruction
              • PIS: Payment Instruction Status
              • PAG: Payment Advice Status
              • PD: Update payment details
              • FD: Update Failed Payments
              • Create Revised Payment Instruction
              • Revised PI: Update payment details
              • Revised PI: Updated Failed Payments
              • Search Payment Instruction
              • View Payment Instruction
            • Work Order
              • Create Work Order
              • Work Order Workflow
              • Work Order Inbox Page
              • Create/ Submit Work Order
              • Edit/Submit Work Order
              • Verify & Forward
              • Send Back
              • Send Back To Originator
              • Reject Work Order
              • Approve
              • Search Work Order
              • Work Order PDF
            • Dashboard v1.0
              • Commons
              • KPIs: Actions Items
              • KPIs: SLA Breached
              • KPIs: Leaderboard
              • KPIs: Activities by Status
              • KPIs: Payments
              • KPIs: Expenditure
            • Schedule of rates
              • Create SOR
              • Search SOR
              • View SOR
              • Modify SOR
              • Add/ Modify Rate
            • Detailed Estimate
              • Create Detailed Estimate
              • Change in workflow
              • Change in edit estimate
              • Search and View Detailed Estimate
            • Detailed MB
              • Create MB
              • MB Inbox
              • MB Workflow
              • Search MB
              • View MB
              • Edit MB
            • Employee Mobile Application
              • Employee Login
              • Home Page
              • Work Orders
              • Create/ Edit MB
              • Measurement Books
              • View Measurement Book
            • Aadhar Integration
              • Wage Seeker's Registration
              • Wage Seeker Modification
            • Improvements
              • Moving Skills to SOR Master
              • Re-payment of failed payment
              • Revising estimate calculation logic
              • Material purchase payment to CBO
            • Estimate Template
              • Create Template
              • Search Template
              • View Template
              • Modify Template
              • Change in estimate to add template
            • Rate Analysis
              • Add/ Edit Rate Analysis
              • View Rate Analysis
              • Revising Rate
              • Analysis Statements
              • Utilization Statements
              • Download of analysis statements
            • Data Protection & Privacy
              • Display Privacy Notice In Login
              • Display Bank Account Details On Wage Bill
              • Display Muster Roll Details
              • View Payment Instruction - Mask Account Number & IFSC
              • View /Edit Wage Seeker Details
              • View/Edit Organisation Details
              • Display Engaged Wage Seeker Details
              • Display Organisation Profile & Bank Details
              • Track Attendance Changes
              • View Muster Rolls
              • Search Wage Seeker
              • Remove PII & Sensitive Data From Additional Fields
      • Deployment
        • Release Notes
          • Service Build Updates
          • Data Migration
          • Test Cases
        • Deployment Guide
        • SMS Adapter Services
          • Notification Consumer
          • Notification Consumer Service
          • Contact Notification Service
          • Estimate Notification
          • Expense Notification Service
          • Muster Roll Notification Service
          • Measurement Notification Service
          • Organisation Notification Service
          • Individual Notification Service
        • MUKTASoft Services
          • IFMS Adapter
          • Expense Calculator
          • Works PDF
          • MUKTA Services
          • Bank Account Search
          • Individual Search
          • Organisation Search
          • Bill Scheduler
          • Statements
          • Rate Analysis
        • Configuration
          • Master Data Templates
            • Project Type
            • Target Demography
            • Unit Of Measurement (Units)
            • Overheads
            • Skill Category & Skills
            • Community-Based Organisation Roles
            • Scheme
            • Expense Heads
            • Standard Deductions
            • Organisation Type
            • Organisation Sub Type
            • Organisation Functional Category
            • Organisation Class/Rank
            • HRMS Sections/Departments
            • HRMS Designation
            • HRMS Employment Type
            • User Role
            • Organization
            • Wage Seeker
            • Tenants
            • Ward Boundary
            • Locality Boundary
            • Payment Advice Format
            • Users Data
            • Schedule of rates
            • Rate Analysis
          • Notifications & SMS Templates
          • Localisation
          • Dashboard Reindexing
          • Platform Service Configuration
          • UI Configuration
            • Common Configurations
              • Role Configuration
              • MDMS Configuration
              • APK Generation
            • Modules
              • Project
              • Estimate
              • Workorder
                • Time Extension
              • Muster Roll
              • Bill
              • Organization
              • Wage Seeker
              • Wage Seeker (CBO Application)
              • Attendance (CBO Application)
              • Muster Roll (CBO Application)
              • Mukta Dashboard
              • Measurement
              • SORs and Rates
              • IFMS Adapter UI
              • Rate Analysis
              • Revision Of Rates
              • Estimate Template
              • Measurement Book (Mobile Application)
        • Customisation
          • Works UI
            • UI Tech Flow Diagrams
          • UI Screens Customisation
            • Document Upload Container
            • CSS Customisation
            • Inbox/Search Screen
      • Implementation
        • Pilot Roll Out Plan
        • Pilot Go Live Definition
        • Pilot Sucess Metrics
        • Success Metrics
        • Adoption Metrics
        • Adoption Template
        • Implementation Plan & Checklist
        • Issue Management - Standard Operating Procedures
        • Training Resources
          • User Manual
            • Mobile Application User Manual
              • CBO - Getting Started
                • My Works
                • Track Attendance
                • Muster Rolls
                • My Bills
                • My Requests
              • Employee - Getting Started
                • Work Orders
                • Measurement Books
            • Web Application User Manual
              • Getting Started
              • Project
              • Estimate
              • Work Order
              • Time Extension
              • Measurement Book
              • Muster Roll
              • Billing
              • Payments
              • Rates Revision
              • Registries
                • Wage Seekers
                • Organizations
                • Schedule Of Rates
                  • SOR Definition
                  • Rates
                  • Rate Analysis
                • Estimate Template
            • Kibana Dashboard User Manual
          • Training Videos
        • UAT Planning
          • UAT Test Case Scenarios
          • UAT Schedule Plan
          • Issue Reporting Template
          • UAT Credentials
  • Platform
    • Architecture
      • High Level Design
      • Low Level Design
        • Registries
          • Individual
          • Bank Account
          • Organization
        • Services
          • Project
          • Detailed Estimates
          • Contracts
          • Attendance
          • Muster Roll
          • Expense
          • Schedule of Rates (archive)
          • Detailed Measurement Book
  • Setup
    • Install Works
      • Install Using GitHub Actions In AWS
      • System Data Setup
    • Configure Works
      • Service Configuration
        • Project
        • Estimate
        • Contract
        • Attendance
        • Muster Roll
        • Expense
        • Bank accounts
        • Organisation
        • Individual
        • Estimate Template
  • General
    • Source Code
    • Roadmap
    • Discussion Board
    • Issues
Powered by GitBook

All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.

On this page
  • Pre-requisites
  • Install
  • Fork the GitHub Repositories
  • Adding AWS Keys to the Repository
  • Changes to be Made in the Repository
  • How to Edit the GitHub Files
  • Replace the Master and Configuration Repositories
  • Configure infrastructure-as-code
  • Configure Works Chart Version
  • Configure Application Secrets
  • Finalise Installation
  • Configure domain name
  • To Enable Filestore Service

Was this helpful?

  1. Setup
  2. Install Works

Install Using GitHub Actions In AWS

PreviousInstall WorksNextSystem Data Setup

Last updated 4 months ago

Was this helpful?

This guide provides step-by-step instructions for installing Works using GitHub Actions in an AWS environment.

Pre-requisites

  • Github account -

  • Kubectl installed in the system -

  • AWS account -

  • Install AWS CLI locally -

  • Postman - and

  • A domain host - (example: GoDaddy to configure your server to a domain)

Install

  • Prepare AWS IAM User

  • Create an IAM User in your AWS account -

  • Generate ACCESS_KEY and SECRET_KEY for the IAM user -

  • Assign administrator access to the IAM user for necessary permissions.

  • Set up the AWS profile locally by running the following commands:

    • aws configure --profile {profilename}

    • fill in the key values as they are prompted

      • AWS_ACCESS_KEY_ID: <GENERATED_ACCESS_KEY>

      • AWS_SECRET_ACCESS_KEY: <GENERATED_SECRET_KEY>

      • AWS_DEFAULT_REGION: ap-south-1

    • export AWS_PROFILE={profilename}

Note: AWS Account should have S3 Bucket access to make Filestore service work

Fork the GitHub Repositories

Adding AWS Keys to the Repository

Go to the forked works-devops repository:

  • Navigate to the repository settings.

  • Go to Secrets and Variables.

  • Click on the actions options below secrets and variables.

  • On the new page, choose the new repository secret option in repository secrets and add the following keys mentioned below:

    • AWS_ACCESS_KEY_ID: <GENERATED_ACCESS_KEY>

    • AWS_SECRET_ACCESS_KEY: <GENERATED_SECRET_KEY>

    • AWS_DEFAULT_REGION: ap-south-1

    • AWS_REGION: ap-south-1

Changes to be Made in the Repository

  • Navigate to the release-githubactions branch in the forked DevOps repository.

  • Enable GitHub Actions.

    • Click on Actions, then click on "I understand my workflows, go ahead and enable them":

How to Edit the GitHub Files

  • The following steps can be done either directly in the browser or the local system if you are familiar with Git usage.

  • Before following any of the steps switch to the release-githubactions branch.

  1. Steps to edit in the local system if you are familiar with Git basics:

    1. Git clone {forked DevOps repolink}

    2. Follow the below steps and make changes

    3. Then commit and push to the release-githubactions branch

    4. NOTE: Complete all changes at once then commit and push the code to remote to trigger the installation.

Replace the Master and Configuration Repositories

  • Note: Make these repository/branch changes before installation; making changes to the configuration repository link in the DevOps repository after installation without understanding what impact they may have will lead to failure in the application functionality.

  • Navigate to egov-demo.yaml (config-as-code/environments/egov-demo.yaml).

  • Under the egov-persister: change the gitsync link of the works-config repository to the forked config repository and the branch to DEMO.

  • Under the egov-indexer: change the gitsync link of the works-config repository to the forked config repository and the branch to DEMO.

Configure infrastructure-as-code

  • Navigate to infra-as-code/terraform/sample-aws.

  • Open input.yaml and enter details such as domain_name, cluster_name, bucket_name, and db_name.

Configure Works Chart Version

  • Navigate to file deploy-as-code/deployer/digit_installer.go

  • Search for works-demo in the file and check for health-demo-vX.X

  • Change the version to v1.1-> works-demo-v1.1

Configure Application Secrets

  • Generate SSH key pair.

  • How to Generate SSH Key Pair - choose one of the following methods to generate an SSH key pair:

    • Method b: Use OpenSSL commands:

      • openssl genpkey -algorithm RSA -out private_key.pem

      • ssh-keygen -y -f private_key.pem > ssh_public_key

      • To view the key run the commands or use any text editor to open the files

        • vi private_key.pem

        • vi ssh_public_key

  • Once generated Navigate to config-as-code/environments

  • Open egov-demo-secrets.yaml

  • Search for PRIVATE KEY and replace from -----BEGIN RSA PRIVATE KEY----- to -----BEGIN RSA PRIVATE KEY----- with private_key generated (note: please make sure the private key is indented as given)

Finalise Installation

  • Once all details are entered, push these changes to the remote GitHub repository. Open the Actions tab in your GitHub account to view the workflow. You should see that the workflow has started, and the pipelines are completed successfully.

Configure domain name

  • Connect to the Kubernetes cluster, from your local machine by using the following command:

aws eks update-kubeconfig --region ap-south-1 --name $CLUSTER_NAME
  • Get the CNAME of the nginx-ingress-controller

kubectl get svc nginx-ingress-controller -n egov -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
  • The output of this will be something like this:

To Enable Filestore Service

After connecting to Kubernetes cluster, edit the deployment of FileStore service using the following command:

export KUBE_EDITOR='code --wait'
kubectl edit deployment egov-filestore -n egov

The deployment.yaml for Filestore Service will open in VS Code , add the aws key and secret key provided to you in the way shown below:

Close the deployment.yaml file opened in your VS Code editor and the deployment will be updated.

Fork the following repositories with all the branches into your organisation account on :

(We do not need the master data repo since we are using the mdms-v2 by default with data seeded)

Steps to edit the git repository in the browser -

Method a: Use an online website. (Note: This is not recommended for production setups, only for demo purposes):

Add the public_key to your GitHub account -

Add the displayed CNAME to your domain provider against your domain name. e.g. GoDaddy domain provider -

signup
installation guide
signup
installation guide
installation guide
import data guide
official document
AWS document
GitHub
Works-DevOps
Master-Data
configs
Git guide
https://8gwifi.org/sshfunctions.jsp
Git guide
ae210873da6ff4c03bde2ad22e18fe04-233d3411.ap-south-1.elb.amazonaws.com
https://www.godaddy.com/en-in/help/add-a-cname-record-19236
Filestore secret