An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

#
![Banner](https://github.com/clouddrove/terraform-module-template/assets/119565952/67a8a1af-2eb7-40b7-ae07-c94cde9ce062)


Smurf



Go Report Status


Build Status


Slack Chat


Apache-2.0 License












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=