Skip to content

ejohnguia/devops-train

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

DevOps Testing Repository

This repository is a playground for exploring and testing various DevOps tools commonly used in infrastructure automation, configuration management, and CI/CD pipelines. It is designed to be a learning resource and a place to document workflows, scripts, and example configurations.

Table of Contents

Overview

This repository contains code samples, scripts, and configuration files to help with the following:

  • Automating infrastructure provisioning using Terraform
  • Managing configuration for servers and applications with Ansible
  • Implementing DevOps best practices and experimenting with CI/CD workflows
  • Testing integrations between Terraform, Ansible, and cloud providers (e.g., AWS, Azure)

The goal is to provide a hands-on environment for learning and experimenting with these tools.

Technologies Used

  • Terraform: For infrastructure provisioning and management.
  • Ansible: For configuration management and application deployment.
  • Python: For scripting and automating custom tasks.
  • Bash/PowerShell: For shell scripting as needed.
  • CI/CD Tools: GitHub Actions, Jenkins (if applicable).

Getting Started

Prerequisites

To use this repository, you’ll need:

  • Terraform installed
  • Ansible installed
  • Access to a cloud provider (e.g., AWS, Azure) with credentials set up
  • Git, Bash, and optionally Python 3.x for additional scripting

Installation

  1. Clone the repository:

    git clone git@github.com:ejohnguia/devops-train.git
    cd devops-train
  2. Set up environment variables for Terraform and Ansible if needed:

    export ACCESS_KEY_ID=your_access_key
    export SECRET_ACCESS_KEY=your_secret_key
  3. Install Python dependencies (if any):

    pip install -r requirements.txt

Project Structure

.
├── terraform/                 # Terraform configuration files
│   ├── main.tf                # Example main configuration
│   ├── variables.tf           # Variables used in Terraform
│   └── outputs.tf             # Outputs of Terraform resources
├── ansible/                   # Ansible playbooks and roles
│   ├── playbook.yml           # Main Ansible playbook
│   └── roles/                 # Ansible roles
├── scripts/                   # Shell/Python scripts for automation
├── .github/workflows/         # GitHub Actions workflows (if using GitHub Actions)
└── README.md                  # This README file

Tools to Be Explored

Based on the DevOps Roadmap, the following tools and concepts will be explored as part of this repository:

  • Operating Systems: Focusing on Linux fundamentals and shell scripting
  • Programming/Scripting: Python and Bash for automation
  • Infrastructure as Code (IaC):
    • Terraform: Automating infrastructure setup on cloud providers
    • CloudFormation (AWS), ARM Templates (Azure): To be explored for cloud-native IaC
  • Configuration Management:
    • Ansible: Automating application and environment configurations
    • Chef and Puppet: To be considered for advanced use cases
  • CI/CD Tools:
    • GitHub Actions: For CI/CD pipelines
    • Jenkins: To be explored for end-to-end automation
  • Containers & Orchestration:
    • Docker: Building and running containerized applications
    • Kubernetes: Managing container clusters
  • Monitoring & Logging:
    • Prometheus & Grafana: Setting up metrics and visualization
    • ELK Stack (Elasticsearch, Logstash, and Kibana): Centralized logging
  • Cloud Providers:
    • AWS, Azure, Google Cloud: Testing IaC and configuration management across providers
  • Networking Basics: Understanding key concepts for network configuration and security
  • Version Control:
    • Git: Branching strategies, workflows, and best practices

This list will expand as the project grows, incorporating additional tools and techniques aligned with DevOps best practices.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published