Dwa i pół roku od powstania oddziału 0.12 ukazało się nowe, znaczące wydanie Gogs 0.13, systemu do organizacji współpracy z repozytoriami Git, pozwalającego na wdrożenie usługi przypominającej GitHub, Bitbucket i Gitlab na własnym sprzęcie lub w środowiskach chmurowych. Kod projektu napisany jest w Go i jest objęty licencją MIT. Do stworzenia interfejsu wykorzystano framework sieciowy Macaron. System ma dość niskie wymagania dotyczące zasobów i można go wdrożyć na płycie Raspberry Pi.
Główne cechy Gogów:
- Wyświetlanie aktywności na osi czasu;
- Dostęp do repozytorium poprzez protokoły SSH i HTTP/HTTPS;
- Uwierzytelnianie poprzez SMTP, LDAP i odwrotne proxy;
- Wbudowane konto, repozytorium i zarządzanie organizacją/zespołem;
- Interfejs umożliwiający dodawanie i usuwanie programistów mających dostęp do dodawania danych do repozytorium;
- System web hooków do integracji programów obsługi z usług stron trzecich, takich jak Slack, Discord i Dingtalk;
- Wsparcie dla łączenia haków Git i Git LFS;
- Dostępność interfejsów do odbierania komunikatów o błędach (problemach), przetwarzania pull requestów i Wiki do przygotowywania dokumentacji;
- Narzędzia do migracji i tworzenia kopii lustrzanych repozytoriów i wiki z innych systemów;
- Interfejs sieciowy do edycji kodu i wiki;
- Przesyłanie awatarów za pośrednictwem Gravatar i usług stron trzecich;
- Usługa wysyłania powiadomień e-mailem;
- Panel administratora;
- Wielojęzyczny interfejs przetłumaczony na 30 języków;
- Możliwość dostosowania interfejsu poprzez system szablonów HTML;
- Wsparcie przechowywania parametrów w MySQL, PostgreSQL, SQLite3 i TiDB.
W nowym wydaniu:
- W polu hasła możliwe jest użycie osobistego tokena dostępu.
- Na stronach tworzenia i przenoszenia repozytorium dodano opcję usuwania z listy, która pozostawia repozytorium jako publiczne, ale ukrywa je na liście dla użytkowników nie mających bezpośredniego dostępu do interfejsu Gogs.
- Dodano nowe ustawienia „[git.timeout] DIFF” (limit czasu dla git diff), „[serwer] SSH_SERVER_MACS” (lista dozwolonych adresów MAC), „[repozytorium] DEFAULT_BRANCH” (domyślna nazwa gałęzi dla nowych repozytoriów), „[ serwer ] SSH_SERVER_ALGORITHMS" (lista prawidłowych algorytmów wymiany kluczy).
- Możliwe jest określenie własnego schematu przechowywania dla PostgreSQL.
- Dodano obsługę renderowania diagramów syren w Markdown.
- Domyślna nazwa gałęzi została zmieniona z master na main.
- Zaplecze magazynu MSSQL jest przestarzałe.
- Wymagania dla kompilatora Go zostały zwiększone do wersji 1.18.
- Tokeny dostępu są teraz przechowywane przy użyciu skrótów SHA256 zamiast być przechowywane w postaci zwykłego tekstu.
Źródło: opennet.ru