Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/fluentci-io/packer-plugin

CI/CD Plugin for Packer
https://github.com/fluentci-io/packer-plugin

continuous-delivery continuous-integration packer pkgx virtual-machine wasm

Last synced: about 1 month ago
JSON representation

CI/CD Plugin for Packer

Awesome Lists containing this project

README

        

# Packer Plugin

[![fluentci pipeline](https://shield.fluentci.io/x/packer)](https://pkg.fluentci.io/packer)
[![ci](https://github.com/fluentci-io/packer-plugin/actions/workflows/ci.yml/badge.svg)](https://github.com/fluentci-io/packer-plugin/actions/workflows/ci.yml)

This plugin sets up your CI/CD pipeline with a specific version of [packer](https://www.packer.io/).

## 🚀 Usage

Add the following command to your CI configuration file:

```bash
fluentci run --wasm packer setup
```

## Functions

| Name | Description |
| ------------ | ---------------------------------------------------- |
| setup | Installs a specific version of packer. |
| build | Build image(s) from template |
| fix | Fixes templates from old versions of packer |
| fmt | Rewrites HCL2 config files to canonical format |
| hcl2_upgrade | Transform a JSON template into an HCL2 configuration |
| init | Install missing plugins or upgrade plugins |
| inspect | See components of a template |
| plugins | Interact with Packer plugins and catalog |
| validate | Check that a template is valid |

## Code Usage

Add `fluentci-pdk` crate to your `Cargo.toml`:

```toml
[dependencies]
fluentci-pdk = "0.1.9"
```

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: packer
args: |
setup
- name: Validate Packer Template
run: |
type packer
packer validate
```