appaloft/Appaloft Deploy

Run an Appaloft deployment from GitHub Actions through pure SSH CLI mode or self-hosted server API mode.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit May 9, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: appaloft/deploy-action@92f609f90fd5a812e0146e24f5f2603caffbaf37 # v1.1.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
commandWrapper command to run. Use deploy for deployments, preview-cleanup for pull request cleanup, or install-console to install or upgrade a self-hosted console over SSH.nodeploy
versionAppaloft release tag, for example v0.9.0. Use latest for the latest stable release.nolatest
configOptional Appaloft config path. When omitted, appaloft.yml is used only if it exists.no""
sourceSource path or locator passed to appaloft deploy.no.
runtime-nameTrusted runtime name override.no""
ssh-hostSSH target host for pure SSH deployments.no""
ssh-userSSH username.no""
ssh-portSSH port.no""
ssh-private-keySSH private key value. Written to a runner temp file before invoking Appaloft.no""
ssh-private-key-fileExisting runner-local SSH private key file.no""
console-urlPublic self-hosted console origin configured during command=install-console. Defaults to https://<console-domain> or http://<ssh-host>:<console-http-port>.no""
console-domainPublic self-hosted console domain used to derive https://<domain> when console-url is empty.no""
console-databaseSelf-hosted console database backend for command=install-console. Defaults to controlPlane.install.database or postgres.no""
console-orchestratorSelf-hosted console Docker orchestrator for command=install-console. Defaults to controlPlane.install.orchestrator or compose.no""
console-proxyManaged self-hosted proxy for command=install-console. Defaults to controlPlane.install.proxy or traefik.no""
console-http-hostHost bind address passed to the self-hosted console installer. Defaults to controlPlane.install.httpHost or 0.0.0.0.no""
console-http-portHost HTTP port passed to the self-hosted console installer. Defaults to controlPlane.install.httpPort or 3721.no""
console-install-dirRemote install directory passed to the self-hosted console installer. Defaults to the installer default.no""
console-compose-project-nameDocker Compose project name passed to the self-hosted console installer. Defaults to controlPlane.install.composeProjectName or appaloft.no""
console-swarm-stack-nameDocker Swarm stack name passed to the self-hosted console installer. Defaults to controlPlane.install.swarmStackName or appaloft.no""
console-swarm-initInitialize a single-node Swarm manager on the SSH host when command=install-console and console-orchestrator=swarm. Defaults to controlPlane.install.swarmInit or false.no""
console-swarm-advertise-addrOptional advertise address passed to docker swarm init for command=install-console.no""
console-imageAppaloft console image repository or full image reference passed to the self-hosted console installer. Defaults to controlPlane.install.image or ghcr.io/appaloft/appaloft.no""
console-installer-urlOverride URL for the self-hosted install.sh script used by command=install-console.no""
console-skip-docker-installRequire Docker Engine to already exist on the SSH host when command=install-console. Defaults to controlPlane.install.skipDockerInstall or false.no""
server-providerServer provider key.nogeneric-ssh
server-proxy-kindServer proxy kind.no""
state-backendAppaloft state backend. Defaults to ssh-pglite when ssh-host is supplied.no""
environment-variablesNewline-separated environment variables passed as repeated CLI --env values in pure CLI mode, or transient preview env values for server-config-deploy.no""
secret-variablesNewline-separated secret variables passed as repeated CLI --secret values in pure CLI mode, or resolved as ci-env secrets for server-config-deploy.no""
previewPreview mode. The first accepted value is pull-request.no""
preview-idTrusted preview scope, for example pr-123.no""
preview-domain-templateTrusted preview hostname template rendered by the workflow or action.no""
preview-tls-modePreview TLS mode for preview-domain-template.no""
require-preview-urlFail when no public preview URL is resolved.nofalse
pr-commentPost or update a pull request comment with preview, deployment, cleanup, and console links.nofalse
github-tokenGitHub token used only when pr-comment is true. The workflow must grant pull-requests: write or issues: write.no""
control-plane-modeControl-plane mode. Use none for pure SSH CLI mode or self-hosted for server API mode.no""
control-plane-urlSelf-hosted Appaloft server endpoint for server API mode.no""
appaloft-tokenOptional bearer token for self-hosted Appaloft server API mode.no""
use-oidcFuture GitHub OIDC exchange toggle. Not yet supported.nofalse
server-config-deployExperimental self-hosted server config deploy mode. Requires server-side source package and config bootstrap support.nofalse
project-idTrusted Appaloft project id for self-hosted server API mode. Defaults to controlPlane.deploymentContext.projectId from config.no""
environment-idTrusted Appaloft environment id for self-hosted server API mode. Defaults to controlPlane.deploymentContext.environmentId from config.no""
resource-idTrusted Appaloft resource id for self-hosted server API mode. Defaults to controlPlane.deploymentContext.resourceId from config.no""
server-idTrusted Appaloft deployment target id for self-hosted server API mode. Defaults to controlPlane.deploymentContext.serverId from config.no""
destination-idOptional trusted Appaloft destination id for self-hosted server API mode. Defaults to controlPlane.deploymentContext.destinationId from config.no""
namedescription
appaloft-versionInstalled Appaloft CLI version.
appaloft-targetInstalled Appaloft release target.
preview-idPreview id when preview mode is selected.
preview-urlPreview URL resolved by the CLI from generated/default access or custom preview route intent.
deployment-idDeployment id accepted by Appaloft.
deployment-urlSelf-hosted Appaloft console deployment detail URL when available.
console-urlSelf-hosted Appaloft console URL installed by install-console or used by server API mode.
preview-cleanup-statusPreview cleanup status when command is preview-cleanup.