{"id":19046391,"url":"https://github.com/wallix/awless-scheduler","last_synced_at":"2025-04-24T00:40:22.618Z","repository":{"id":57492237,"uuid":"89498291","full_name":"wallix/awless-scheduler","owner":"wallix","description":"Schedule runs and reverts of awless templates","archived":false,"fork":false,"pushed_at":"2018-04-24T09:39:34.000Z","size":29,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-30T05:04:23.693Z","etag":null,"topics":["awless","aws"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wallix.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":"2017-04-26T15:38:01.000Z","updated_at":"2019-12-05T21:10:02.000Z","dependencies_parsed_at":"2022-08-28T11:26:23.510Z","dependency_job_id":null,"html_url":"https://github.com/wallix/awless-scheduler","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wallix%2Fawless-scheduler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wallix%2Fawless-scheduler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wallix%2Fawless-scheduler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wallix%2Fawless-scheduler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wallix","download_url":"https://codeload.github.com/wallix/awless-scheduler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249369209,"owners_count":21258977,"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":["awless","aws"],"created_at":"2024-11-08T22:54:38.510Z","updated_at":"2025-04-17T19:31:57.295Z","avatar_url":"https://github.com/wallix.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"DEPRECATED UNTIL SCHEDULER IS UP TO DATE WITH LATEST AWLESS VERSION\n\n\n# awless-scheduler\n\nThe scheduler service is a daemon service that receives templates to be ran and reverted at a later time. \n\nThe service basically get templates, validates and stores them. Then it will check every so often when stored templates need to be executed.\n\n# Usage\n\n### Test\n\n    go test ./... -v\n\n### Run\n\nAs an unix sock daemon:\n\n    go build; ./awless-scheduler              # default to scheduler service on unix sock\n\nAs an HTTP daemon:\n\n    go build; ./awless-scheduler --http-mode  # default to scheduler service on localhost:8083\n    go build; ./awless-scheduler --http-mode --scheduler-hostport 0.0.0.0:9090\n\nClients use the discovery service to know where the scheduler service is running. By default, the discovery service runs on localhost:8082. To run it on a different port:\n\n    ./awless-scheduler --discovery-hostport localhost:9090\n\n# Usage with the `awless` CLI\n\nThe scheduler is mostly used together with the [`awless` CLI](https://github.com/wallix/awless).\n\nFrom the CLI you can run one-liner, file or remote template and specify the following flags to run your template at a later date:\n\n- `--schedule`: indicates the CLI that this template will be send to the service instead of being scheduled.\n- `--run-in`: postpone the execution waiting the `run-in` duration (using [Golang duration notation](https://golang.org/pkg/time/#ParseDuration))\n- `--revert-in`: indicates when to revert this template in case it had a succesfull execution\n\nExamples:\n\n    awless create instance name=MyInstance --schedule --run-in 2h --revert-in 4h\n    awless create instance name=MyInstance --schedule --revert-in 1d\n\n## Client API\n\nCreate a new client giving the discovery URL:\n\n```go\ncli, err := client.New(\"http://127.0.0.1:8082\")\n```\n\nBehind the scene, the correct client will be instantiated: a UnixSock client or an HTTP client.\n\nPost a template\n\n```go\nerr := cli.Post(client.Form{\n  Region:   \"us-west-1\",\n  RunIn:    \"2m\",\n  RevertIn: \"2h\",\n  Template: txt,\n})\n```\n\nList tasks\n\n```go\ntasks, err := cli.List()\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwallix%2Fawless-scheduler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwallix%2Fawless-scheduler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwallix%2Fawless-scheduler/lists"}