Synpse is an end-to-end platform to manage your device fleet that can grow to hundreds of thousands of devices, perform OTA software updates, collect metrics, logs, deploy your containerized applications and facilitate tunnel-based SSH access to any of your device. You can find a Quick Start here.
This action interacts with Synpse platform to perform "git push to update" workflows. If you don't have a Synpse account, you can create one here: https://cloud.synpse.net/.
Required - name of the project where the application containers will be deployed. You can create yours here: https://cloud.synpse.net/
Required - namespace name. Default default
Required - path to the file where the application manifest is placed. You can read more about application manifests here: https://docs.synpse.net/synpse-core/applications/overview
Required - create a service account in your Synpse project here with "Contributor" role: https://cloud.synpse.net/service-accounts. Once created, go to your repository settings and add the secret as SYNPSE_ACCESS_KEY
:
Once added, you will be able to reference it from your worfklow.
Required - URL of the Synpse server. Default https://cloud.synpse.net/api
Example workflow needs to:
- Have the
actions/checkout@v1
action which provides the files (with your application yaml to the action) - Have the
synpse-hq/[email protected]
action which does the actual deployment
Example can be found in the push-to-deploy-example repository, here's the workflow yaml:
on: [push]
jobs:
deploy-app:
runs-on: ubuntu-latest
name: Synpse application update
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Deploy or update application to Synpse
id: hello
uses: synpse-hq/[email protected]
with:
key: ${{ secrets.SYNPSE_ACCESS_KEY }}
project: karolis-homelab
namespace: default
filepath: app.yaml