{"id":18498510,"url":"https://github.com/zircote/thermos-payload","last_synced_at":"2025-08-16T16:34:12.451Z","repository":{"id":66126325,"uuid":"160566024","full_name":"zircote/thermos-payload","owner":"zircote","description":"A tool to marshal and unmarshal Apache Aurora/Thermos payloads. This is intend to make simpler the creation and maintenance of jobs when using tools such as paypal/gorealis","archived":false,"fork":false,"pushed_at":"2019-01-22T07:03:18.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-25T17:42:57.212Z","etag":null,"topics":["aurora","mesos","thermos"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zircote.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-05T19:10:55.000Z","updated_at":"2019-01-22T07:03:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"1d9e8ba4-89e4-42fd-bfc6-9de7b26ad54d","html_url":"https://github.com/zircote/thermos-payload","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zircote%2Fthermos-payload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zircote%2Fthermos-payload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zircote%2Fthermos-payload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zircote%2Fthermos-payload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zircote","download_url":"https://codeload.github.com/zircote/thermos-payload/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239217107,"owners_count":19601593,"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":["aurora","mesos","thermos"],"created_at":"2024-11-06T13:40:56.399Z","updated_at":"2025-02-17T00:44:51.870Z","avatar_url":"https://github.com/zircote.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Thermos Payload\n\nHelper library to provide validation and tools to create Apache Aurora Thermos centric Payloads\n\n```golang\n\nthermosTaskConfig := DefaultThermosTaskConfig(\n\t\t\"hello_world\",\n\t)\n// 0.5 CPU 128M RAM 128M Disk 0 GPU\nthermosTaskConfig.Task.Resources = \u0026Resources{CPU: .5, Disk:128, RAM:128}\nthermosTaskConfig.Task.AddProcess(DefaultProcess(\"hello\", `\nwhile true; do\n   echo hello world\n   # Privde a port {{thermos.ports[health]}}\n   sleep 10\ndone`))\nj := thermosTaskConfig.String()\nfmt.Println(j)\n\t\n```\n\nResult:\n\n```JSON\n {\n   \"task\": {\n     \"name\": \"hello_world\",\n     \"processes\": [\n       {\n         \"name\": \"hello\",\n         \"daemon\": false,\n         \"ephemeral\": false,\n         \"max_failures\": 1,\n         \"min_duration\": 5,\n         \"cmdline\": \"\\n\\twhile true; do\\n\\t   echo hello world\\n\\t   # Privde a port {{thermos.ports[health]}}\\n\\t   sleep 10\\n\\tdone\",\n         \"final\": false\n       }\n     ],\n     \"finalization_wait\": 30,\n     \"max_failures\": 1,\n     \"max_concurrency\": 0,\n     \"resources\": {\n       \"gpu\": 0,\n       \"disk\": 128,\n       \"ram\": 128,\n       \"cpu\": 0.5\n     },\n     \"constraints\": [\n       {\n         \"order\": [\n           \"hello\"\n         ]\n       }\n     ]\n   },\n   \"cluster\": \"devcluster\",\n   \"role\": \"www-data\",\n   \"environment\": \"prod\",\n   \"name\": \"hello_world\",\n   \"health_check_config\": {\n     \"initial_interval_secs\": 15,\n     \"health_checker\": {\n       \"http\": {\n         \"expected_response_code\": 0,\n         \"endpoint\": \"/health\",\n         \"expected_response\": \"ok\"\n       }\n     },\n     \"interval_secs\": 10,\n     \"timeout_secs\": 1,\n     \"max_consecutive_failures\": 1\n   },\n   \"service\": true,\n   \"max_task_failures\": 1,\n   \"cron_collision_policy\": \"KILL_EXISTING\",\n   \"enable_hooks\": false,\n   \"lifecycle\": {\n     \"http\": {\n       \"graceful_shutdown_endpoint\": \"/quitquitquit\",\n       \"port\": \"health\",\n       \"shutdown_endpoint\": \"/abortabortabort\"\n     }\n   },\n   \"priority\": 0,\n   \"production\": false\n }\n\n\n ```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzircote%2Fthermos-payload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzircote%2Fthermos-payload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzircote%2Fthermos-payload/lists"}