55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
name: "Portainer Deploy Action"
|
|
description: "Deploy or redeploy Portainer stacks directly from GitHub Actions."
|
|
author: "Zoe"
|
|
branding:
|
|
icon: "upload-cloud"
|
|
color: "blue"
|
|
|
|
inputs:
|
|
portainer-url:
|
|
description: "Base API URL for your Portainer instance (e.g. https://portainer.example.com/api)"
|
|
required: true
|
|
portainer-token:
|
|
description: "Portainer API token"
|
|
required: true
|
|
portainer-endpoint:
|
|
description: "Portainer endpoint ID"
|
|
required: true
|
|
stack-name:
|
|
description: "Name of the stack to create or redeploy"
|
|
required: true
|
|
repo-url:
|
|
description: "Git repository URL containing the stack definition"
|
|
required: true
|
|
repo-ref:
|
|
description: "Git reference (e.g. refs/heads/main)"
|
|
required: true
|
|
repo-compose-file:
|
|
description: "Path to the docker-compose file within the repo"
|
|
required: true
|
|
repo-username:
|
|
description: "Git username (if repository requires authentication)"
|
|
required: false
|
|
repo-password:
|
|
description: "Git password/token (if repository requires authentication)"
|
|
required: false
|
|
tls-skip-verify:
|
|
description: "Set to 'true' to skip TLS verification"
|
|
required: false
|
|
default: "false"
|
|
|
|
runs:
|
|
using: "docker"
|
|
image: "Dockerfile"
|
|
env:
|
|
PORTAINER_URL: ${{ inputs.portainer-url }}
|
|
PORTAINER_TOKEN: ${{ inputs.portainer-token }}
|
|
PORTAINER_ENDPOINT: ${{ inputs.portainer-endpoint }}
|
|
STACK_NAME: ${{ inputs.stack-name }}
|
|
REPO_URL: ${{ inputs.repo-url }}
|
|
REPO_REF: ${{ inputs.repo-ref }}
|
|
REPO_COMPOSE_FILE: ${{ inputs.repo-compose-file }}
|
|
REPO_USERNAME: ${{ inputs.repo-username }}
|
|
REPO_PASSWORD: ${{ inputs.repo-password }}
|
|
TLS_SKIP_VERIFY: ${{ inputs.tls-skip-verify }}
|