Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fluentci-io/kamal-plugin
CI/CD Plugin for kamal
https://github.com/fluentci-io/kamal-plugin
cicd continuous-delivery continuous-integration deploy flox kamal nix wasm
Last synced: 8 days ago
JSON representation
CI/CD Plugin for kamal
- Host: GitHub
- URL: https://github.com/fluentci-io/kamal-plugin
- Owner: fluentci-io
- License: mit
- Created: 2024-07-17T07:55:30.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-26T20:26:54.000Z (about 2 months ago)
- Last Synced: 2024-10-10T23:22:06.707Z (about 1 month ago)
- Topics: cicd, continuous-delivery, continuous-integration, deploy, flox, kamal, nix, wasm
- Language: Rust
- Homepage:
- Size: 11.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Kamal Plugin
[![fluentci pipeline](https://shield.fluentci.io/x/kamal)](https://pkg.fluentci.io/kamal)
[![ci](https://github.com/fluentci-io/kamal-plugin/actions/workflows/ci.yml/badge.svg)](https://github.com/fluentci-io/kamal-plugin/actions/workflows/ci.yml)This plugin install and run [kamal](https://kamal-deploy.org/) on your CI/CD pipelines.
## 🚀 Usage
Add the following command to your CI configuration file:
```bash
fluentci run --wasm kamal help
```## Functions
| Name | Description |
| --------- | ------------------------------------------ |
| accessory | Manage accessories (db/redis/search) |
| app | Manage application |
| audit | Show audit log from servers |
| build | Build application image |
| config | Show combined config (including secrets!) |
| deploy | Deploy app to servers |
| details | Show details about all containers |
| docs | Show Kamal documentation for configuration setting |
| env | Manage environment files |
| envify | Create .env by evaluating .env.erb (or .env.staging.erb -> .env.staging when using -d staging) |
| help | Describe available commands or one specific command |
| init | Create config stub in config/deploy.yml and env stub in .env |
| install | Install Kamal CLI |
| lock | Manage the deploy lock |
| prune | Prune old application images and containers |
| redeploy | Deploy app to servers without bootstrapping servers, starting Traefik, pruning, and registry login |
| registry | Login and -out of the image registry |
| remove | Remove Traefik, app, accessories, and registry session from servers |
| rollback | Rollback app to VERSION |
| server | Bootstrap servers with curl and Docker |
| setup | Setup all accessories, push the env, and deploy app to servers |
| traefik | Manage Traefik load balancer |
| version | Show Kamal version |## Code Usage
Add `fluentci-pdk` crate to your `Cargo.toml`:
```toml
[dependencies]
fluentci-pdk = "0.2.1"
```Use the following code to call the plugin:
```rust
use fluentci_pdk::dag;// ...
dag().call("https://pkg.fluentci.io/[email protected]?wasm=1", "setup", vec!["latest"])?;
```## 📚 Examples
Github Actions:
```yaml
- name: Setup Fluent CI CLI
uses: fluentci-io/setup-fluentci@v5
with:
wasm: true
plugin: kamal
args: |
install
- name: Show kamal help
run: |
flox activate -- type kamal
fluentci run --wasm kamal version
fluentci run --wasm kamal help
```