From b0c290dcbb4b4ebc72bf7fd931552f246b5188a4 Mon Sep 17 00:00:00 2001 From: Basil Bruhn Date: Tue, 4 Mar 2025 11:40:54 +0100 Subject: [PATCH] Gitea Doku --- _toc.yml | 7 ++ engineering-guide/gitea-dmz.md | 2 + engineering-guide/gitea/gitea_setup.png | Bin 0 -> 50612 bytes services/user-guide/gitea/gitea-faq.md | 68 ++++++++++++++++++++ services/user-guide/gitea/gitea-pages.md | 2 + services/user-guide/gitea/gitea-runner.md | 2 + services/user-guide/gitea/gitea-snippets.md | 2 + services/user-guide/gitea/gitea.md | 5 ++ 8 files changed, 88 insertions(+) create mode 100644 engineering-guide/gitea-dmz.md create mode 100644 engineering-guide/gitea/gitea_setup.png create mode 100644 services/user-guide/gitea/gitea-faq.md create mode 100644 services/user-guide/gitea/gitea-pages.md create mode 100644 services/user-guide/gitea/gitea-runner.md create mode 100644 services/user-guide/gitea/gitea-snippets.md create mode 100644 services/user-guide/gitea/gitea.md diff --git a/_toc.yml b/_toc.yml index 59d79923..7eb47916 100644 --- a/_toc.yml +++ b/_toc.yml @@ -167,6 +167,7 @@ chapters: - file: engineering-guide/lxsup - file: engineering-guide/lxweb00 - file: engineering-guide/gitea + - file: engineering-guide/gitea-dmz - file: engineering-guide/infrastructure_administration - file: engineering-guide/troubleshooting - file: engineering-guide/accounts-and-groups @@ -205,6 +206,12 @@ chapters: - file: services/user-guide/gitlab/gitpages.psi.ch - file: services/user-guide/gitlab/dependency_proxy - file: services/user-guide/gitlab/gitlab_cli + - file: services/user-guide/gitea/gitea + sections: + - file: services/user-guide/gitea/gitea-faq + - file: services/user-guide/gitea/gitea-pages + - file: services/user-guide/gitea/gitea-runner + - file: services/user-guide/gitea/gitea-snippets - file: services/admin-guide/index sections: - file: services/admin-guide/unix_groups diff --git a/engineering-guide/gitea-dmz.md b/engineering-guide/gitea-dmz.md new file mode 100644 index 00000000..1a6db66f --- /dev/null +++ b/engineering-guide/gitea-dmz.md @@ -0,0 +1,2 @@ +# Gitea Production Documentation +![Gitea](gitea/gitea_setup.png) diff --git a/engineering-guide/gitea/gitea_setup.png b/engineering-guide/gitea/gitea_setup.png new file mode 100644 index 0000000000000000000000000000000000000000..5541b4b27dbaa2ee3e3025e7ead6c408037befb1 GIT binary patch literal 50612 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 z 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%0A69eg_%o2IAyGoJdTgoaAtK(Dz*&yYXKU z3}PkC&wb0Z2x|l`g>gv+*VO@a5=giYIs#-@d5*L5NQ7Hm2ti!6qpnr-LykZp!JAEt zQcu1Kf}#Z78L*mB$L^VNX9SHhkb$}~CRB)gO00ua`o9Td)OT0FD^j7=n4 zy}q9LmACEXBY$k5z(8`*Qa;nuDGb2Elz|x_R=H#x_6Pz2?k^y*$^f|p1mqC@BiH_L zH5;dZL=Vw(q-4c9^Rt3C_SHZZg?P(?!}9M^=D$Q_*P#_Mh zEg7ELizIwx9fg7EB^EY?*#1ykcWfh?x>LtCb?-rZK7RbT;bJa~e~8o-MSu=ce4X-n zKyRI?yI1$vKMD*+0!!CfNB{yDE{-a%27B<~4-q%HcPS-qR1hJX%cl1(G{VBVrO!Y~ zsmIZGHKet^EP4`H>Ion% zv8GrlnSm4w))whiz_{Z4R{JsINM!hhZF?{ErqDsADqug9Jrm3jK ztwo^Q&Sk|Jva`|;N(O&n&h}j?6LV-bAiwGXb%VCJSJu2!GqV-*^=jvxT|~oQB$QuR zSeThvCs7P_Kmsg20vGT5peu0s4;i2f)B!WfP=e%!bPa`54Pu8{iP&JQ5CWmdkw>BB z&W=o7=EO41h)r>~2x~$Ec_(w_p;@*K=ZiI-qmY*NG!owQfe3wIFgO>byp5^FG+3Mh zzP=_gIQ7!_$jFcJU&`w?1Th)tJ!9&o2vt-_|FCE93Ke%Ous=I@!KO?`0eGN4BBj(# z5#pR(o>k0!+ePPeRNSH8WqcaWv(4l>f|gW6q!O`Ry59K&lJbM>uflUgiBL2@kp26}G5M z{?wPRX{)B?2J5^bu^- zml{zgB9&SN1+HUdB;J7sbcyLvELMSNy5lM(rBS-erjsw#0sakTG_%dcaqw!fuNtJOc zdCIFWr@m%M$iV*0#d|fd-9l7~>W>GgN^7T}H=&wVTov4?5TOi~SVmi{QY{qmj}R9A zeq;A{0h3I46(K@LojD3_(-O1=o|m1xHyLjH-~bPNB1&vr`63#rPHVcZ40+fKo4=<2sy`Q&Nr?;Kr1fE&8xNgBi5mYh(gla5yMDcUtco zg=MAhCv-4VJ9WM&AYDupJ{l6V`lmwjxv|fWc2qO20g9BSuZL=Pn75oTrTH*VY(V7n8xy$w8Yk`PE*{RAEazQD=9`JEG-etFlAR! zt48YW@Ws$m>+wZo?hkboz2FwOw2Rj_yXUKW%$kW>U+Wh)N0*u%b4_!^isE01`M0;+QBtyVrp~F6f7Zj!NX_+|0yZEbJIOZ8Re$0#{0Ex7yAi@EjZ?>&=oJZ5Q0nG8ETVqKg` zHo`#YzQtIfV^=Oq(U6UdFlqFv3b1Jf6GWbE}EAJR-UD>?2{LG(I&xa7Z=(az<3n4sWx z;oEm~way_TsBd`Tv>E*UHiTk~OevOveEYT8*69kmNe zhnq92jYWcc=GTjC&%_0Os-|{MOdNWx=?Z_pPnl#8b+n?vO1~nV^IJB_Aj6(HSkP+Oa+H@ji5)F2+U#sf}mwUBL z?iVPS*nsp(^D`YOqC{<%9@A|kIH}L1T|3yQ0keZZN-A$HNx^Rh%^mXt|No0;{-?R= tKiL_m5tR5Z%n{WuRY>cM|gAC2tKr{~y(i If you are (or feel) responsible for a certain team in PSI it makes sense to create an Organization named likewise. Try to use the official names used at PSI. In the top left corner you can click on browse and then Organizations to see if someone already created the desired organization. + +Optional: +- Click the "+" in the top right of your screen and create an organization +- Authorization inside Organizations can be done via Teams - Create Team and give the persmissions you need +- If you want to use AD Groups to authorize people in your Teams please contact [Gitea Project](mailto:gitea@psi.ch) + +Migration: +- Click the "+" in the top right of your screen and click "New Migration" +- Choose the Source you want to migrate from +- Enter the HTTPS clone URL +- On the source you need to create an access token for that project +- Paste the token in "Access Token" +- Choose the migration options (Attention! If you choose mirror, you won't be able to migrate releases!) +- Choose an Owner (Organization or if its a personal Project your Username) and give it a name. (Can be the existing one) + +### I had a collaboration with non PSI Users on gitlab.psi.ch +All "ext-" users have been imported as restricted users and must be explicitly added to a project. +If you are missing a user and you are sure it has a PSI account, message [Gitea Project](mailto:gitea@psi.ch) + diff --git a/services/user-guide/gitea/gitea-pages.md b/services/user-guide/gitea/gitea-pages.md new file mode 100644 index 00000000..27b8c2f1 --- /dev/null +++ b/services/user-guide/gitea/gitea-pages.md @@ -0,0 +1,2 @@ +# Gitea Pages +Available under {YourOrg}.pages.psi.ch diff --git a/services/user-guide/gitea/gitea-runner.md b/services/user-guide/gitea/gitea-runner.md new file mode 100644 index 00000000..900d6d62 --- /dev/null +++ b/services/user-guide/gitea/gitea-runner.md @@ -0,0 +1,2 @@ +# Gitea Runner +Available in every security zone diff --git a/services/user-guide/gitea/gitea-snippets.md b/services/user-guide/gitea/gitea-snippets.md new file mode 100644 index 00000000..fdbfb087 --- /dev/null +++ b/services/user-guide/gitea/gitea-snippets.md @@ -0,0 +1,2 @@ +# Gitea Snippets +Snippet Server for Gitea has SSO with gitea.psi.ch diff --git a/services/user-guide/gitea/gitea.md b/services/user-guide/gitea/gitea.md new file mode 100644 index 00000000..712f3697 --- /dev/null +++ b/services/user-guide/gitea/gitea.md @@ -0,0 +1,5 @@ +# Gitea (Git with a cup of tea) +This is the official GIT Service at PSI. +It offers a wide range of features and improvements to the Gitlab service and will be its successor. +Here you can find various information about the services offered with Gitea and a FAQ about the migration. +