{"id":21055751,"url":"https://github.com/kak-tus/essi","last_synced_at":"2025-03-14T00:12:03.145Z","repository":{"id":151061830,"uuid":"65860681","full_name":"kak-tus/Essi","owner":"kak-tus","description":"Essi - automated perl to deb converter","archived":false,"fork":false,"pushed_at":"2017-07-28T18:51:18.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-20T19:15:49.606Z","etag":null,"topics":["deb-converter","debian-packages","perl"],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kak-tus.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":"LICENSE","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":"2016-08-16T23:34:50.000Z","updated_at":"2017-02-18T15:36:18.000Z","dependencies_parsed_at":"2023-04-14T07:18:43.839Z","dependency_job_id":null,"html_url":"https://github.com/kak-tus/Essi","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kak-tus%2FEssi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kak-tus%2FEssi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kak-tus%2FEssi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kak-tus%2FEssi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kak-tus","download_url":"https://codeload.github.com/kak-tus/Essi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243500803,"owners_count":20300774,"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":["deb-converter","debian-packages","perl"],"created_at":"2024-11-19T16:47:08.281Z","updated_at":"2025-03-14T00:12:03.110Z","avatar_url":"https://github.com/kak-tus.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Essi - automated perl to deb converter\n\nEssi based on [dh-make-perl](https://metacpan.org/pod/DhMakePerl).\n\nEssi is a web service with HTTP api (github/gitlab/custom webhooks notification suport) that get some notification\nwith repo name, download it and creates deb package.\n\nEssi is a part of CI.\n\n## Installation\n\nBest way to use Essi - docker image [kaktuss/essi](https://hub.docker.com/r/kaktuss/essi/).\n\nIf you want to start it in usual environment - you must install it\n\n```\ncpanm -S https://github.com/kak-tus/Essi.git\n```\n\nand start it\n\n```\nsudo hypnotoad /usr/local/bin/essi.pl\n```\n\n## Github/gitlab/gogs webhooks API\n\n### With clone support thru http\n\n```\nhttp://example-domain:9007/v2/build/github.json\nhttp://example-domain:9007/v2/build/gitlab.json\nhttp://example-domain:9007/v2/build/gogs.json\n```\n\n### With clone support thru ssh\n\n```\nhttp://example-domain:9007/v2/build/github-ssh.json\nhttp://example-domain:9007/v2/build/gitlab-ssh.json\nhttp://example-domain:9007/v2/build/gogs-ssh.json\n```\n\nIf you want to use ssh clone support, you must:\n1. Add ssh keys to user with no passphrase to ~/.ssh folder.\n2. Add ssh config file to ~/.ssh folder\n\nExample\n```\n#/home/www-data/.ssh/config\nHost git.example.com\nIdentityFile /home/www-data/.ssh/git.example.com\nUser git\nPort 10022\n```\n\n3. Add yours servers to ~/.ssh/known_hosts file manually or using API method ssh-keyscan.\n\n## Custom API\n\nPOST request\n\n```\nhttp://example-domain:9007/v2/build/custom.json\n```\n\nwith parameter\n\n```\nrepo=https://github.com/kak-tus/Essi.git\n```\n\nCurl example\n\n```\ncurl -X POST 'http://example-domain:9007/v2/build/custom.json?repo=https://github.com/kak-tus/Essi.git'\n```\n\n## File API\n\nAllow to download tar.gz file from cpan (or any other storage) and build it.\n\nPOST request\n\n```\nhttp://example-domain:9007/v2/build/file.json\n```\n\nwith parameter\n\n```\nurl=https://cpan.metacpan.org/authors/id/K/KA/KAKTUS/Geo-SypexGeo-0.6.tar.gz\n```\n\nCurl example\n\n```\ncurl -X POST 'http://example-domain:9007/v2/build/file.json?url=https://cpan.metacpan.org/authors/id/K/KA/KAKTUS/Geo-SypexGeo-0.6.tar.gz'\n```\n\n## ssh-keyscan\n\nWhen using Essi with ssh clone support you must add yours servers to ~/.ssh/known_hosts file. You can do it manually or using this API method.\n\nPOST request\n\n```\nhttp://example-domain:9007/v2/build/ssh-keyscan.json\n```\n\nwith parameters\n\n```\nhost=git.example.com (required)\nport=10022 (optional, default 22)\n```\n\nCurl example\n\n```\ncurl -X POST 'http://example-domain:9007/v2/build/ssh-keyscan.json?host=git.example.com\u0026port=10022'\n```\n\n## Essi with nginx\n\nYou can use Essi directly, but the better solution in non-private environment: use nginx (+https) and proxy pass to application like\n\n```\nhttps://example-domain/essi/\n```\n\nto\n\n```\nhttp://127.0.0.1:9007/\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkak-tus%2Fessi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkak-tus%2Fessi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkak-tus%2Fessi/lists"}