Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arm4b/packer-post-processor-vagrant-cloud-standalone
Packer post-processor plugin to upload artifacts to Vagrant Cloud from the input filepath (without a requirement of using 'vagrant' post-processor). Useful to split Packer build/deploy stage.
https://github.com/arm4b/packer-post-processor-vagrant-cloud-standalone
cd continuous-delivery golang packer packer-plugin packer-post-processor post-processor vagrant vagrant-cloud
Last synced: 2 months ago
JSON representation
Packer post-processor plugin to upload artifacts to Vagrant Cloud from the input filepath (without a requirement of using 'vagrant' post-processor). Useful to split Packer build/deploy stage.
- Host: GitHub
- URL: https://github.com/arm4b/packer-post-processor-vagrant-cloud-standalone
- Owner: arm4b
- License: mpl-2.0
- Created: 2018-05-10T12:11:27.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-05-15T13:45:37.000Z (over 6 years ago)
- Last Synced: 2024-11-14T13:44:18.890Z (2 months ago)
- Topics: cd, continuous-delivery, golang, packer, packer-plugin, packer-post-processor, post-processor, vagrant, vagrant-cloud
- Language: Go
- Size: 43 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vagrant-cloud-standalone
[![Build Status](https://travis-ci.org/armab/packer-post-processor-vagrant-cloud-standalone.svg?branch=master)](https://travis-ci.org/armab/packer-post-processor-vagrant-cloud-standalone)
[![GitHub release](https://img.shields.io/github/release/armab/packer-post-processor-vagrant-cloud-standalone.svg)](https://github.com/armab/packer-post-processor-vagrant-cloud-standalone/releases/latest)
[![License](https://img.shields.io/github/license/armab/packer-post-processor-vagrant-cloud-standalone.svg?style=flat)](LICENSE)[Packer](https://www.packer.io/) post-processor plugin for uploading artifacts to [Vagrant Cloud](https://vagrantcloud.com/) from the input filepath.
## Description
This post-processor is a fork of core Packer's [vagrant-cloud](https://www.packer.io/docs/post-processors/vagrant-cloud.html)
plugin ([source code](https://github.com/hashicorp/packer/tree/master/post-processor/vagrant-cloud)).While original `vagrant-cloud` plugin requires artifact produced from the previous `vagrant` post-processor
involving entire build stage, forked version `vagrant-cloud-standalone` just uploads artifact to
Vagrant Cloud directly by input filepath, hence standalone.It can be useful to split Packer build/deploy stage if you prefer to divide CI/CD or when artifact
was already produced before.## Installation
Packer supports pluggable mechanism. Please read the following documentation to understand how to install this plugin:https://www.packer.io/docs/extend/plugins.html
You can download binary built for your architecture from [Github Releases](https://github.com/armab/packer-post-processor-vagrant-cloud-standalone/releases).
## Usage
Here is a simple example of `vagrant_deploy.json`:```json
{
"variables": {
"description": "Packer template for deploying a .box artifact to Vagrant CLoud",
"cloud_token": "{{ env `VAGRANT_CLOUD_TOKEN` }}"
},
"builders": [
{
"type": "file",
"content": "Do nothing, Packer just requires at least one builder to be present",
"target": "/dev/null"
}
],
"post-processors": [
{
"type": "vagrant-cloud-standalone",
"access_token": "{{user `cloud_token`}}",
"box_tag": "ubuntu/xenial64",
"provider": "virtualbox",
"version": "20180130.0.0",
"artifact": "builds/ubuntu-xenial_v20180130.0.0.box"
}
]
}
```It will verify the box, create new Version, Provider, Upload the provided .box and then Release new version in Vagrant Cloud.
### Configuration
Configuration is the same as original Packer's [vagrant-cloud](https://www.packer.io/docs/post-processors/vagrant-cloud.html).A few settings were added to allow uploading .box artifact from the local file path:
- `provider` (string)
- Box type, Vagrant provider like `virtualbox`, `vmware`, `hyperv` etc.
- `artifact` (string)
- Path to artifact file `.box`. to deploy.