{"id":16772925,"url":"https://github.com/vpavlin/fly-helper","last_synced_at":"2025-04-10T20:03:47.452Z","repository":{"id":63035453,"uuid":"564388345","full_name":"vpavlin/fly-helper","owner":"vpavlin","description":"Simple tool to help with Fly.io deployment management","archived":false,"fork":false,"pushed_at":"2022-11-11T16:48:22.000Z","size":56,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T17:51:50.567Z","etag":null,"topics":["fly","flyio","golang","secrets"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vpavlin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-11-10T15:58:52.000Z","updated_at":"2024-11-14T17:25:30.000Z","dependencies_parsed_at":"2022-11-11T14:34:28.160Z","dependency_job_id":null,"html_url":"https://github.com/vpavlin/fly-helper","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpavlin%2Ffly-helper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpavlin%2Ffly-helper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpavlin%2Ffly-helper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpavlin%2Ffly-helper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vpavlin","download_url":"https://codeload.github.com/vpavlin/fly-helper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248287759,"owners_count":21078774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fly","flyio","golang","secrets"],"created_at":"2024-10-13T06:44:17.832Z","updated_at":"2025-04-10T20:03:47.431Z","avatar_url":"https://github.com/vpavlin.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fly-helper\n\nA minimalistic tool helping with deployment to Fly.io\n\n## Config\n\nThis tool supports configuration in YAML or JSON\n\n\n```\n---\nsecrets:\n  input:\n  - name: my important secret file\n    path: \"/tmp/my-file.txt\"\n  - name: client-cert\n    path: \"./client.crt\"\n  output:\n  - name: my important secret file\n    path: \"/mnt/something.txt\"\n  - name: client-cert\n    path: \"/opt/client.crt\"\n```\n\n```\n{\n    \"secrets\": {\n        \"input\": [\n            {\n                \"name\": \"my important secret file\",\n                \"path\": \"/tmp/my-file.txt\"\n            },\n            {\n                \"name\": \"client-cert\",\n                \"path\": \"./client.crt\"\n            }\n        ],\n        \"output\": [\n            {\n                \"name\": \"my important secret file\",\n                \"path\": \"/mnt/something.txt\"\n            },\n            {\n                \"name\": \"client-cert\",\n                \"path\": \"/opt/client.crt\"\n            }\n        ]\n    }\n}\n```\n\nConfiguration can be provided as a file (`--config`) or as base64 encoded environment variable (`--config-env`).\n\n## Secrets\n\nAllows you to provide list of files which are uploaded as `fly secrets` using the following command\n\n```\nflyhelper secrets push\n```\n\nYou can tehn run `flyhelper` in the Fly App container to turn the secrets provided in environment variables into files again.\n\n```\nflyhelper secrets pull\n```\n\nThe `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.\n\nThe 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.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpavlin%2Ffly-helper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvpavlin%2Ffly-helper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpavlin%2Ffly-helper/lists"}