Smurf
Smurf is a command-line interface (CLI) application built using Golang leveraging technology specific SDKs, designed to simplify and automate commands for essential tools like Terraform and Docker. It provides intuitive, unified commands to execute Terraform plans, Docker container management, and other DevOps tasks seamlessly from one interface. Whether you need to spin up environments, manage containers, or apply infrastructure as code, this CLI streamlines multi-tool operations, boosting productivity and reducing context-switching.
Smurf isn’t just another CLI tool—it’s your DevOps powerhouse. Managing Terraform, Docker, and other essential tools separately is a hassle. Constant context-switching slows you down, and remembering multiple CLI syntaxes is frustrating. Smurf simplifies this by providing a unified, intuitive interface to streamline your workflows. With Smurf, you can spin up environments, manage containers, and apply infrastructure as code—all from a single command-line tool. It boosts productivity, reduces errors, and helps you focus on delivering solutions rather than troubleshooting commands. If efficiency and automation matter to you, Smurf is the tool you’ve been waiting for.
What can you do with Smurf
Docker Commands in Smurf 🐳
build
: Builds a Docker image with the specified name and tag.provision-acr
: Builds and pushes a Docker image to Azure Container Registry (ACR).provision-ec
: Builds and pushes a Docker image to AWS Elastic Container Registry (ECR).provision-gcr
: Builds and pushes a Docker image to Google Container Registry (GCR).provision-hub
: Builds, scans, and pushes a Docker image to Docker Hub for enhanced security.push
: Pushes Docker images to ACR, ECR, GCR, or Docker Hub in one simple command.remove
: Deletes a Docker image from your local system to free up space.scan
: Analyzes a Docker image for known security vulnerabilities before deployment.tag
: Tags a Docker image for easy identification and repository management.
Helm Commands in Smurf ⎈
create
: Create a new Helm chart in the specified directory.install
: Install a Helm chart into a Kubernetes cluster.lint
: Lint a Helm chart.list
: List all Helm releases.provision
: Combination ofinstall
,upgrade
,lint
, andtemplate
for Helm.repo
: Add, update, or manage chart repositories.rollback
: Roll back a release to a previous revision.status
: Status of a Helm release.template
: Render chart templates.uninstall
: Uninstall a Helm release.upgrade
: Upgrade a deployed Helm chart.
Terraform Commands in Smurf ⚙️
apply
: Apply the changes required to reach the desired state of Terraform Infrastructure.destroy
: Destroy the Terraform Infrastructure.drift
: Detect drift between state and infrastructure for Terraform.format
: Format the Terraform Infrastructure.graph
: Generate a visual graph of Terraform resources.init
: Initialize Terraform.output
: Generate output for the current state of Terraform Infrastructure.plan
: Generate and show an execution plan for Terraform.provision
: Combination ofinit
,plan
,apply
, andoutput
for Terraform.refresh
: Update the state file of your infrastructure.state-list
: List resources in the Terraform state.
Contributors ✨
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.
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!):
- 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.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Feedback
Spot a bug or have thoughts to share with us? Let's squash it together! Log it in our issue tracker, feel free to drop us an email at [email protected].
Show some love with a ★ on our GitHub! if our work has brightened your day! – your feedback fuels our journey!
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 🚀
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, 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].
We are The Cloud Experts!
We ❤️ Open Source and you can check out our other modules to get help with your new Cloud ideas.