From: Igor Zubkov <igor.zubkov@gmail.com> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: [devel] Public read-only API for prometheus Date: Mon, 19 Jul 2010 19:09:31 +0300 Message-ID: <AANLkTimWu8DC0qkshrcMPwQeOJ_KabUzULMZMbcLoM-K@mail.gmail.com> (raw) Hi! Предлагаю обсудить будущую реализацию API для prometheus. Мое мнение такое что через API должны быть доступны все данные что есть на сайте. Или, если посмотреть на это с другой стороны, что бы через это API можно было реализовать такой же сайт с контентом как и prometheus. Пока моей фантазии хватило на: match '/api/v1/count/:vendor/:branch', :to => 'api#count' или просто (эти ссылки на текущем prometheus.a.o пока не работают) /api/v1/count/ALT%20Linux/Sisyphus вернёт количество src.rpm которые сейчас есть в Сизифе. /api/v1/count/ALT%20Linux/SisyphusARM вернёт количество src.rpm которые сейчас есть в порте Сизифа на arm Ну и так далее, с вендорами и бранчами. Дёргать это примерно так: $ curl http://server/api/v1/count/ALT%20Linux/Sisyphus Я предлагаю: /api/v1/packagers -- вернёт список логинов маинтейнеров /api/v1/packager/:login -- вернёт Full Name маинтейнера /api/v1/packager/:login/acl -- вернёт список acl для маинтейнера Сизифе /api/v1/packager/:login/gear -- вернёт список gear репозиторией маинтейнера /api/v1/packager/:login/bugs -- вернёт список номеров не закрытых багов на маинтейнере /api/v1/packager/:login/allbugs -- вернёт список номеров всех багов на маинтейнере /api/v1/packager/:login/repocop -- отчёты repocop для всех пакетов маинтейнера /api/v1/srpm/:branch/:name -- информация о пакете :name из бранча :branch /api/v1/srpm/:branch/:name/changelog -- changelog пакета /api/v1/srpm/:branch/:name/spec -- spec пакета /api/v1/srpm/:branch/:name/get -- список из src.rpm и бинарных пакетов собранных их этого src.rpm пакета /api/v1/srpm/:branch/:name/gear -- список из маинтейнеров у которых в gear есть пакет :name /api/v1/srpm/:branch/:name/bugs -- номера открытых багов на пакет :name /api/v1/srpm/:branch/:name/allbugs -- номера всех багов на пакет :name /api/v1/srpm/:branch/:name/repocop -- отчёты repocop на пакет :name Этого должно вполне хватить что бы сделать prometheus через только это API. Это интересно, но не очень. Надо что-то по интереснее. Например такое: /api/v1/requires/:vendor/:branch/:name -- список зависимостей пакета :name из бранча :branch /api/v1/provides/:vendor/:branch/:name -- список того что провайдит пакет /api/v1/buildreq/:vendor/:branch/:name -- список сборочных зависимостей пакета (тут наверно их надо будет сделать два, первый из spec а второй уже полный список пакетов которые ставятся в hasher для сборки) /api/v1/reqforbuild/:vendor/:branch/:name -- список пакетов которые требуют для сборки :name /api/v1/:library/:symbol -- список пакетов которые подцепили :symbol из библиотеки :library и которые надо будет пересобрать в транзакции Для это всего добавить пару консольных утилит и будет просто чудесно. Как пример, говорим rpmsodiff и получаем не только что у нас ушло и пришло, но список пакетов это заденет. Ну как? Ничего не забыл? Или может у кого есть какие-то ещё предложения? P.S.: И да, это только read-only API. О API для записи можно и потом подумать, если понадобится. -- Igor Zubkov http://hi.im/ice
next reply other threads:[~2010-07-19 16:09 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-07-19 16:09 Igor Zubkov [this message] 2010-07-19 16:17 ` Artem Zolochevskiy 2010-07-19 16:21 ` Igor Zubkov 2010-07-19 16:20 ` Slava Semushin 2010-07-19 16:27 ` Andrey Rahmatullin 2010-07-20 15:00 ` Igor Zubkov 2010-07-21 2:07 ` REAL 2010-07-23 11:54 ` Rinat Bikov 2010-07-19 16:53 ` Vitaly Kuznetsov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=AANLkTimWu8DC0qkshrcMPwQeOJ_KabUzULMZMbcLoM-K@mail.gmail.com \ --to=igor.zubkov@gmail.com \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git