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 + DevOps Machine

-

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 -``` + + + +
+
-##### 3.1 - Lets do the ssh into the devops machinea and start automation the things ;) + If you're considering contributing to our project, here are a few quick guidelines that we have been following (Got a suggestion? We are all ears!): -``` -make ssh -``` -## β˜‘ Tools Added +- **Fork the Repository:** Create a new branch for your feature or bug fix. +- **Coding Standards:** You know the drill. +- **Clear Commit Messages:** Write clear and concise commit messages to facilitate understanding. +- **Thorough Testing:** Test your changes thoroughly before submitting a pull request. +- **Documentation Updates:** Include relevant documentation updates if your changes impact it. -- [X] PHP -- [X] Packer -- [X] Python -- [X] Ansible -- [X] Terraform -- [X] Helm -- [X] Kubectl +## Feedback +Spot a bug or have thoughts to share with us? Let's squash it together! Log it in our [issue tracker](https://github.com/clouddrove/enigma/issues), feel free to drop us an email at [hello@clouddrove.com](mailto:hello@clouddrove.com). -## β˜‘ TODO +Show some love with a β˜… on [our GitHub](https://github.com/clouddrove/enigma)! if our work has brightened your day! – your feedback fuels our journey! -- [ ] Add other devops tools +## :rocket: Our Accomplishment -## πŸ‘¬ Contribution +We have [*100+ Terraform modules*][terraform_modules] πŸ™Œ. You could consider them finished, but, with enthusiasts like yourself, we are able to ever improve them, so we call our status - improvement in progress. -- Open pull request with improvements -- Reach out with any feedback [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/anmol_nagpal.svg?style=social&label=Follow%20anmolnagpal)](https://twitter.com/anmol_nagpal) +- [Terraform Module Registry:](https://registry.terraform.io/namespaces/clouddrove) Discover our Terraform modules here. + +- [Terraform Modules for AWS/Azure Modules:](https://github.com/clouddrove/toc) Explore our comprehensive Table of Contents for easy navigation through our documentation for modules pertaining to AWS, Azure & GCP. + +- [Terraform Modules for Digital Ocean:](https://github.com/terraform-do-modules/toc) Check out our specialized Terraform modules for Digital Ocean. + +## Join Our Slack Community + +Join our vibrant open-source slack community and embark on an ever-evolving journey with CloudDrove; helping you in moving upwards in your career path. +Join our vibrant Open Source Slack Community and embark on a learning journey with CloudDrove. Grow with us in the world of DevOps and set your career on a path of consistency. + +πŸŒπŸ’¬What you'll get after joining this Slack community: + +- πŸš€ Encouragement to upgrade your best version. +- 🌈 Learning companionship with our DevOps squad. +- 🌱 Relentless growth with daily updates on new advancements in technologies. + +Join our tech elites [Join Now][slack] πŸš€ + +## Explore Our Blogs + + Click [here][blog] :books: :star2: + +## Tap into our capabilities +We provide a platform for organizations to engage with experienced top-tier DevOps & Cloud services. Tap into our pool of certified engineers and architects to elevate your DevOps and Cloud Solutions. + +At [CloudDrove][website], has extensive experience in designing, building & migrating environments, securing, consulting, monitoring, optimizing, automating, and maintaining complex and large modern systems. With remarkable client footprints in American & European corridors, our certified architects & engineers are ready to serve you as per your requirements & schedule. Write to us at [business@clouddrove.com](mailto:business@clouddrove.com). + +

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