/
Pipelines Strategy

Pipelines Strategy

Objective

We will be using Github actions for our CI/CD execution.
We will be defining pipeline strategy for Infrastructure as well as for applications.

Contents
1. Infrastructure Pipeline
2. Application Pipeline

1. Infrastructure Pipeline:

For deploying & bringing up the Infrastructure on Cloud we are using IAC (Terraform).
To bring the environment UP with a single click & all security compliance below is the defined flow:


Various open source tools used:
1. Slack Bot: For Push & success notification.

2. tflint: TFLint is a framework and each feature is provided by plugins, the key features are as follows:

  • Find possible errors (like illegal instance types) for Major Cloud providers (AWS/Azure/GCP).

  • Warn about deprecated syntax, unused declarations.

  • Enforce best practices, naming conventions.

3. Terrascan: A static code analyser for Infrastructure as Code.

4. tfsec: tfsec uses static analysis of your terraform code to spot potential misconfigurations.
Checks for misconfigurations across all major (and some minor) cloud providers

tfsec: πŸ”˜ Hundreds of built-in rules πŸ”˜ Scans modules (local and remote) πŸ”˜ Evaluates HCL expressions as well as literal values πŸ”˜ Evaluates Terraform functions e.g. concat() πŸ”˜ Evaluates relationships between Terraform resources πŸ”˜ Compatible with the Terraform CDK πŸ”˜ Applies (and embellishes) user-defined Rego policies πŸ”˜ Supports multiple output formats: CLI, JSON, SARIF, CSV, CheckStyle, and JUnit. πŸ”˜ Configurable (via CLI flags and/or config file) πŸ”˜ Very fast, capable of quickly scanning huge repositories πŸ”˜ Plugins for popular IDEs available (JetBrains, VSCode and Vim) πŸ”˜ Community-driven


5. Terraform: An IAC tool for creations of various resources on Cloud

Flow Diagram for Infra Pipeline



NOTE: Will be updating the page as & when we enhance the process.

Related content

Install Bahmni on AWS Kubernetes
Install Bahmni on AWS Kubernetes
More like this
Grafana Loki Log Persistance Configuration
Grafana Loki Log Persistance Configuration
Read with this
Key decisions (for Cloud Automation)
Key decisions (for Cloud Automation)
More like this
Install Bahmni on Kubernetes Minikube for Development
Install Bahmni on Kubernetes Minikube for Development
Read with this
Github Actions - Continuous Integration
Github Actions - Continuous Integration
More like this
Monitoring & Centralised Logging Installation for Kubernetes environments
Monitoring & Centralised Logging Installation for Kubernetes environments
Read with this

The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)