Skip to content

Commit

Permalink
fix: tools version and dockerfile lints
Browse files Browse the repository at this point in the history
  • Loading branch information
13archit committed Sep 4, 2024
1 parent 404bd81 commit ed73e9e
Show file tree
Hide file tree
Showing 4 changed files with 157 additions and 68 deletions.
34 changes: 16 additions & 18 deletions .docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,20 @@ ENV LC_ALL en_US.UTF-8
ENV DEBIAN_FRONTEND noninteractive

Check warning on line 7 in .docker/Dockerfile

View workflow job for this annotation

GitHub Actions / docker-scanner / Build Images

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

###
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

####################################

Expand All @@ -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
Expand Down Expand Up @@ -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} \
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/docker-scanner.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ jobs:
severity: "UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL"
dockerfile-path: "./.docker/Dockerfile"
security-upload: "true"
block_action: "true"
2 changes: 1 addition & 1 deletion .github/workflows/sanity-check.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Sanity_Checks
name: Sanity Checks

on:
pull_request:
Expand Down
188 changes: 139 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,69 +1,159 @@


<!-- This file was automatically generated by the `geine`. Make all changes to `README.yaml` and run `make readme` to rebuild this file. -->
![Banner](https://github.com/clouddrove/terraform-module-template/assets/119565952/67a8a1af-2eb7-40b7-ae07-c94cde9ce062)
<h1 align="center">
DevOps Machine
DevOps Machine
</h1>
<p align="center" style="font-size: 1.2rem;"> DevOps machine using docker </p>

<hr />
<p align="center" style="font-size: 1.2rem;">
A comprehensive Docker-based DevOps environment equipped with essential tools like Terraform, Ansible, Helm, and more.
</p>

<p align="center">
<a href='https://facebook.com/sharer/sharer.php?u=https://github.com/clouddrove/devops-machine'>
<img title="Share on Facebook" src="https://user-images.githubusercontent.com/50652676/62817743-4f64cb80-bb59-11e9-90c7-b057252ded50.png" />
</a>
<a href='https://www.instagram.com/cloud_drove?igsh=cHJqaDY3bGtnYmh3' title="Follow On Instagram">
<img src="https://github.com/gauravghongde/social-icons/blob/master/SVG/Color/Instagram.svg" width="23" height="23" />
</a>
<a href='https://www.linkedin.com/shareArticle?mini=true&title=devops-machine&url=https://github.com/clouddrove/devops-machine'>
<img title="Share on LinkedIn" src="https://user-images.githubusercontent.com/50652676/62817742-4e339e80-bb59-11e9-87b9-a1f68cae1049.png" />
</a>
<a href='https://twitter.com/intent/tweet/?text=devops-machine&url=https://github.com/clouddrove/devops-machine'>
<img title="Share on Twitter" src="https://user-images.githubusercontent.com/50652676/62817740-4c69db00-bb59-11e9-8a79-3580fbbf6d5c.png" />
</a>
</p>

---

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
```
<a href="https://github.com/clouddrove/devops-machine/graphs/contributors">
<img src="https://contrib.rocks/image?repo=clouddrove/devops-machine&max" />
</a>
<br>
<br>
##### 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 [[email protected]](mailto:[email protected]).
## ☑ 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 [[email protected]](mailto:[email protected]).
<p align="center">We are <b> The Cloud Experts!</b></p>
<hr />
<p align="center">We ❤️ <a href="https://github.com/clouddrove">Open Source</a> and you can check out <a href="https://registry.terraform.io/namespaces/clouddrove">our other modules</a> to get help with your new Cloud ideas.</p>
[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=

0 comments on commit ed73e9e

Please sign in to comment.