{"id":37183765,"url":"https://github.com/citizensciencecenter/autodeploy","last_synced_at":"2026-01-14T21:13:34.234Z","repository":{"id":79220246,"uuid":"190166315","full_name":"CitizenScienceCenter/autodeploy","owner":"CitizenScienceCenter","description":"A webhook script to deploy a service to k8s with an ingress and tls","archived":false,"fork":false,"pushed_at":"2023-02-25T02:52:18.000Z","size":113793,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2024-06-20T15:45:18.789Z","etag":null,"topics":["devops","go","golang","kubernetes-deployment"],"latest_commit_sha":null,"homepage":null,"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/CitizenScienceCenter.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":"2019-06-04T09:02:10.000Z","updated_at":"2019-10-02T10:33:26.000Z","dependencies_parsed_at":"2023-03-12T07:22:06.834Z","dependency_job_id":null,"html_url":"https://github.com/CitizenScienceCenter/autodeploy","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/CitizenScienceCenter/autodeploy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CitizenScienceCenter%2Fautodeploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CitizenScienceCenter%2Fautodeploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CitizenScienceCenter%2Fautodeploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CitizenScienceCenter%2Fautodeploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CitizenScienceCenter","download_url":"https://codeload.github.com/CitizenScienceCenter/autodeploy/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CitizenScienceCenter%2Fautodeploy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28434634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["devops","go","golang","kubernetes-deployment"],"created_at":"2026-01-14T21:13:33.636Z","updated_at":"2026-01-14T21:13:34.217Z","avatar_url":"https://github.com/CitizenScienceCenter.png","language":"Go","readme":"# Auto Deploy\n\n## What Am I?\n\nA script/go server that can receive webhooks from CI services (currently only Travis) and build docker images from\nthe repo to deploy into Kubernetes using `envsubst` (not Helm)\n\n## What Do I Need?\n\n1. To host this somewhere in your infra that has access to the following:\n    * Your Git repos\n    * Your Docker registry configured in the shell\n    * Your K8S instance (with kubectl configured)\n\n2. A webhook configured in your CI system \n3. A `deploy` folder in your repo with files that match your branch names. i.e. `deploy/master.deploy`\n\n## How Do I Run It\n\n`go run autodeploy.go`\n\n## What Can It Do?\n\n1. Pull latest changes from git (based on branch tested)\n2. Build docker image and tag with commit hash and branch name\n3. Push docker image to your registry\n4. Create a deployment file for k8s and auto set up ingresses (certificates must be set up by you, see `env-deploy.yaml`)\n5. Deploy to K8S and save output of file to `ran` folder\n6. Notify webhook of success and failures\n\n## Troubleshooting\n\n### Git fails with `SSH_AUTH_SOCK`\n\nThis is probably because your shell cannot find the ssh-agent or the path to the socket file is wrong.\n\n#### To Fix\n\n```bash\n$ eval `ssh-agent`\n$ ssh-add\n```\n\n### Docker fails to build\n\nProbably you need to add your user to the Docker group or, and this is **NOT** recommended, you can run as sudo\n\n### Docker fails to push to a registry\n\nFirst, make sure you have a registry set and then make sure your auth credentials have been provided with:\n\n`$ docker login \u003cREGISTRY\u003e`\n\n## TODO\n\n* [X] Handle args for config paths\n* [ ] Allow selection of default build steps\n* [X] Git - handle initialising submodules\n* [X] Git -  fetch branches before searching\n* [ ] Docker - Print errors to users when command fails\n* [X] Config - enable or disable stdout\n* [X] K8S - create env file and pass to deploy\n* [X] Webhook - Notification of stages\n* [ ] Better error handling and detection, no silent failures","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcitizensciencecenter%2Fautodeploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcitizensciencecenter%2Fautodeploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcitizensciencecenter%2Fautodeploy/lists"}