Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vpavlin/fly-helper
Simple tool to help with Fly.io deployment management
https://github.com/vpavlin/fly-helper
fly flyio golang secrets
Last synced: 26 days ago
JSON representation
Simple tool to help with Fly.io deployment management
- Host: GitHub
- URL: https://github.com/vpavlin/fly-helper
- Owner: vpavlin
- License: gpl-3.0
- Created: 2022-11-10T15:58:52.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2022-11-11T16:48:22.000Z (almost 2 years ago)
- Last Synced: 2024-06-20T22:34:31.644Z (5 months ago)
- Topics: fly, flyio, golang, secrets
- Language: Go
- Homepage:
- Size: 54.7 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fly-helper
A minimalistic tool helping with deployment to Fly.io
## Config
This tool supports configuration in YAML or JSON
```
---
secrets:
input:
- name: my important secret file
path: "/tmp/my-file.txt"
- name: client-cert
path: "./client.crt"
output:
- name: my important secret file
path: "/mnt/something.txt"
- name: client-cert
path: "/opt/client.crt"
``````
{
"secrets": {
"input": [
{
"name": "my important secret file",
"path": "/tmp/my-file.txt"
},
{
"name": "client-cert",
"path": "./client.crt"
}
],
"output": [
{
"name": "my important secret file",
"path": "/mnt/something.txt"
},
{
"name": "client-cert",
"path": "/opt/client.crt"
}
]
}
}
```Configuration can be provided as a file (`--config`) or as base64 encoded environment variable (`--config-env`).
## Secrets
Allows you to provide list of files which are uploaded as `fly secrets` using the following command
```
flyhelper secrets push
```You can tehn run `flyhelper` in the Fly App container to turn the secrets provided in environment variables into files again.
```
flyhelper secrets pull
```The `Name` values are used to produce secrets names e.g. `my important secret file` will turn into `FLY_SECRET_MY_IMPORTANT_SECRET_FILE`. The content of the file on `Path` will be base64 encoded an used as the value of the secret.
The tool will also upload the `config.json` into the secrets as `FLY_HELPER_CONFG_ENV`. This is then used by the `flyhelper` inside the app image to export the secrets to filesystem.