https://github.com/clouddrove/smurf
command-line interface (CLI) application built using Golang
https://github.com/clouddrove/smurf
clouddrove docker github-actions helm k8s kubernetes terraform
Last synced: 3 months ago
JSON representation
command-line interface (CLI) application built using Golang
- Host: GitHub
- URL: https://github.com/clouddrove/smurf
- Owner: clouddrove
- License: apache-2.0
- Created: 2024-10-25T17:58:18.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2026-04-01T19:16:17.000Z (3 months ago)
- Last Synced: 2026-04-02T06:07:23.074Z (3 months ago)
- Topics: clouddrove, docker, github-actions, helm, k8s, kubernetes, terraform
- Language: Go
- Homepage: http://smurf.clouddrove.com/
- Size: 139 MB
- Stars: 19
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
#

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.
## Installation βοΈ
- [Smurf tool CLI Installation Guide](docs/sm/docs/installation.md)
- Integrate in GitHub Actions
```yaml
- name: Setup Smurf
uses: clouddrove/smurf@v0.0.4
```
## Features π
### π³ Docker Command Wrapper (`sdkr`)
Streamline Docker image workflows:
- `build`, `scan`, `tag`, `publish`, `push`
- `provision` β runs (`build` β `scan` β `publish`)
- [Docker with Smurf β Usage Guide](docs/sdkr/README.md)
---
### β Helm Command Wrapper (`selm`)
Simplify Helm operations:
- `create`, `install`, `lint`, `list`, `status`, `template`, `upgrade`, `uninstall`
- `provision` β runs (`install` β `upgrade` β `lint` β `template`)
- [Helm with Smurf β Usage Guide](docs/selm/README.md)
---
### ποΈ Terraform Command Wrapper (`stf`)
Easily manage Terraform workflows:
- `init`, `plan`, `apply`, `output`, `drift`, `validate`, `destroy`, `format`
- `provision` β runs (`init` β `validate` β `apply`)
- [Terraform with Smurf β Usage Guide](docs/stf/README.md)
---
### π `smurf deploy` command
Streamline read credential from `smurf.yaml` file Docker image build, push on given repo and easily deploy using `smurf selm`
- `deploy` β runs (`build` β `push` β `deploy`)
---
## π§° Credential Fallback from `smurf.yaml`
Smurf supports **automatic credential fallback**.
If required credentials (like username or token) are not provided via CLI or environment variables, Smurf will read them directly from your `smurf.yaml` file.
### Example
```yaml
sdkr:
awsECR: false
dockerHub: false
ghcrRepo: false
dockerfile: ""
imageName: ""
selm:
chartName: ""
deployHelm: true
fileName: ""
namespace: ""
releaseName: ""
revision: 0
```
---
### βοΈ Multicloud Container Registry
Push images to multiple registries from one CLI:
- Supported: **AWS ECR**, **GCP GCR**, **Azure ACR**, **Docker Hub**
- Example:
```bash
smurf sdkr push --help
```
## 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](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](https://github.com/clouddrove/smurf/issues), feel free to drop us an email at [hello@clouddrove.com](mailto:hello@clouddrove.com).
Show some love with a β
on [our GitHub](https://github.com/clouddrove/smurf)! 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][slack] π
## 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://linkedin.com/company/clouddrove
[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=