diff --git a/.docker/Dockerfile b/.docker/Dockerfile index 3cc16f6..406466a 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -7,20 +7,20 @@ ENV LC_ALL en_US.UTF-8 ENV DEBIAN_FRONTEND noninteractive ### -ENV PHP_VERSION 8.3.10 -ENV PACKER_VERSION 1.11.2 -ENV TERRAFORM_VERSION 1.9.0 -ENV ANSIBLE_VERSION 10.3.0 -ENV LINT_VERSION 4.1.0 -ENV KUBECTL_VERSION 1.31.0 -ENV HELM_VERSION 3.15.1 -ENV AZURE_CLI_VERSION 2.63.0-1~jammy -ENV AWS_CLI_VERSION 2.17.33 -ENV K9s_Version 0.32.5 -ENV GCLOUD_VERSION 489.0.0 -ENV KUI_Version 13.1.4 -ENV KUBECTX_VERSION 0.9.4 -ENV KUBENS_VERSION 0.9.4 +ENV PHP_VERSION=8.3.10 +ENV PACKER_VERSION=1.11.2 +ENV TERRAFORM_VERSION=1.9.5 +ENV ANSIBLE_VERSION=10.3.0 +ENV LINT_VERSION=4.1.0 +ENV KUBECTL_VERSION=1.31.0 +ENV HELM_VERSION=3.15.1 +ENV AZURE_CLI_VERSION=2.63.0-1~jammy +ENV AWS_CLI_VERSION=2.17.33 +ENV K9s_Version=0.32.5 +ENV GCLOUD_VERSION=490.0.0 +ENV KUI_Version=13.1.4 +ENV KUBECTX_VERSION=0.9.4 +ENV KUBENS_VERSION=0.9.4 #################################### @@ -38,8 +38,8 @@ RUN mkdir -p /home/ubuntu/.ssh RUN chmod 755 /home/ubuntu/.ssh RUN chown -R ubuntu:ubuntu /home/ubuntu RUN chmod 755 /home/ubuntu -ENV BOOT2DOCKER_ID 501 -ENV BOOT2DOCKER_GID 20 +ENV BOOT2DOCKER_ID=501 +ENV BOOT2DOCKER_GID=20 # Tweaks to give write permissions to the app RUN usermod -u ${BOOT2DOCKER_ID} ubuntu && \ usermod -G staff ubuntu @@ -84,8 +84,6 @@ RUN chmod +x /home/ubuntu/install-zsh.sh RUN sh /root/install-zsh.sh RUN su - ubuntu -c "sh /home/ubuntu/install-zsh.sh" RUN rm /root/.zshrc && chsh -s `which zsh` && chsh -s `which zsh` ubuntu && chmod -R 755 /usr/local/share/zsh* -RUN mkdir -p ~/.oh-my-zsh/custom/plugins/copydir -RUN curl -L https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/copypath/copypath.plugin.zsh -o ~/.oh-my-zsh/custom/plugins/copydir/copydir.plugin.zsh ##Python with Packages RUN pip install ansible==${ANSIBLE_VERSION} \ diff --git a/.github/workflows/docker-scanner.yaml b/.github/workflows/docker-scanner.yaml index 7e54626..6396b7a 100644 --- a/.github/workflows/docker-scanner.yaml +++ b/.github/workflows/docker-scanner.yaml @@ -20,3 +20,4 @@ jobs: severity: "UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL" dockerfile-path: "./.docker/Dockerfile" security-upload: "true" + block_action: "true" diff --git a/.github/workflows/sanity-check.yaml b/.github/workflows/sanity-check.yaml index 9ea5d5e..b174392 100644 --- a/.github/workflows/sanity-check.yaml +++ b/.github/workflows/sanity-check.yaml @@ -1,4 +1,4 @@ -name: Sanity_Checks +name: Sanity Checks on: pull_request: diff --git a/README.md b/README.md index ca0ebf2..9754a27 100644 --- a/README.md +++ b/README.md @@ -1,69 +1,159 @@ - - + +![Banner](https://github.com/clouddrove/terraform-module-template/assets/119565952/67a8a1af-2eb7-40b7-ae07-c94cde9ce062)
DevOps machine using docker
-+ A comprehensive Docker-based DevOps environment equipped with essential tools like Terraform, Ansible, Helm, and more. +
+ + + +--- + +This repository offers a comprehensive Docker-based environment configured with a robust set of DevOps tools, including Terraform, Ansible, Helm, and many more. This environment is designed to streamline DevOps workflows, automate tasks, and enhance productivity.. + +## π Features + +- **Docker-Based Environment**: + - Run all tools within an isolated Docker container. +- **Phusion/baseimage (jammy-1.0.4)** +- **SSH access enabled** +- **Custom user 'ubuntu' with sudo privileges.** +- **ZSH shell with Oh My Zsh framework and all necessary plugins.** +- **Added aliase for tools command in aliases.conf file.** +- **Mounted volumes in docker-compose file for persistence data.** +- **Added extra shell configuration in extra.conf** +- **Various development and operations and pre-installed tools with the latest version.** +- **Pre-installed Tools**: + - **Terraform**: v1.9.5 + - **Ansible**: v10.3.0 + - **Helm**: v3.15.1 + - **Packer**: v1.11.2 + - **Kubectl**: v1.31.0 + - **AWS CLI**: v2.17.33 + - **Azure CLI**: v2.63.0 + - **GCloud CLI**: v490.0.0 + - **K9s**: v0.32.5 + - **TFSwitch**: v1.7.0 + - **OpenTofu**: v1.8.0 + - **Kubectx**: v0.9.4 + - **Kubens**: v0.9.4 + - **ZSH**: Pre-configured with Oh My ZSH + +## Setup DevOps Machine + +## Prerequisites +- Docker and Docker Compose are installed on your host machine. +- Make utility. + +## π Installation + +1. Clone the repository: + ```bash + git clone https://github.com/clouddrove-sandbox/devops-machine.git + cd devops-machine + + +## π Build A Docker Image -[![CircleCI](https://circleci.com/gh/anmolnagpal/devops-machine/tree/master.svg?style=svg)](https://circleci.com/gh/anmolnagpal/devops-machine/tree/master) +1. Copy and paste this command (Dockerfile is located in .docker directory): + ```bash + docker build -t devops-machine .docker/ -## 1- Prepare machine: +## π§ Running the DevOps Machine -##### 1.0 - Install Docker +1. To start the DevOps machine, use the following command: -if you have it installed you can skip this step otherwise run this command: + ```bash + make up -``` -brew install docker docker-compose -``` +2. To access the DevOps Machine Run this command: -## 2- Prepare the Workspace: + - Login with user: ubuntu + - No password required. -##### 2.0 - to create the workspace directory run the following command + ```bash + make ssh -``` -mkdir ~/workspace -cd ~/workspace -``` -now lets clone the devops-machine repository -``` -git clone https://github.com/anmolnagpal/devops-machine -cd devops-machine -``` -Make sure that you are at master branch & have updated code -``` -git checkout master && git pull origin master -``` -## 3- Start machine: +## β¨ Contributors -##### 3.0 - Now lets bring the devops machine up +Big thanks to our contributors for elevating our project with their dedication and expertise! But, we do not wish to stop there, would like to invite contributions from the community in improving these projects and making them more versatile for better reach. Remember, every bit of contribution is immensely valuable, as, together, we are moving in only 1 direction, i.e. forward. -``` -make up -``` + + + +We are The Cloud Experts!
+We β€οΈ Open Source and you can check out our other modules to get help with your new Cloud ideas.
+ + [website]: https://clouddrove.com + [blog]: https://blog.clouddrove.com + [slack]: https://www.launchpass.com/devops-talks + [github]: https://github.com/clouddrove + [linkedin]: https://cpco.io/linkedin + [twitter]: https://twitter.com/clouddrove/ + [email]: https://clouddrove.com/contact-us.html + [terraform_modules]: https://github.com/clouddrove?utf8=%E2%9C%93&q=terraform-&type=&language= \ No newline at end of file