Праз два з паловай гады з моманту фармавання галінкі 0.12 апублікаваны новы значны выпуск Gogs 0.13, сістэмы для арганізацыі сумеснай працы з рэпазітарамі Git, якая дазваляе на ўласным абсталяванні ці ў хмарных асяродках разгарнуць сэрвіс, які нагадвае GitHub, Bitbucket і Gitlab. Код праекту напісаны на мове Go і пастаўляецца пад ліцэнзіяй MIT. Для фармавання інтэрфейсу ўжываецца web-фрэймворк Macaron. Сістэма мае дастаткова нізкія патрабаванні да рэсурсаў і можа быць разгорнута на плаце Raspberry Pi.
Асноўныя магчымасці Gogs:
- Адлюстраванне актыўнасці па шкале часу;
- Доступ да рэпазітара па пратаколах SSH і HTTP/HTTPS;
- Аўтэнтыфікацыя праз SMTP, LDAP і Reverse proxy;
- Убудаваныя сродкі кіравання ўліковымі запісамі, рэпазітарамі і арганізацыямі/камандамі;
- Інтэрфейс для дадання і выдаленні распрацоўнікаў, якія маюць доступ да дадання дадзеных у рэпазітар;
- Сістэма web-хукаў для інтэграцыі апрацоўшчыкаў ад іншых сэрвісаў, такіх як Slack, Discord і Dingtalk;
- Падтрымка падключэння Git-хукаў і Git LFS;
- Наяўнасць інтэрфейсаў для прыёму паведамленняў аб памылках (issues), апрацоўкі pull-запытаў і Wiki для падрыхтоўкі дакументацыі;
- Сродкі для міграцыі і люстэркаванні рэпазітараў і wiki з іншых сістэм;
- Web-інтэрфейс для рэдагавання кода і wiki;
- Загрузка аватараў праз Gravatar і іншыя сэрвісы;
- Сэрвіс адпраўкі апавяшчэнняў па электроннай пошце;
- Панэль адміністратара;
- Шматмоўны інтэрфейс, перакладзены на 30 моў;
- Магчымасць наладкі інтэрфейсу праз сістэму HTML-шаблонаў;
- Падтрымка захоўвання параметраў у MySQL, PostgreSQL, SQLite3 і TiDB.
У новым выпуску:
- Прадастаўлена магчымасць выкарыстання персанальнага токена доступу ў поле з паролем.
- На старонках стварэння і пераносу рэпазітара з'явілася опцыя для выключэння са спісу (unlisted), якая пакідае рэпазітар публічным, але якая хавае яго ў спісе для карыстачоў без прамога доступу ў інтэрфейс Gogs.
- Дададзеныя новыя налады "[git.timeout] DIFF" (таймаўт для git diff), "[server] SSH_SERVER_MACS" (спіс дазволеных MAC-адрасоў), "[repository] DEFAULT_BRANCH" (назва галіны па змаўчанні для новых рэпазітароў), "[ server] SSH_SERVER_ALGORITHMS» (спіс дапушчальных алгарытмаў для абмену ключамі).
- Дадзена магчымасць указання ўласнай схемы захоўвання для PostgreSQL.
- Дададзена падтрымка адмалёўкі Mermaid-дыяграм у Markdown.
- Назва галіны па змаўчанні зменена з master на main.
- Абвешчаны састарэлым бэкэнд захоўвання MSSQL.
- Да версіі 1.18 павышаны патрабаванні да кампілятара Go.
- Для захоўвання токенаў доступу зараз выкарыстоўваюцца хэшы SHA256 замест захоўвання ў адкрытым выглядзе.
Крыніца: opennet.ru