GitHub Action to create a batch of devices within a Packet.com project
This GitHub Action will create a new device batch in an existing project on packet.com. Devices are compute resources available within your organization projects.
With this action you can automate your workflow to by provisioning multiple devices inside of projects using the packet.com api.
To use this action you will first need an authentication token which can be generated through the Packet Portal.
You will also need a public/private key pair. Learn how to generate keys for either a user or a project.
NEVER share your private key with anyone!
Packet.com is NOT a free service, so you will be asked to provide billing information. This action will NOT have access to that information.
# File: .github/workflows/workflow.yml
on: [push]
name: Packet Project Sample
jobs:
create-new-device:
runs-on: ubuntu-latest
name: Creating new device in existing packet project
steps:
- uses: mattdavis0351/packet-create-device-batch@v1
with:
API_key: ${{ secrets.PACKET_API_KEY }}
project_name: my-project
host_names: "Host-1, Host-2, Host-3"
plan: "t3.small.x86"
facility: "sjc1"
operating_system: "ubuntu_19_04"
quantity: 3
spot_instance: true
spot_price_max: .50
user_ssh_keys: ${{ secrets.PACKET_PUBLIC_KEY }}
Input | Description | Default Value | Required |
---|---|---|---|
API_key |
Packet.com API authorization token | No key supplied | ![]() |
project_name |
Desired name for new project | default | ![]() |
host_names |
Desired host names for new device. If specifying more than one device us a comma separated list. | GitHub Actions Host | ![]() |
plan |
Desired server type for device | default | ![]() |
facility |
Geographical location for device | default | ![]() |
operating_system |
Desired operating system for device | default | ![]() |
quantity |
Number of desired devices in the batch. if you specify more than one host name this number must match the amount of hostnames | 1 | ![]() |
spot_instance |
Create devices as spot instances | false | ![]() |
spot_price_max |
Maximum bid for spot instances | 1 | ![]() |
user_ssh_keys |
SSH keys for any user account you wish to add to device | ![]() |
|
project_ssh_keys |
Project level SSH keys for device | ![]() |
This action does not supply any outputs