1
1
Fork 0
mirror of https://github.com/roles-ansible/ansible_role_gitea.git synced 2024-08-16 11:39:50 +02:00

Merge branch 'main' of github.com:roles-ansible/ansible_role_gitea

This commit is contained in:
pat-s 2024-03-03 11:29:58 +01:00
commit c33d8b52c5
No known key found for this signature in database
GPG key ID: 3C6318841EF78925
30 changed files with 395 additions and 443 deletions

85
.github/galaxy.svg vendored
View file

@ -1,85 +0,0 @@
<svg width="163.12" height="20.244" version="1.1" xmlns="http://www.w3.org/2000/svg">
<style/>
<defs>
<linearGradient id="linearGradient891" x1="170.83" x2="170.83" y1="-5.6998" y2="-16.76" gradientTransform="matrix(1.0082 0 0 1.0082 0 20.082)" gradientUnits="userSpaceOnUse">
<stop stop-color="#480900" stop-opacity=".4549" offset="0"/>
<stop stop-color="#d2d2d2" stop-opacity="0" offset="1"/>
</linearGradient>
<filter id="filter923" x="-.0021966" y="-.018085" width="1.0044" height="1.0362" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.082526871"/>
</filter>
<filter id="filter927" x="-.0025127" y="-.018605" width="1.005" height="1.0372" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.082526871"/>
</filter>
</defs>
<clipPath id="a">
<rect width="102" height="20" rx="3" fill="#fff"/>
</clipPath>
<g transform="matrix(.84167 0 0 1 0 .083029)" stroke-width="1.0082">
<path d="m190.39-0.082626h-105.42v20.165h105.42c1.8869 0 3.406-1.5191 3.406-3.406v-13.353c0-1.8869-1.5191-3.406-3.406-3.406z" fill="#f60" style="paint-order:stroke fill markers"/>
<path d="m3.406-0.082626h102.02v20.165h-102.02c-1.8869 0-3.406-1.5191-3.406-3.406v-13.353c0-1.8869 1.5191-3.406 3.406-3.406z" fill="#4d4d4d" style="paint-order:stroke fill markers"/>
<rect x="4.6399e-15" y="-.082626" width="193.75" height="20.243" ry="3.406" fill="url(#linearGradient891)" style="paint-order:stroke fill markers"/>
</g>
<g transform="translate(0 .083029)">
<g transform="translate(0 .81938)" fill="#010101" fill-opacity=".66791" filter="url(#filter927)" stroke-width=".1" aria-label="ansible-galaxy">
<path d="m10.162 11.088q-1.1978 0-1.6597 0.27393-0.46191 0.27393-0.46191 0.93457 0 0.52637 0.34375 0.83789 0.34912 0.30615 0.94531 0.30615 0.82178 0 1.3159-0.58008 0.49951-0.58545 0.49951-1.5522v-0.22022zm1.9712-0.4082v3.4321h-0.98828v-0.91309q-0.33838 0.54785-0.84326 0.81104-0.50488 0.25781-1.2354 0.25781-0.92383 0-1.4717-0.51562-0.54248-0.521-0.54248-1.3911 0-1.0151 0.67676-1.5308 0.68213-0.51562 2.0303-0.51562h1.3857v-0.09668q0-0.68213-0.45117-1.0527-0.4458-0.37598-1.2568-0.37598-0.51562 0-1.0044 0.12354-0.48877 0.12354-0.93994 0.37061v-0.91309q0.54248-0.20947 1.0527-0.31152 0.51025-0.10742 0.99365-0.10742 1.3052 0 1.9497 0.67676t0.64453 2.0518z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m19.169 10.481v3.6309h-0.98828v-3.5986q0-0.854-0.33301-1.2783t-0.99902-0.42432q-0.80029 0-1.2622 0.51025t-0.46191 1.3911v3.3999h-0.99365v-6.0156h0.99365v0.93457q0.35449-0.54248 0.83252-0.81104 0.4834-0.26855 1.1118-0.26855 1.0366 0 1.5684 0.64453 0.53174 0.63916 0.53174 1.8853z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m24.975 8.2737v0.93457q-0.41894-0.21484-0.87012-0.32227t-0.93457-0.10742q-0.73584 0-1.1064 0.22559-0.36523 0.22559-0.36523 0.67676 0 0.34375 0.26318 0.54248 0.26318 0.19336 1.0581 0.3706l0.33838 0.0752q1.0527 0.22559 1.4932 0.63916 0.4458 0.4082 0.4458 1.144 0 0.83789-0.66602 1.3267-0.66064 0.48877-1.8208 0.48877-0.4834 0-1.0098-0.09668-0.521-0.09131-1.1011-0.2793v-1.0205q0.54785 0.28467 1.0796 0.42969 0.53174 0.13965 1.0527 0.13965 0.69824 0 1.0742-0.23633 0.37598-0.2417 0.37598-0.67676 0-0.40283-0.27393-0.61768-0.26855-0.21484-1.187-0.41357l-0.34375-0.08057q-0.91846-0.19336-1.3267-0.59082-0.4082-0.40283-0.4082-1.1011 0-0.84863 0.60156-1.3105 0.60156-0.46191 1.708-0.46191 0.54785 0 1.0312 0.080566 0.4834 0.080566 0.8916 0.2417z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m26.871 8.0965h0.98828v6.0156h-0.98828zm0-2.3418h0.98828v1.2515h-0.98828z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m34.246 11.11q0-1.0903-0.45117-1.708-0.4458-0.62305-1.23-0.62305-0.78418 0-1.2354 0.62305-0.4458 0.61768-0.4458 1.708t0.4458 1.7134q0.45117 0.61768 1.2354 0.61768 0.78418 0 1.23-0.61768 0.45117-0.62305 0.45117-1.7134zm-3.3623-2.1001q0.31152-0.53711 0.78418-0.79492 0.47803-0.26318 1.1387-0.26318 1.0957 0 1.7778 0.87012 0.6875 0.87012 0.6875 2.2881 0 1.418-0.6875 2.2881-0.68213 0.87012-1.7778 0.87012-0.66064 0-1.1387-0.25781-0.47266-0.26318-0.78418-0.80029v0.90234h-0.99365v-8.3574h0.99365z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m36.91 5.7547h0.98828v8.3574h-0.98828z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m45.111 10.857v0.4834h-4.5439q0.06445 1.0205 0.6123 1.5576 0.55322 0.53174 1.5361 0.53174 0.56934 0 1.1011-0.13965 0.53711-0.13965 1.0635-0.41894v0.93457q-0.53174 0.22559-1.0903 0.34375-0.55859 0.11816-1.1333 0.11816-1.4395 0-2.2827-0.83789-0.83789-0.83789-0.83789-2.2666 0-1.4771 0.79492-2.3418 0.80029-0.87012 2.1538-0.87012 1.2139 0 1.9175 0.78418 0.70898 0.77881 0.70898 2.1216zm-0.98828-0.29004q-0.01074-0.81104-0.45654-1.2944-0.44043-0.4834-1.1709-0.4834-0.82715 0-1.3267 0.46729-0.49414 0.46729-0.56934 1.3159z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m46.234 10.659h2.895v0.88086h-2.895z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m54.661 11.034q0-1.0742-0.4458-1.665-0.44043-0.59082-1.2407-0.59082-0.79492 0-1.2407 0.59082-0.44043 0.59082-0.44043 1.665 0 1.0688 0.44043 1.6597 0.4458 0.59082 1.2407 0.59082 0.80029 0 1.2407-0.59082 0.4458-0.59082 0.4458-1.6597zm0.98828 2.3311q0 1.5361-0.68213 2.2827-0.68213 0.75195-2.0894 0.75195-0.521 0-0.98291-0.08057-0.46191-0.0752-0.89697-0.23633v-0.96143q0.43506 0.23633 0.85938 0.34912t0.86475 0.11279q0.97217 0 1.4556-0.51025 0.4834-0.50488 0.4834-1.5308v-0.48877q-0.30615 0.53174-0.78418 0.79492t-1.144 0.26318q-1.1064 0-1.7832-0.84326-0.67676-0.84326-0.67676-2.2344 0-1.3965 0.67676-2.2397 0.67676-0.84326 1.7832-0.84326 0.66602 0 1.144 0.26318 0.47803 0.26318 0.78418 0.79492v-0.91309h0.98828z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m60.419 11.088q-1.1978 0-1.6597 0.27393t-0.46191 0.93457q0 0.52637 0.34375 0.83789 0.34912 0.30615 0.94531 0.30615 0.82178 0 1.3159-0.58008 0.49951-0.58545 0.49951-1.5522v-0.22022zm1.9712-0.4082v3.4321h-0.98828v-0.91309q-0.33838 0.54785-0.84326 0.81104-0.50488 0.25781-1.2354 0.25781-0.92383 0-1.4717-0.51562-0.54248-0.521-0.54248-1.3911 0-1.0151 0.67676-1.5308 0.68213-0.51562 2.0303-0.51562h1.3857v-0.09668q0-0.68213-0.45117-1.0527-0.4458-0.37598-1.2568-0.37598-0.51562 0-1.0044 0.12354-0.48877 0.12354-0.93994 0.37061v-0.91308q0.54248-0.20947 1.0527-0.31152 0.51025-0.10742 0.99365-0.10742 1.3052 0 1.9497 0.67676t0.64453 2.0518z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m64.426 5.7547h0.98828v8.3574h-0.98828z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m70.216 11.088q-1.1978 0-1.6597 0.27393t-0.46191 0.93457q0 0.52637 0.34375 0.83789 0.34912 0.30615 0.94531 0.30615 0.82178 0 1.3159-0.58008 0.49951-0.58545 0.49951-1.5522v-0.22022zm1.9712-0.4082v3.4321h-0.98828v-0.91309q-0.33838 0.54785-0.84326 0.81104-0.50488 0.25781-1.2354 0.25781-0.92383 0-1.4717-0.51562-0.54248-0.521-0.54248-1.3911 0-1.0151 0.67676-1.5308 0.68213-0.51562 2.0303-0.51562h1.3857v-0.09668q0-0.68213-0.45117-1.0527-0.4458-0.37598-1.2568-0.37598-0.51562 0-1.0044 0.12354-0.48877 0.12354-0.93994 0.37061v-0.91308q0.54248-0.20947 1.0527-0.31152 0.51025-0.10742 0.99365-0.10742 1.3052 0 1.9497 0.67676t0.64453 2.0518z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m79.223 8.0965-2.1753 2.9272 2.2881 3.0884h-1.1655l-1.751-2.3633-1.751 2.3633h-1.1655l2.3364-3.1475-2.1377-2.8682h1.1655l1.5952 2.1431 1.5952-2.1431z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m83.235 14.671q-0.41894 1.0742-0.81641 1.4019t-1.0635 0.32764h-0.78955v-0.82715h0.58008q0.4082 0 0.63379-0.19336t0.49951-0.91309l0.17725-0.45117-2.4331-5.9189h1.0474l1.8799 4.7051 1.8799-4.7051h1.0474z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
</g>
<g fill="#fff" aria-label="ansible-galaxy">
<path d="m10.162 11.088q-1.1978 0-1.6597 0.27393-0.46191 0.27393-0.46191 0.93457 0 0.52637 0.34375 0.83789 0.34912 0.30615 0.94531 0.30615 0.82178 0 1.3159-0.58008 0.49951-0.58545 0.49951-1.5522v-0.22022zm1.9712-0.4082v3.4321h-0.98828v-0.91309q-0.33838 0.54785-0.84326 0.81104-0.50488 0.25781-1.2354 0.25781-0.92383 0-1.4717-0.51562-0.54248-0.521-0.54248-1.3911 0-1.0151 0.67676-1.5308 0.68213-0.51562 2.0303-0.51562h1.3857v-0.09668q0-0.68213-0.45117-1.0527-0.4458-0.37598-1.2568-0.37598-0.51562 0-1.0044 0.12354-0.48877 0.12354-0.93994 0.37061v-0.91309q0.54248-0.20947 1.0527-0.31152 0.51025-0.10742 0.99365-0.10742 1.3052 0 1.9497 0.67676t0.64453 2.0518z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m19.169 10.481v3.6309h-0.98828v-3.5986q0-0.854-0.33301-1.2783t-0.99902-0.42432q-0.80029 0-1.2622 0.51025t-0.46191 1.3911v3.3999h-0.99365v-6.0156h0.99365v0.93457q0.35449-0.54248 0.83252-0.81104 0.4834-0.26855 1.1118-0.26855 1.0366 0 1.5684 0.64453 0.53174 0.63916 0.53174 1.8853z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m24.975 8.2737v0.93457q-0.41894-0.21484-0.87012-0.32227t-0.93457-0.10742q-0.73584 0-1.1064 0.22559-0.36523 0.22559-0.36523 0.67676 0 0.34375 0.26318 0.54248 0.26318 0.19336 1.0581 0.3706l0.33838 0.0752q1.0527 0.22559 1.4932 0.63916 0.4458 0.4082 0.4458 1.144 0 0.83789-0.66602 1.3267-0.66064 0.48877-1.8208 0.48877-0.4834 0-1.0098-0.09668-0.521-0.09131-1.1011-0.2793v-1.0205q0.54785 0.28467 1.0796 0.42969 0.53174 0.13965 1.0527 0.13965 0.69824 0 1.0742-0.23633 0.37598-0.2417 0.37598-0.67676 0-0.40283-0.27393-0.61768-0.26855-0.21484-1.187-0.41357l-0.34375-0.08057q-0.91846-0.19336-1.3267-0.59082-0.4082-0.40283-0.4082-1.1011 0-0.84863 0.60156-1.3105 0.60156-0.46191 1.708-0.46191 0.54785 0 1.0312 0.080566 0.4834 0.080566 0.8916 0.2417z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m26.871 8.0965h0.98828v6.0156h-0.98828zm0-2.3418h0.98828v1.2515h-0.98828z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m34.246 11.11q0-1.0903-0.45117-1.708-0.4458-0.62305-1.23-0.62305-0.78418 0-1.2354 0.62305-0.4458 0.61768-0.4458 1.708t0.4458 1.7134q0.45117 0.61768 1.2354 0.61768 0.78418 0 1.23-0.61768 0.45117-0.62305 0.45117-1.7134zm-3.3623-2.1001q0.31152-0.53711 0.78418-0.79492 0.47803-0.26318 1.1387-0.26318 1.0957 0 1.7778 0.87012 0.6875 0.87012 0.6875 2.2881 0 1.418-0.6875 2.2881-0.68213 0.87012-1.7778 0.87012-0.66064 0-1.1387-0.25781-0.47266-0.26318-0.78418-0.80029v0.90234h-0.99365v-8.3574h0.99365z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m36.91 5.7547h0.98828v8.3574h-0.98828z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m45.111 10.857v0.4834h-4.5439q0.06445 1.0205 0.6123 1.5576 0.55322 0.53174 1.5361 0.53174 0.56934 0 1.1011-0.13965 0.53711-0.13965 1.0635-0.41894v0.93457q-0.53174 0.22559-1.0903 0.34375-0.55859 0.11816-1.1333 0.11816-1.4395 0-2.2827-0.83789-0.83789-0.83789-0.83789-2.2666 0-1.4771 0.79492-2.3418 0.80029-0.87012 2.1538-0.87012 1.2139 0 1.9175 0.78418 0.70898 0.77881 0.70898 2.1216zm-0.98828-0.29004q-0.01074-0.81104-0.45654-1.2944-0.44043-0.4834-1.1709-0.4834-0.82715 0-1.3267 0.46729-0.49414 0.46729-0.56934 1.3159z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m46.234 10.659h2.895v0.88086h-2.895z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m54.661 11.034q0-1.0742-0.4458-1.665-0.44043-0.59082-1.2407-0.59082-0.79492 0-1.2407 0.59082-0.44043 0.59082-0.44043 1.665 0 1.0688 0.44043 1.6597 0.4458 0.59082 1.2407 0.59082 0.80029 0 1.2407-0.59082 0.4458-0.59082 0.4458-1.6597zm0.98828 2.3311q0 1.5361-0.68213 2.2827-0.68213 0.75195-2.0894 0.75195-0.521 0-0.98291-0.08057-0.46191-0.0752-0.89697-0.23633v-0.96143q0.43506 0.23633 0.85938 0.34912t0.86475 0.11279q0.97217 0 1.4556-0.51025 0.4834-0.50488 0.4834-1.5308v-0.48877q-0.30615 0.53174-0.78418 0.79492t-1.144 0.26318q-1.1064 0-1.7832-0.84326-0.67676-0.84326-0.67676-2.2344 0-1.3965 0.67676-2.2397 0.67676-0.84326 1.7832-0.84326 0.66602 0 1.144 0.26318 0.47803 0.26318 0.78418 0.79492v-0.91309h0.98828z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m60.419 11.088q-1.1978 0-1.6597 0.27393t-0.46191 0.93457q0 0.52637 0.34375 0.83789 0.34912 0.30615 0.94531 0.30615 0.82178 0 1.3159-0.58008 0.49951-0.58545 0.49951-1.5522v-0.22022zm1.9712-0.4082v3.4321h-0.98828v-0.91309q-0.33838 0.54785-0.84326 0.81104-0.50488 0.25781-1.2354 0.25781-0.92383 0-1.4717-0.51562-0.54248-0.521-0.54248-1.3911 0-1.0151 0.67676-1.5308 0.68213-0.51562 2.0303-0.51562h1.3857v-0.09668q0-0.68213-0.45117-1.0527-0.4458-0.37598-1.2568-0.37598-0.51562 0-1.0044 0.12354-0.48877 0.12354-0.93994 0.37061v-0.91308q0.54248-0.20947 1.0527-0.31152 0.51025-0.10742 0.99365-0.10742 1.3052 0 1.9497 0.67676t0.64453 2.0518z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m64.426 5.7547h0.98828v8.3574h-0.98828z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m70.216 11.088q-1.1978 0-1.6597 0.27393t-0.46191 0.93457q0 0.52637 0.34375 0.83789 0.34912 0.30615 0.94531 0.30615 0.82178 0 1.3159-0.58008 0.49951-0.58545 0.49951-1.5522v-0.22022zm1.9712-0.4082v3.4321h-0.98828v-0.91309q-0.33838 0.54785-0.84326 0.81104-0.50488 0.25781-1.2354 0.25781-0.92383 0-1.4717-0.51562-0.54248-0.521-0.54248-1.3911 0-1.0151 0.67676-1.5308 0.68213-0.51562 2.0303-0.51562h1.3857v-0.09668q0-0.68213-0.45117-1.0527-0.4458-0.37598-1.2568-0.37598-0.51562 0-1.0044 0.12354-0.48877 0.12354-0.93994 0.37061v-0.91308q0.54248-0.20947 1.0527-0.31152 0.51025-0.10742 0.99365-0.10742 1.3052 0 1.9497 0.67676t0.64453 2.0518z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m79.223 8.0965-2.1753 2.9272 2.2881 3.0884h-1.1655l-1.751-2.3633-1.751 2.3633h-1.1655l2.3364-3.1475-2.1377-2.8682h1.1655l1.5952 2.1431 1.5952-2.1431z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m83.235 14.671q-0.41894 1.0742-0.81641 1.4019t-1.0635 0.32764h-0.78955v-0.82715h0.58008q0.4082 0 0.63379-0.19336t0.49951-0.91309l0.17725-0.45117-2.4331-5.9189h1.0474l1.8799 4.7051 1.8799-4.7051h1.0474z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
</g>
<g dominant-baseline="auto" fill="#010101" fill-opacity=".66791" filter="url(#filter923)" stroke-width=".1" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" aria-label="do1jlr.gitea">
<path d="m97.627 9.7322v-3.2549h0.98828v8.3574h-0.98828v-0.90234q-0.31152 0.53711-0.78955 0.80029-0.47266 0.25781-1.1387 0.25781-1.0903 0-1.7778-0.87012-0.68213-0.87012-0.68213-2.2881 0-1.418 0.68213-2.2881 0.6875-0.87012 1.7778-0.87012 0.66602 0 1.1387 0.26318 0.47803 0.25781 0.78955 0.79492zm-3.3677 2.1001q0 1.0903 0.4458 1.7134 0.45117 0.61768 1.2354 0.61768t1.2354-0.61768q0.45117-0.62305 0.45117-1.7134t-0.45117-1.708q-0.45117-0.62305-1.2354-0.62305t-1.2354 0.62305q-0.4458 0.61768-0.4458 1.708z"/>
<path d="m102.98 9.5119q-0.79492 0-1.2568 0.62305-0.46192 0.61768-0.46192 1.6973 0 1.0796 0.45655 1.7026 0.46191 0.61768 1.2622 0.61768 0.78955 0 1.2515-0.62305 0.46191-0.62305 0.46191-1.6973 0-1.0688-0.46191-1.6919-0.46192-0.62842-1.2515-0.62842zm0-0.83789q1.2891 0 2.0249 0.83789 0.73584 0.83789 0.73584 2.3203 0 1.477-0.73584 2.3203-0.73584 0.83789-2.0249 0.83789-1.2944 0-2.0303-0.83789-0.73047-0.84326-0.73047-2.3203 0-1.4824 0.73047-2.3203 0.73584-0.83789 2.0303-0.83789z"/>
<path d="m107.71 13.922h1.7725v-6.1177l-1.9282 0.38672v-0.98828l1.9175-0.38672h1.085v7.106h1.7725v0.91309h-4.6191z"/>
<path d="m114.38 8.8191h0.98829v6.123q0 1.1494-0.44043 1.665-0.43506 0.51562-1.4072 0.51562h-0.37598v-0.83789h0.26319q0.56396 0 0.76806-0.26318 0.2041-0.25781 0.2041-1.0796zm0-2.3418h0.98829v1.2515h-0.98829z"/>
<path d="m117.44 6.4773h0.98828v8.3574h-0.98828z"/>
<path d="m123.98 9.7429q-0.16651-0.09668-0.36524-0.13965-0.19336-0.04834-0.42968-0.04834-0.83789 0-1.2891 0.54785-0.4458 0.54248-0.4458 1.563v3.1689h-0.99365v-6.0156h0.99365v0.93457q0.31153-0.54785 0.81104-0.81104 0.49951-0.26855 1.2139-0.26855 0.10205 0 0.22558 0.016113 0.12354 0.010742 0.27393 0.037598z"/>
<path d="m124.14 13.47h1.1333v1.3643h-1.1333z"/>
<path d="m131.46 11.757q0-1.0742-0.4458-1.665-0.44043-0.59082-1.2407-0.59082-0.79492 0-1.2407 0.59082-0.44043 0.59082-0.44043 1.665 0 1.0688 0.44043 1.6597 0.4458 0.59082 1.2407 0.59082 0.80029 0 1.2407-0.59082 0.4458-0.59082 0.4458-1.6597zm0.98828 2.3311q0 1.5361-0.68213 2.2827-0.68212 0.75195-2.0894 0.75195-0.521 0-0.98291-0.08057-0.46192-0.0752-0.89697-0.23633v-0.96142q0.43505 0.23633 0.85937 0.34912t0.86475 0.11279q0.97217 0 1.4556-0.51025 0.4834-0.50488 0.4834-1.5308v-0.48877q-0.30615 0.53174-0.78418 0.79492-0.47802 0.26318-1.144 0.26318-1.1064 0-1.7832-0.84326-0.67676-0.84326-0.67676-2.2344 0-1.3965 0.67676-2.2397 0.67675-0.84326 1.7832-0.84326 0.66602 0 1.144 0.26318 0.47803 0.26318 0.78418 0.79492v-0.91308h0.98828z"/>
<path d="m134.48 8.8191h0.98828v6.0156h-0.98828zm0-2.3418h0.98828v1.2515h-0.98828z"/>
<path d="m138.52 7.1111v1.708h2.0356v0.76807h-2.0356v3.2656q0 0.73584 0.19873 0.94531 0.2041 0.20947 0.82178 0.20947h1.0151v0.82715h-1.0151q-1.144 0-1.5791-0.42432-0.43506-0.42969-0.43506-1.5576v-3.2656h-0.7251v-0.76807h0.7251v-1.708z"/>
<path d="m147 11.58v0.4834h-4.544q0.0644 1.0205 0.61231 1.5576 0.55322 0.53174 1.5361 0.53174 0.56933 0 1.1011-0.13965 0.53711-0.13965 1.0635-0.41895v0.93457q-0.53174 0.22559-1.0903 0.34375-0.5586 0.11816-1.1333 0.11816-1.4395 0-2.2827-0.83789-0.83789-0.83789-0.83789-2.2666 0-1.4771 0.79492-2.3418 0.8003-0.87012 2.1538-0.87012 1.2139 0 1.9175 0.78418 0.70899 0.77881 0.70899 2.1216zm-0.98828-0.29004q-0.0108-0.81104-0.45655-1.2944-0.44043-0.4834-1.1709-0.4834-0.82714 0-1.3267 0.46729-0.49414 0.46728-0.56933 1.3159z"/>
<path d="m151.35 11.811q-1.1978 0-1.6597 0.27393-0.46192 0.27393-0.46192 0.93457 0 0.52637 0.34375 0.83789 0.34912 0.30615 0.94531 0.30615 0.82178 0 1.3159-0.58008 0.49951-0.58545 0.49951-1.5522v-0.22022zm1.9712-0.4082v3.4321h-0.98828v-0.91309q-0.33838 0.54785-0.84326 0.81104-0.50488 0.25781-1.2354 0.25781-0.92383 0-1.4717-0.51562-0.54248-0.521-0.54248-1.3911 0-1.0151 0.67676-1.5308 0.68213-0.51562 2.0303-0.51562h1.3857v-0.09668q0-0.68213-0.45117-1.0527-0.4458-0.37598-1.2568-0.37598-0.51563 0-1.0044 0.12354t-0.93994 0.37061v-0.91309q0.54248-0.20947 1.0527-0.31152 0.51026-0.10742 0.99366-0.10742 1.3052 0 1.9497 0.67676 0.64453 0.67676 0.64453 2.0518z"/>
</g>
<g fill="#fff" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal" aria-label="do1jlr.gitea">
<path d="m97.454 9.189v-3.2549h0.98828v8.3574h-0.98828v-0.90234q-0.31152 0.53711-0.78955 0.80029-0.47266 0.25781-1.1387 0.25781-1.0903 0-1.7778-0.87012-0.68213-0.87012-0.68213-2.2881 0-1.418 0.68213-2.2881 0.6875-0.87012 1.7778-0.87012 0.66602 0 1.1387 0.26318 0.47803 0.25781 0.78955 0.79492zm-3.3677 2.1001q0 1.0903 0.4458 1.7134 0.45117 0.61768 1.2354 0.61768 0.78418 0 1.2354-0.61768 0.45117-0.62305 0.45117-1.7134 0-1.0903-0.45117-1.708-0.45117-0.62305-1.2354-0.62305-0.78418 0-1.2354 0.62305-0.4458 0.61768-0.4458 1.708z"/>
<path d="m102.81 8.9688q-0.79492 0-1.2568 0.62305-0.46192 0.61768-0.46192 1.6973 0 1.0796 0.45655 1.7026 0.46191 0.61768 1.2622 0.61768 0.78955 0 1.2515-0.62305 0.46191-0.62305 0.46191-1.6973 0-1.0688-0.46191-1.6919-0.46192-0.62842-1.2515-0.62842zm0-0.83789q1.2891 0 2.0249 0.83789t0.73584 2.3203q0 1.477-0.73584 2.3203-0.73584 0.83789-2.0249 0.83789-1.2944 0-2.0303-0.83789-0.73047-0.84326-0.73047-2.3203 0-1.4824 0.73047-2.3203 0.73584-0.83789 2.0303-0.83789z"/>
<path d="m107.54 13.378h1.7725v-6.1177l-1.9282 0.38672v-0.98828l1.9175-0.38672h1.085v7.106h1.7725v0.91309h-4.6191z"/>
<path d="m114.21 8.2759h0.98829v6.123q0 1.1494-0.44043 1.665-0.43506 0.51562-1.4072 0.51562h-0.37598v-0.83789h0.26319q0.56396 0 0.76806-0.26318 0.2041-0.25781 0.2041-1.0796zm0-2.3418h0.98829v1.2515h-0.98829z"/>
<path d="m117.26 5.9341h0.98828v8.3574h-0.98828z"/>
<path d="m123.8 9.1997q-0.1665-0.09668-0.36524-0.13965-0.19335-0.04834-0.42968-0.04834-0.83789 0-1.2891 0.54785-0.4458 0.54248-0.4458 1.563v3.1689h-0.99365v-6.0156h0.99365v0.93457q0.31153-0.54785 0.81104-0.81104 0.49951-0.26855 1.2139-0.26855 0.10205 0 0.22558 0.016113 0.12354 0.010742 0.27393 0.037598z"/>
<path d="m123.97 12.927h1.1333v1.3643h-1.1333z"/>
<path d="m131.29 11.214q0-1.0742-0.4458-1.665-0.44043-0.59082-1.2407-0.59082-0.79492 0-1.2407 0.59082-0.44043 0.59082-0.44043 1.665 0 1.0688 0.44043 1.6597 0.4458 0.59082 1.2407 0.59082 0.80029 0 1.2407-0.59082 0.4458-0.59082 0.4458-1.6597zm0.98828 2.3311q0 1.5361-0.68213 2.2827-0.68212 0.75195-2.0894 0.75195-0.521 0-0.98291-0.08057-0.46191-0.0752-0.89697-0.23633v-0.96142q0.43506 0.23633 0.85937 0.34912 0.42432 0.11279 0.86475 0.11279 0.97217 0 1.4556-0.51025 0.4834-0.50488 0.4834-1.5308v-0.48877q-0.30615 0.53174-0.78418 0.79492-0.47802 0.26318-1.144 0.26318-1.1064 0-1.7832-0.84326-0.67676-0.84326-0.67676-2.2344 0-1.3965 0.67676-2.2397 0.67675-0.84326 1.7832-0.84326 0.66602 0 1.144 0.26318 0.47803 0.26318 0.78418 0.79492v-0.91309h0.98828z"/>
<path d="m134.31 8.2759h0.98828v6.0156h-0.98828zm0-2.3418h0.98828v1.2515h-0.98828z"/>
<path d="m138.34 6.5679v1.708h2.0356v0.76807h-2.0356v3.2656q0 0.73584 0.19873 0.94531 0.2041 0.20947 0.82178 0.20947h1.0151v0.82715h-1.0151q-1.144 0-1.5791-0.42432-0.43506-0.42969-0.43506-1.5576v-3.2656h-0.7251v-0.76807h0.7251v-1.708z"/>
<path d="m146.83 11.037v0.4834h-4.544q0.0644 1.0205 0.61231 1.5576 0.55322 0.53174 1.5361 0.53174 0.56933 0 1.1011-0.13965 0.53711-0.13965 1.0635-0.41895v0.93457q-0.53174 0.22559-1.0903 0.34375-0.5586 0.11816-1.1333 0.11816-1.4395 0-2.2827-0.83789-0.83789-0.83789-0.83789-2.2666 0-1.4771 0.79492-2.3418 0.8003-0.87012 2.1538-0.87012 1.2139 0 1.9175 0.78418 0.70899 0.77881 0.70899 2.1216zm-0.98828-0.29004q-0.0108-0.81104-0.45655-1.2944-0.44043-0.4834-1.1709-0.4834-0.82714 0-1.3267 0.46729-0.49414 0.46729-0.56933 1.3159z"/>
<path d="m151.18 11.268q-1.1978 0-1.6597 0.27393-0.46192 0.27393-0.46192 0.93457 0 0.52637 0.34375 0.83789 0.34912 0.30615 0.94531 0.30615 0.82178 0 1.3159-0.58008 0.49951-0.58545 0.49951-1.5522v-0.22022zm1.9712-0.4082v3.4321h-0.98829v-0.91309q-0.33837 0.54785-0.84326 0.81104-0.50488 0.25781-1.2354 0.25781-0.92383 0-1.4717-0.51562-0.54248-0.521-0.54248-1.3911 0-1.0151 0.67676-1.5308 0.68213-0.51562 2.0303-0.51562h1.3857v-0.09668q0-0.68213-0.45117-1.0527-0.4458-0.37598-1.2568-0.37598-0.51563 0-1.0044 0.12354-0.48877 0.12354-0.93994 0.37061v-0.91309q0.54248-0.20947 1.0527-0.31152 0.51026-0.10742 0.99366-0.10742 1.3052 0 1.9497 0.67676 0.64454 0.67676 0.64454 2.0518z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 24 KiB

60
.github/license.svg vendored
View file

@ -1,60 +0,0 @@
<svg width="135.94" height="20.057" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="linearGradient857" x1="88.041" x2="88.041" y1="13.884" y2="4.2596" gradientUnits="userSpaceOnUse">
<stop stop-color="#001a4c" stop-opacity=".50602" offset="0"/>
<stop stop-color="#e4e4e4" stop-opacity="0" offset="1"/>
</linearGradient>
</defs>
<clipPath id="a">
<rect width="102" height="20" rx="3" fill="#fff"/>
</clipPath>
<g>
<path d="m132.56 0h-92.558v20h92.558c1.8715 0 3.3782-1.5067 3.3782-3.3782v-13.244c0-1.8715-1.5067-3.3782-3.3782-3.3782z" fill="#0055d4" style="paint-order:stroke fill markers"/>
<path d="m3.3782 0h46.558v20h-46.558c-1.8715 0-3.3782-1.5067-3.3782-3.3782v-13.244c0-1.8715 1.5067-3.3782 3.3782-3.3782z" fill="#4d4d4d" style="paint-order:stroke fill markers"/>
<path d="m3.3782 0h129.16c1.8715 0 3.3782 1.5067 3.3782 3.3782v13.3c0 1.8715-1.5067 3.3782-3.3782 3.3782h-129.16c-1.8715 0-3.3782-1.5067-3.3782-3.3782v-13.3c0-1.8715 1.5067-3.3782 3.3782-3.3782z" fill="url(#linearGradient857)" style="paint-order:stroke fill markers"/>
</g>
<g dominant-baseline="auto" fill="#000418" fill-opacity=".79132" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" aria-label="BSD 3-Clause">
<path d="m58.104 11.45v2.938h1.7402q0.87549 0 1.2944-0.35986 0.42432-0.36524 0.42432-1.1118 0-0.75195-0.42432-1.1064-0.41894-0.35986-1.2944-0.35986zm0-3.2979v2.417h1.606q0.79492 0 1.1816-0.29541 0.39209-0.30078 0.39209-0.91309 0-0.60693-0.39209-0.90771-0.38672-0.30078-1.1816-0.30078zm-1.085-0.8916h2.7715q1.2407 0 1.9121 0.51562 0.67139 0.51562 0.67139 1.4663 0 0.73584-0.34375 1.1709-0.34375 0.43506-1.0098 0.54248 0.80029 0.17188 1.2407 0.71973 0.4458 0.54248 0.4458 1.3589 0 1.0742-0.73047 1.6597t-2.0786 0.58545h-2.8789z" dominant-baseline="auto" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m69.179 7.5235v1.0581q-0.61768-0.29541-1.1655-0.44043-0.54785-0.14502-1.0581-0.14502-0.88623 0-1.3696 0.34375-0.47803 0.34375-0.47803 0.97754 0 0.53174 0.31689 0.80566 0.32227 0.26856 1.2139 0.43506l0.65527 0.13428q1.2139 0.23096 1.7886 0.81641 0.58008 0.58008 0.58008 1.5576 0 1.1655-0.78418 1.7671-0.77881 0.60156-2.2881 0.60156-0.56934 0-1.2139-0.12891-0.63916-0.12891-1.3267-0.38135v-1.1172q0.66064 0.3706 1.2944 0.55859 0.63379 0.18799 1.2461 0.18799 0.9292 0 1.4341-0.36524 0.50488-0.36523 0.50488-1.042 0-0.59082-0.36523-0.92383-0.35986-0.33301-1.187-0.49951l-0.66064-0.12891q-1.2139-0.2417-1.7563-0.75732-0.54248-0.51562-0.54248-1.4341 0-1.0635 0.74658-1.6758 0.75195-0.6123 2.0679-0.6123 0.56396 0 1.1494 0.10205t1.1978 0.30615z" dominant-baseline="auto" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m72.439 8.1519v6.2358h1.3105q1.6597 0 2.4277-0.75195 0.77344-0.75195 0.77344-2.374 0-1.6113-0.77344-2.3579-0.76807-0.75195-2.4277-0.75195zm-1.085-0.8916h2.229q2.3311 0 3.4214 0.97217 1.0903 0.9668 1.0903 3.0293 0 2.0732-1.0957 3.0454t-3.416 0.97217h-2.229z" dominant-baseline="auto" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m86.705 10.956q0.77881 0.1665 1.2139 0.69287 0.44043 0.52637 0.44043 1.2998 0 1.187-0.81641 1.8369-0.81641 0.6499-2.3203 0.6499-0.50488 0-1.042-0.10205-0.53174-0.09668-1.1011-0.29541v-1.0474q0.45117 0.26318 0.98828 0.39746 0.53711 0.13428 1.1226 0.13428 1.0205 0 1.5522-0.40283 0.53711-0.40283 0.53711-1.1709 0-0.70898-0.49951-1.1064-0.49414-0.40283-1.3804-0.40283h-0.93457v-0.8916h0.97754q0.80029 0 1.2246-0.3169 0.42432-0.32227 0.42432-0.92383 0-0.61768-0.44043-0.94531-0.43506-0.33301-1.2515-0.33301-0.4458 0-0.95606 0.09668t-1.1226 0.30078v-0.9668q0.61768-0.17188 1.1548-0.25781 0.54248-0.085937 1.0205-0.085937 1.2354 0 1.9551 0.56396 0.71973 0.55859 0.71973 1.5146 0 0.66602-0.38135 1.1279-0.38135 0.45654-1.085 0.63379z" dominant-baseline="auto" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m89.777 11.826h2.895v0.88086h-2.895z" dominant-baseline="auto" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m100.29 7.878v1.144q-0.54785-0.51025-1.1709-0.7627-0.61768-0.25244-1.3159-0.25244-1.375 0-2.1055 0.84326-0.73047 0.83789-0.73047 2.4277 0 1.5845 0.73047 2.4277 0.73047 0.83789 2.1055 0.83789 0.69824 0 1.3159-0.25244 0.62305-0.25244 1.1709-0.7627v1.1333q-0.56934 0.38672-1.2085 0.58008-0.63379 0.19336-1.3428 0.19336-1.8208 0-2.8682-1.1118-1.0474-1.1172-1.0474-3.0454 0-1.9336 1.0474-3.0454 1.0474-1.1172 2.8682-1.1172 0.71973 0 1.3535 0.19336 0.63916 0.18799 1.1978 0.56934z" dominant-baseline="auto" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m101.93 6.9219h0.98828v8.3574h-0.98828z" dominant-baseline="auto" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m107.72 12.255q-1.1978 0-1.6597 0.27392-0.46191 0.27393-0.46191 0.93457 0 0.52637 0.34375 0.83789 0.34912 0.30615 0.94531 0.30615 0.82178 0 1.3159-0.58008 0.49951-0.58545 0.49951-1.5522v-0.22021zm1.9712-0.4082v3.4321h-0.98828v-0.91309q-0.33838 0.54785-0.84326 0.81104-0.50488 0.25781-1.2354 0.25781-0.92383 0-1.4717-0.51562-0.54248-0.521-0.54248-1.3911 0-1.0151 0.67676-1.5308 0.68212-0.51562 2.0303-0.51562h1.3857v-0.09668q0-0.68213-0.45117-1.0527-0.4458-0.37598-1.2568-0.37598-0.51562 0-1.0044 0.12354-0.48877 0.12354-0.93994 0.3706v-0.91309q0.54248-0.20947 1.0527-0.31152 0.51026-0.10742 0.99365-0.10742 1.3052 0 1.9497 0.67676 0.64453 0.67676 0.64453 2.0518z" dominant-baseline="auto" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m111.62 12.905v-3.6416h0.98828v3.604q0 0.854 0.33301 1.2837 0.333 0.42432 0.99902 0.42432 0.80029 0 1.2622-0.51025 0.46728-0.51025 0.46728-1.3911v-3.4106h0.98828v6.0156h-0.98828v-0.92383q-0.35986 0.54785-0.83789 0.81641-0.47266 0.26318-1.1011 0.26318-1.0366 0-1.5737-0.64453t-0.53711-1.8853z" dominant-baseline="auto" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m122.53 9.441v0.93457q-0.41895-0.21484-0.87012-0.32227-0.45117-0.10742-0.93457-0.10742-0.73584 0-1.1064 0.22559-0.36524 0.22559-0.36524 0.67676 0 0.34375 0.26318 0.54248 0.26319 0.19336 1.0581 0.3706l0.33838 0.07519q1.0527 0.22559 1.4932 0.63916 0.4458 0.4082 0.4458 1.144 0 0.83789-0.66601 1.3267-0.66065 0.48877-1.8208 0.48877-0.4834 0-1.0098-0.09668-0.52099-0.09131-1.1011-0.2793v-1.0205q0.54785 0.28467 1.0796 0.42969 0.53174 0.13965 1.0527 0.13965 0.69824 0 1.0742-0.23633 0.37598-0.2417 0.37598-0.67676 0-0.40283-0.27393-0.61768-0.26855-0.21484-1.187-0.41357l-0.34375-0.08057q-0.91846-0.19336-1.3267-0.59082-0.4082-0.40283-0.4082-1.1011 0-0.84863 0.60156-1.3105 0.60156-0.46191 1.708-0.46191 0.54785 0 1.0312 0.080566 0.48339 0.080566 0.8916 0.2417z" dominant-baseline="auto" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m129.57 12.024v0.4834h-4.5439q0.0645 1.0205 0.6123 1.5576 0.55322 0.53174 1.5361 0.53174 0.56934 0 1.1011-0.13965 0.53711-0.13965 1.0635-0.41894v0.93457q-0.53173 0.22559-1.0903 0.34375-0.55859 0.11816-1.1333 0.11816-1.4394 0-2.2827-0.83789-0.83789-0.83789-0.83789-2.2666 0-1.4771 0.79492-2.3418 0.80029-0.87012 2.1538-0.87012 1.2139 0 1.9175 0.78418 0.70898 0.77881 0.70898 2.1216zm-0.98828-0.29004q-0.0107-0.81104-0.45654-1.2944-0.44043-0.4834-1.1709-0.4834-0.82715 0-1.3267 0.46729-0.49414 0.46728-0.56934 1.3159z" dominant-baseline="auto" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
</g>
<g fill="#fff" aria-label="BSD 3-Clause">
<path d="m57.575 10.824v2.938h1.7402q0.87549 0 1.2944-0.35986 0.42432-0.36523 0.42432-1.1118 0-0.75195-0.42432-1.1064-0.41894-0.35986-1.2944-0.35986zm0-3.2979v2.417h1.606q0.79492 0 1.1816-0.29541 0.39209-0.30078 0.39209-0.91309 0-0.60693-0.39209-0.90771-0.38672-0.30078-1.1816-0.30078zm-1.085-0.8916h2.7715q1.2407 0 1.9121 0.51562t0.67139 1.4663q0 0.73584-0.34375 1.1709-0.34375 0.43506-1.0098 0.54248 0.80029 0.17188 1.2407 0.71973 0.4458 0.54248 0.4458 1.3589 0 1.0742-0.73047 1.6597t-2.0786 0.58545h-2.8789z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m68.65 6.8976v1.0581q-0.61768-0.29541-1.1655-0.44043-0.54785-0.14502-1.0581-0.14502-0.88623 0-1.3696 0.34375-0.47803 0.34375-0.47803 0.97754 0 0.53174 0.31689 0.80566 0.32227 0.26855 1.2139 0.43506l0.65527 0.13428q1.2139 0.23096 1.7886 0.81641 0.58008 0.58008 0.58008 1.5576 0 1.1655-0.78418 1.7671-0.77881 0.60156-2.2881 0.60156-0.56934 0-1.2139-0.12891-0.63916-0.12891-1.3267-0.38135v-1.1172q0.66064 0.37061 1.2944 0.55859t1.2461 0.18799q0.9292 0 1.4341-0.36523 0.50488-0.36523 0.50488-1.042 0-0.59082-0.36523-0.92383-0.35986-0.33301-1.187-0.49951l-0.66064-0.12891q-1.2139-0.2417-1.7563-0.75732-0.54248-0.51562-0.54248-1.4341 0-1.0635 0.74658-1.6758 0.75195-0.6123 2.0679-0.6123 0.56396 0 1.1494 0.10205 0.58545 0.10205 1.1978 0.30615z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m71.91 7.526v6.2358h1.3105q1.6597 0 2.4277-0.75195 0.77344-0.75195 0.77344-2.374 0-1.6113-0.77344-2.3579-0.76807-0.75195-2.4277-0.75195zm-1.085-0.8916h2.229q2.3311 0 3.4214 0.97217 1.0903 0.9668 1.0903 3.0293 0 2.0732-1.0957 3.0454t-3.416 0.97217h-2.229z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m86.176 10.33q0.77881 0.1665 1.2139 0.69287 0.44043 0.52637 0.44043 1.2998 0 1.187-0.81641 1.8369-0.81641 0.6499-2.3203 0.6499-0.50488 0-1.042-0.10205-0.53174-0.09668-1.1011-0.29541v-1.0474q0.45117 0.26318 0.98828 0.39746 0.53711 0.13428 1.1226 0.13428 1.0205 0 1.5522-0.40283 0.53711-0.40283 0.53711-1.1709 0-0.70898-0.49951-1.1064-0.49414-0.40283-1.3804-0.40283h-0.93457v-0.8916h0.97754q0.80029 0 1.2246-0.31689 0.42432-0.32227 0.42432-0.92383 0-0.61768-0.44043-0.94531-0.43506-0.33301-1.2515-0.33301-0.4458 0-0.95606 0.09668t-1.1226 0.30078v-0.9668q0.61768-0.17188 1.1548-0.25781 0.54248-0.085937 1.0205-0.085937 1.2354 0 1.9551 0.56396 0.71973 0.55859 0.71973 1.5146 0 0.66602-0.38135 1.1279-0.38135 0.45654-1.085 0.63379z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m89.248 11.2h2.895v0.88086h-2.895z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m99.765 7.2521v1.144q-0.54785-0.51025-1.1709-0.7627-0.61768-0.25244-1.3159-0.25244-1.375 0-2.1055 0.84326-0.73047 0.83789-0.73047 2.4277 0 1.5845 0.73047 2.4277 0.73047 0.83789 2.1055 0.83789 0.69824 0 1.3159-0.25244 0.62305-0.25244 1.1709-0.7627v1.1333q-0.56934 0.38672-1.2085 0.58008-0.63379 0.19336-1.3428 0.19336-1.8208 0-2.8682-1.1118-1.0474-1.1172-1.0474-3.0454 0-1.9336 1.0474-3.0454 1.0474-1.1172 2.8682-1.1172 0.71973 0 1.3535 0.19336 0.63916 0.18799 1.1978 0.56934z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m101.4 6.296h0.98828v8.3574h-0.98828z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m107.19 11.63q-1.1978 0-1.6597 0.27393t-0.46191 0.93457q0 0.52637 0.34375 0.83789 0.34912 0.30615 0.94531 0.30615 0.82178 0 1.3159-0.58008 0.49951-0.58545 0.49951-1.5522v-0.22022zm1.9712-0.4082v3.4321h-0.98828v-0.91309q-0.33838 0.54785-0.84326 0.81104-0.50489 0.25781-1.2354 0.25781-0.92383 0-1.4717-0.51562-0.54249-0.521-0.54249-1.3911 0-1.0151 0.67676-1.5308 0.68213-0.51562 2.0303-0.51562h1.3857v-0.09668q0-0.68213-0.45117-1.0527-0.4458-0.37598-1.2568-0.37598-0.51562 0-1.0044 0.12354-0.48877 0.12354-0.93995 0.37061v-0.91309q0.54249-0.20947 1.0527-0.31152 0.51025-0.10742 0.99365-0.10742 1.3052 0 1.9497 0.67676t0.64453 2.0518z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m111.09 12.279v-3.6416h0.98828v3.604q0 0.854 0.33301 1.2837 0.33301 0.42432 0.99903 0.42432 0.80029 0 1.2622-0.51025 0.46729-0.51025 0.46729-1.3911v-3.4106h0.98828v6.0156h-0.98828v-0.92383q-0.35987 0.54785-0.83789 0.81641-0.47266 0.26318-1.1011 0.26318-1.0366 0-1.5737-0.64453-0.53711-0.64453-0.53711-1.8853z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m122 8.8151v0.93457q-0.41894-0.21484-0.87011-0.32227t-0.93457-0.10742q-0.73584 0-1.1064 0.22559-0.36523 0.22559-0.36523 0.67676 0 0.34375 0.26318 0.54248 0.26318 0.19336 1.0581 0.37061l0.33838 0.07519q1.0527 0.22559 1.4932 0.63916 0.4458 0.4082 0.4458 1.144 0 0.83789-0.66602 1.3267-0.66064 0.48877-1.8208 0.48877-0.48339 0-1.0098-0.09668-0.521-0.09131-1.1011-0.2793v-1.0205q0.54786 0.28467 1.0796 0.42969 0.53174 0.13965 1.0527 0.13965 0.69824 0 1.0742-0.23633 0.37597-0.2417 0.37597-0.67676 0-0.40283-0.27392-0.61768-0.26856-0.21484-1.187-0.41358l-0.34375-0.08057q-0.91846-0.19336-1.3267-0.59082-0.40821-0.40283-0.40821-1.1011 0-0.84863 0.60157-1.3105 0.60156-0.46191 1.708-0.46191 0.54785 0 1.0312 0.080566t0.8916 0.2417z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
<path d="m129.04 11.399v0.4834h-4.544q0.0645 1.0205 0.61231 1.5576 0.55322 0.53174 1.5361 0.53174 0.56934 0 1.1011-0.13965 0.5371-0.13965 1.0635-0.41895v0.93457q-0.53174 0.22559-1.0903 0.34375t-1.1333 0.11816q-1.4394 0-2.2827-0.83789-0.83789-0.83789-0.83789-2.2666 0-1.4771 0.79493-2.3418 0.80029-0.87012 2.1538-0.87012 1.2139 0 1.9175 0.78418 0.70899 0.77881 0.70899 2.1216zm-0.98828-0.29004q-0.0107-0.81104-0.45655-1.2944-0.44043-0.4834-1.1709-0.4834-0.82715 0-1.3267 0.46729-0.49414 0.46728-0.56934 1.3159z" style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal"/>
</g>
<g transform="matrix(.1 0 0 .1 3.9475e-7 .1778)" fill="#000418" fill-opacity=".79132" shape-rendering="auto" aria-label="license">
<path d="m71.531 66.426h9.8828v83.574h-9.8828z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m99.763 89.844h9.8828v60.156h-9.8828zm0-23.418h9.8828v12.515h-9.8828z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m171.29 92.153v9.2383c-2.793-1.5397-5.6038-2.6855-8.4326-3.4375-2.793-0.78776-5.6217-1.1816-8.4863-1.1816-6.4095 0-11.387 2.041-14.932 6.123-3.5449 4.0462-5.3174 9.7396-5.3174 17.08 0 7.3405 1.7725 13.052 5.3174 17.134 3.5449 4.0462 8.5221 6.0693 14.932 6.0693 2.8646 0 5.6934-0.37598 8.4863-1.1279 2.8288-0.78776 5.6396-1.9515 8.4326-3.4912v9.1309c-2.7572 1.2891-5.6217 2.2559-8.5938 2.9004-2.9362 0.64453-6.0693 0.9668-9.3994 0.9668-9.0592 0-16.257-2.8467-21.592-8.54s-8.0029-13.374-8.0029-23.042c0-9.8112 2.6856-17.528 8.0566-23.149 5.4069-5.6217 12.801-8.4326 22.183-8.4326 3.0436 0 6.0156 0.32227 8.916 0.9668 2.9004 0.60872 5.7113 1.5397 8.4326 2.793z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m237.6 117.45v4.834h-45.439c0.42969 6.8034 2.4707 11.995 6.123 15.576 3.6882 3.5449 8.8086 5.3174 15.361 5.3174 3.7956 0 7.4658-0.46549 11.011-1.3965 3.5807-0.93099 7.1256-2.3275 10.635-4.1895v9.3457c-3.5449 1.5039-7.1794 2.6497-10.903 3.4375-3.724 0.78776-7.5016 1.1816-11.333 1.1816-9.5964 0-17.205-2.793-22.827-8.3789-5.5859-5.5859-8.3789-13.141-8.3789-22.666 0-9.847 2.6497-17.653 7.9492-23.418 5.3353-5.8008 12.515-8.7012 21.538-8.7012 8.0924 0 14.484 2.6139 19.175 7.8418 4.7266 5.1921 7.0898 12.264 7.0898 21.216zm-9.8828-2.9004c-0.0716-5.4069-1.5934-9.7217-4.5654-12.944-2.9362-3.2227-6.8392-4.834-11.709-4.834-5.5143 0-9.9365 1.5576-13.267 4.6728-3.2943 3.1152-5.1921 7.5016-5.6934 13.159z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m301.49 113.69v36.309h-9.8828v-35.986c0-5.6934-1.11-9.9544-3.3301-12.783-2.22-2.8288-5.5501-4.2432-9.9902-4.2432-5.3353 0-9.5426 1.7008-12.622 5.1025s-4.6191 8.0387-4.6191 13.911v33.999h-9.9365v-60.156h9.9365v9.3457c2.3633-3.6165 5.1384-6.32 8.3252-8.1104 3.2226-1.7904 6.9287-2.6855 11.118-2.6855 6.9108 0 12.139 2.1484 15.684 6.4453 3.5449 4.2611 5.3174 10.545 5.3174 18.853z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m357.23 91.616v9.3457c-2.793-1.4323-5.6934-2.5065-8.7012-3.2227s-6.123-1.0742-9.3457-1.0742c-4.9056 0-8.5938 0.75195-11.064 2.2559-2.4349 1.5039-3.6524 3.7598-3.6524 6.7676 0 2.2917 0.87728 4.0999 2.6318 5.4248 1.7546 1.2891 5.2816 2.5244 10.581 3.7061l3.3838 0.75195c7.0182 1.5039 11.995 3.6344 14.932 6.3916 2.972 2.7214 4.458 6.5348 4.458 11.44 0 5.5859-2.22 10.008-6.6602 13.267-4.4043 3.2585-10.474 4.8877-18.208 4.8877-3.2227 0-6.5886-0.32227-10.098-0.9668-3.4733-0.60873-7.1436-1.5397-11.011-2.793v-10.205c3.6524 1.8978 7.251 3.3301 10.796 4.2969 3.5449 0.93099 7.054 1.3965 10.527 1.3965 4.655 0 8.2357-0.78776 10.742-2.3633 2.5065-1.6113 3.7598-3.8672 3.7598-6.7676 0-2.6856-0.91309-4.7445-2.7393-6.1768-1.7904-1.4323-5.7471-2.8109-11.87-4.1358l-3.4375-0.80566c-6.123-1.2891-10.545-3.2585-13.267-5.9082-2.7214-2.6856-4.082-6.3558-4.082-11.011 0-5.6576 2.0052-10.026 6.0156-13.105 4.0104-3.0794 9.7038-4.6191 17.08-4.6191 3.6524 0 7.0898 0.26856 10.312 0.80566 3.2227 0.53711 6.1947 1.3428 8.916 2.417z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m425.31 117.45v4.834h-45.439c0.42969 6.8034 2.4707 11.995 6.123 15.576 3.6882 3.5449 8.8086 5.3174 15.361 5.3174 3.7956 0 7.4658-0.46549 11.011-1.3965 3.5807-0.93099 7.1256-2.3275 10.635-4.1895v9.3457c-3.5449 1.5039-7.1794 2.6497-10.903 3.4375-3.724 0.78776-7.5016 1.1816-11.333 1.1816-9.5964 0-17.205-2.793-22.827-8.3789-5.5859-5.5859-8.3789-13.141-8.3789-22.666 0-9.847 2.6497-17.653 7.9492-23.418 5.3353-5.8008 12.515-8.7012 21.538-8.7012 8.0924 0 14.484 2.6139 19.175 7.8418 4.7266 5.1921 7.0898 12.264 7.0898 21.216zm-9.8828-2.9004c-0.0716-5.4069-1.5934-9.7217-4.5654-12.944-2.9362-3.2227-6.8392-4.834-11.709-4.834-5.5143 0-9.9365 1.5576-13.267 4.6728-3.2943 3.1152-5.1921 7.5016-5.6934 13.159z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
</g>
<g transform="matrix(.1 0 0 .1 3.9475e-7 .1778)" fill="#fff" shape-rendering="auto" aria-label="license">
<path d="m71.531 56.426h9.8828v83.574h-9.8828z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m99.763 79.844h9.8828v60.156h-9.8828zm0-23.418h9.8828v12.515h-9.8828z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m171.29 82.153v9.2383c-2.793-1.5397-5.6038-2.6855-8.4326-3.4375-2.793-0.78776-5.6217-1.1816-8.4863-1.1816-6.4095 0-11.387 2.041-14.932 6.123-3.5449 4.0462-5.3174 9.7396-5.3174 17.08 0 7.3405 1.7725 13.052 5.3174 17.134 3.5449 4.0462 8.5221 6.0693 14.932 6.0693 2.8646 0 5.6934-0.37598 8.4863-1.1279 2.8288-0.78776 5.6396-1.9515 8.4326-3.4912v9.1309c-2.7572 1.2891-5.6217 2.2559-8.5938 2.9004-2.9362 0.64453-6.0693 0.9668-9.3994 0.9668-9.0592 0-16.257-2.8467-21.592-8.54s-8.0029-13.374-8.0029-23.042c0-9.8112 2.6856-17.528 8.0566-23.149 5.4069-5.6217 12.801-8.4326 22.183-8.4326 3.0436 0 6.0156 0.32227 8.916 0.9668 2.9004 0.60872 5.7113 1.5397 8.4326 2.793z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m237.6 107.45v4.834h-45.439c0.42969 6.8034 2.4707 11.995 6.123 15.576 3.6882 3.5449 8.8086 5.3174 15.361 5.3174 3.7956 0 7.4658-0.46549 11.011-1.3965 3.5807-0.93099 7.1256-2.3275 10.635-4.1895v9.3457c-3.5449 1.5039-7.1794 2.6497-10.903 3.4375-3.724 0.78776-7.5016 1.1816-11.333 1.1816-9.5964 0-17.205-2.793-22.827-8.3789-5.5859-5.5859-8.3789-13.141-8.3789-22.666 0-9.847 2.6497-17.653 7.9492-23.418 5.3353-5.8008 12.515-8.7012 21.538-8.7012 8.0924 0 14.484 2.6139 19.175 7.8418 4.7266 5.1921 7.0898 12.264 7.0898 21.216zm-9.8828-2.9004c-0.0716-5.4069-1.5934-9.7217-4.5654-12.944-2.9362-3.2227-6.8392-4.834-11.709-4.834-5.5143 0-9.9365 1.5576-13.267 4.6729-3.2943 3.1152-5.1921 7.5016-5.6934 13.159z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m301.49 103.69v36.309h-9.8828v-35.986c0-5.6934-1.11-9.9544-3.3301-12.783s-5.5501-4.2432-9.9902-4.2432c-5.3353 0-9.5426 1.7008-12.622 5.1025s-4.6191 8.0387-4.6191 13.911v33.999h-9.9365v-60.156h9.9365v9.3457c2.3633-3.6165 5.1384-6.32 8.3252-8.1104 3.2226-1.7904 6.9287-2.6855 11.118-2.6855 6.9108 0 12.139 2.1484 15.684 6.4453 3.5449 4.2611 5.3174 10.545 5.3174 18.853z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m357.23 81.616v9.3457c-2.793-1.4323-5.6934-2.5065-8.7012-3.2227s-6.123-1.0742-9.3457-1.0742c-4.9056 0-8.5938 0.75195-11.064 2.2559-2.4349 1.5039-3.6524 3.7598-3.6524 6.7676 0 2.2917 0.87728 4.0999 2.6318 5.4248 1.7546 1.2891 5.2816 2.5244 10.581 3.7061l3.3838 0.75195c7.0182 1.5039 11.995 3.6344 14.932 6.3916 2.972 2.7214 4.458 6.5348 4.458 11.44 0 5.5859-2.22 10.008-6.6602 13.267-4.4043 3.2585-10.474 4.8877-18.208 4.8877-3.2227 0-6.5886-0.32227-10.098-0.9668-3.4733-0.60873-7.1436-1.5397-11.011-2.793v-10.205c3.6524 1.8978 7.251 3.3301 10.796 4.2969 3.5449 0.93099 7.054 1.3965 10.527 1.3965 4.655 0 8.2357-0.78776 10.742-2.3633 2.5065-1.6113 3.7598-3.8672 3.7598-6.7676 0-2.6856-0.91309-4.7445-2.7393-6.1768-1.7904-1.4323-5.7471-2.8109-11.87-4.1358l-3.4375-0.80566c-6.123-1.2891-10.545-3.2585-13.267-5.9082-2.7214-2.6856-4.082-6.3558-4.082-11.011 0-5.6576 2.0052-10.026 6.0156-13.105 4.0104-3.0794 9.7038-4.6191 17.08-4.6191 3.6524 0 7.0898 0.26856 10.312 0.80566 3.2227 0.53711 6.1947 1.3428 8.916 2.417z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
<path d="m425.31 107.45v4.834h-45.439c0.42969 6.8034 2.4707 11.995 6.123 15.576 3.6882 3.5449 8.8086 5.3174 15.361 5.3174 3.7956 0 7.4658-0.46549 11.011-1.3965 3.5807-0.93099 7.1256-2.3275 10.635-4.1895v9.3457c-3.5449 1.5039-7.1794 2.6497-10.903 3.4375-3.724 0.78776-7.5016 1.1816-11.333 1.1816-9.5964 0-17.205-2.793-22.827-8.3789-5.5859-5.5859-8.3789-13.141-8.3789-22.666 0-9.847 2.6497-17.653 7.9492-23.418 5.3353-5.8008 12.515-8.7012 21.538-8.7012 8.0924 0 14.484 2.6139 19.175 7.8418 4.7266 5.1921 7.0898 12.264 7.0898 21.216zm-9.8828-2.9004c-0.0716-5.4069-1.5934-9.7217-4.5654-12.944-2.9362-3.2227-6.8392-4.834-11.709-4.834-5.5143 0-9.9365 1.5576-13.267 4.6729-3.2943 3.1152-5.1921 7.5016-5.6934 13.159z" color="#000000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" solid-color="#000000" stop-color="#000000" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;font-variation-settings:normal;inline-size:0;isolation:auto;mix-blend-mode:normal;shape-margin:0;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 33 KiB

View file

@ -11,13 +11,13 @@ jobs:
steps: steps:
- name: 'checkout git repo' - name: 'checkout git repo'
uses: actions/checkout@v3 uses: actions/checkout@v4.1.1
with: with:
lfs: true
submodules: false
fetch-depth: 0 fetch-depth: 0
- name: 'Lint Ansible Playbook' - name: Run ansible-lint
uses: ansible/ansible-lint-action@v6 uses: ansible-actions/ansible-lint-action@v1.0.2
with: with:
path: "." target: "./"
collections_yml: 'requirements.yml'
python_dependency: 'jmespath'

View file

@ -1,22 +1,25 @@
--- ---
name: Galaxy release name: Galaxy-NG Roles Import
# yamllint disable-line rule:truthy # yamllint disable-line rule:truthy
on: on:
push:
branches: ['main']
release: release:
types: ['created'] types: ['created']
jobs: jobs:
build: build:
name: Galaxy Role Importer
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps:
- name: 'checkout git repo'
uses: actions/checkout@v3
- name: 'release on galaxy' steps:
uses: robertdebock/galaxy-action@1.2.1 - name: 'Checkout git repo'
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: 'Release on galaxy'
uses: ansible-actions/ansible-galaxy-action@v1.2.0
with: with:
galaxy_api_key: ${{ secrets.galaxy_api_key }} galaxy_api_key: ${{ secrets.galaxy_api_key }}
git_branch: 'main' galaxy_version: 'main'

22
.github/workflows/j2lint-check.yml vendored Normal file
View file

@ -0,0 +1,22 @@
---
name: Jinja2 Linting check
# yamllint disable-line rule:truthy
on: [push, pull_request]
jobs:
build:
name: Jinja2 Linting
runs-on: ubuntu-latest
steps:
- name: 'checkout git repo'
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Run j2lint
uses: ansible-actions/j2lint-action@v0.0.1
with:
target: "./"

22
.github/workflows/yamllint-check.yml vendored Normal file
View file

@ -0,0 +1,22 @@
---
name: Yamllint check
# yamllint disable-line rule:truthy
on: [push, pull_request]
jobs:
build:
name: Yamllint
runs-on: ubuntu-latest
steps:
- name: 'checkout git repo'
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Run yamllint
uses: ansible-actions/yamllint-action@v0.0.1
with:
target: "./"

View file

@ -1,23 +0,0 @@
---
name: 'Yamllint GitHub Actions'
# yamllint disable-line rule:truthy
on:
push:
branches: '*'
pull_request:
branches: '*'
jobs:
yamllint:
name: 'Yamllint'
runs-on: ubuntu-latest
steps:
- name: 'checkout git repo'
uses: actions/checkout@v3
- name: 'Yamllint'
uses: karancode/yamllint-github-action@v2.1.1
with:
yamllint_file_or_dir: '.'
yamllint_config_filepath: './.yamllint'

View file

@ -1,4 +1,4 @@
[![Ansible Galaxy](https://ansible.l3d.space/svg/l3d.gitea.svg)](https://galaxy.ansible.com/l3d/gitea) [![Ansible Galaxy](https://ansible.l3d.space/svg/l3d.gitea.svg)](https://galaxy.ansible.com/ui/standalone/roles/roles-ansible/gitea/)
[![BSD-3 Clause](https://ansible.l3d.space/svg/l3d.gitea_license.svg)](LICENSE) [![BSD-3 Clause](https://ansible.l3d.space/svg/l3d.gitea_license.svg)](LICENSE)
[![Maintainance](https://ansible.l3d.space/svg/l3d.gitea_maintainance.svg)](https://ansible.l3d.space/#l3d.gitea) [![Maintainance](https://ansible.l3d.space/svg/l3d.gitea_maintainance.svg)](https://ansible.l3d.space/#l3d.gitea)
@ -10,12 +10,18 @@ This role installs and manages [gitea](https://gitea.io) or [forgejo](https://fo
[Source code forgejo](https://codeberg.org/forgejo/forgejo). [Source code forgejo](https://codeberg.org/forgejo/forgejo).
This role is also Part of the Ansible-Collection [l3d.git](https://galaxy.ansible.com/l3d/git). [![l3d.git](https://ansible.l3d.space/svg/l3d.git_ansible-collection_collection.svg)](https://github.com/roles-ansible/ansible_collection_git.git). This role is also Part of the Ansible-Collection [l3d.git](https://galaxy.ansible.com/l3d/git). [![l3d.git](https://ansible.l3d.space/svg/l3d.git_ansible-collection_collection.svg)](https://github.com/roles-ansible/ansible_collection_git.git).
## Mirrors
The role is mirrored to:
+ Github: [github.com/roles-ansible/ansible_role_gitea](https://github.com/roles-ansible/ansible_role_gitea.git)
+ Gitea: [git.l3d.ch/ansible/ansible_role_gitea](https://git.l3d.ch/ansible/ansible_role_gitea.git)
More about it at [ansible.l3d.space](https://ansible.l3d.space/#l3d.gitea)
## Sample Usage in a playbook ## Sample Usage in a playbook
The following code has been tested with the latest Debian Stable, it should work on Ubuntu and RedHat as well. The following code has been tested with the latest Debian Stable, it should work on Ubuntu and RedHat as well.
```yaml ```yaml
# ansible-galaxy install l3d.gitea # ansible-galaxy role install l3d.gitea
- name: "Install gitea" - name: "Install gitea"
hosts: git.example.com hosts: git.example.com
@ -33,7 +39,7 @@ The following code has been tested with the latest Debian Stable, it should work
Variables Variables
----------- -----------
Here is a deeper insight into the variables of this gitea role. For the exact function of some variables and the possibility to add more options we recommend a look at this [config cheat sheet](https://docs.gitea.io/en-us/config-cheat-sheet/). Here is a deeper insight into the variables of this gitea role. For the exact function of some variables and the possibility to add more options we recommend a look at this [config cheat sheet](https://docs.gitea.com/administration/config-cheat-sheet).
### Chose between gitea and forgejo ### Chose between gitea and forgejo
There is a fork of gitea called forgejo. Why? Read the [forgejo FAQ](https://forgejo.org/faq/). There is a fork of gitea called forgejo. Why? Read the [forgejo FAQ](https://forgejo.org/faq/).
@ -46,6 +52,11 @@ You have the option to choose between [gitea](https://gitea.io) and [forgejo](ht
To determine which gitea version to install, you can choose between two variants. To determine which gitea version to install, you can choose between two variants.
Either you define exactly which release you install. Or you use the option ``latest`` to always install the latest release from the [gitea releases](https://github.com/go-gitea/gitea/releases/latest). Either you define exactly which release you install. Or you use the option ``latest`` to always install the latest release from the [gitea releases](https://github.com/go-gitea/gitea/releases/latest).
### Forgejo update mechanism
It is advisable to define exactly which Forgejo release you want to install. See [Forgejo releases](https://forgejo.org/releases/) for the correct value to use in `gitea_version` eg `v1.21.5`.
This is because the Forgejo project maintains both `stable` and `old stable` releases and the `latest` tag will refer to the *most recent release* regardless of whether it is `stable` or `old stable`. This can lead to a situation where `latest` refers to an *older release* than the version you have installed.
### gitea update ### gitea update
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
@ -71,7 +82,7 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_shell` | `/bin/false` | UNIX shell used by gitea. Set it to `/bin/bash` if you don't use the gitea built-in ssh server. | | `gitea_shell` | `/bin/false` | UNIX shell used by gitea. Set it to `/bin/bash` if you don't use the gitea built-in ssh server. |
| `gitea_systemd_cap_net_bind_service` | `false` | Adds `AmbientCapabilities=CAP_NET_BIND_SERVICE` to systemd service file | | `gitea_systemd_cap_net_bind_service` | `false` | Adds `AmbientCapabilities=CAP_NET_BIND_SERVICE` to systemd service file |
### Overall ([DEFAULT](https://docs.gitea.io/en-us/config-cheat-sheet/#overall-default)) ### Overall ([DEFAULT](https://docs.gitea.com/administration/config-cheat-sheet#overall-default))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_app_name` | `Gitea` | Displayed application name | | `gitea_app_name` | `Gitea` | Displayed application name |
@ -79,7 +90,7 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_run_mode`| `prod`| Application run mode, affects performance and debugging. Either “dev”, “prod” or “test”. | | `gitea_run_mode`| `prod`| Application run mode, affects performance and debugging. Either “dev”, “prod” or “test”. |
| `gitea_fqdn` | `localhost` | Base FQDN for the installation, used as default for other variables. Set it to the FQDN where you can reach your gitea server | | `gitea_fqdn` | `localhost` | Base FQDN for the installation, used as default for other variables. Set it to the FQDN where you can reach your gitea server |
### Repository ([repository](https://docs.gitea.io/en-us/config-cheat-sheet/#repository-repository)) ### Repository ([repository](https://docs.gitea.com/administration/config-cheat-sheet#repository-repository))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_default_branch` | `main` | Default branch name of all repositories. | | `gitea_default_branch` | `main` | Default branch name of all repositories. |
@ -95,14 +106,14 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_repository_root` | `{{ gitea_home }}/repos` | Root path for storing all repository data. It must be an absolute path. | | `gitea_repository_root` | `{{ gitea_home }}/repos` | Root path for storing all repository data. It must be an absolute path. |
| `gitea_repository_extra_config` | | you can use this variable to pass additional config parameters in the `[repository]` section of the config. | | `gitea_repository_extra_config` | | you can use this variable to pass additional config parameters in the `[repository]` section of the config. |
### Repository - Upload ([repository.upload](https://docs.gitea.io/en-us/administration/config-cheat-sheet/#repository---upload-repositoryupload)) ### Repository - Upload ([repository.upload](https://docs.gitea.io/en-us/administration/config-cheat-sheet#repository---upload-repositoryupload))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_repository_upload_enabled` | `true` | Whether repository file uploads are enabled | | `gitea_repository_upload_enabled` | `true` | Whether repository file uploads are enabled |
| `gitea_repository_upload_max_size` | `4` | Max size of each file in megabytes. | | `gitea_repository_upload_max_size` | `4` | Max size of each file in megabytes. |
| `gitea_repository_upload_extra_config` | | you can use this variable to pass additional config parameters in the `[repository.upload]` section of the config. | | `gitea_repository_upload_extra_config` | | you can use this variable to pass additional config parameters in the `[repository.upload]` section of the config. |
### Repository - Signing ([repository.signing](https://docs.gitea.io/en-us/config-cheat-sheet/#repository---signing-repositorysigning)) ### Repository - Signing ([repository.signing](https://docs.gitea.com/administration/config-cheat-sheet#repository---signing-repositorysigning))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_enable_repo_signing_options` | `false` | Allow to configure repo signing options | | `gitea_enable_repo_signing_options` | `false` | Allow to configure repo signing options |
@ -116,7 +127,7 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_repo_merges` | *(see defaults)* | Sign merges. | | `gitea_repo_merges` | *(see defaults)* | Sign merges. |
| `gitea_enable_repo_signing_extra` | | you can use this variable to pass additional config parameters in the `[repository.signing]` section of the config. | | `gitea_enable_repo_signing_extra` | | you can use this variable to pass additional config parameters in the `[repository.signing]` section of the config. |
### CORS ([cors](https://docs.gitea.io/en-us/config-cheat-sheet/#cors-cors)) ### CORS ([cors](https://docs.gitea.com/administration/config-cheat-sheet#cors-cors))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_enable_cors` | `false` | enable cors headers (disabled by default) | | `gitea_enable_cors` | `false` | enable cors headers (disabled by default) |
@ -130,7 +141,7 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_cors_x_frame_options` | `SAMEORIGIN` | Set the `X-Frame-Options` header value. | | `gitea_cors_x_frame_options` | `SAMEORIGIN` | Set the `X-Frame-Options` header value. |
| `gitea_cors_extra` | | you can use this variable to pass additional config parameters in the `[cors]` section of the config. | | `gitea_cors_extra` | | you can use this variable to pass additional config parameters in the `[cors]` section of the config. |
### UI ([ui](https://docs.gitea.io/en-us/config-cheat-sheet/#ui-ui)) ### UI ([ui](https://docs.gitea.com/administration/config-cheat-sheet#ui-ui))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_show_user_email` | `false` | Do you want to display email addresses ? (true/false) | | `gitea_show_user_email` | `false` | Do you want to display email addresses ? (true/false) |
@ -138,7 +149,7 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_themes` | `auto,gitea,arc-green` | List of enabled themes | | `gitea_themes` | `auto,gitea,arc-green` | List of enabled themes |
| `gitea_ui_extra_config` | | you can use this variable to pass additional config parameters in the `[ui]` section of the config. | | `gitea_ui_extra_config` | | you can use this variable to pass additional config parameters in the `[ui]` section of the config. |
### UI - Meta ([ui.meta](https://docs.gitea.io/en-us/config-cheat-sheet/#ui---metadata-uimeta)) ### UI - Meta ([ui.meta](https://docs.gitea.com/administration/config-cheat-sheet#ui---metadata-uimeta))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_ui_author` | *(see defaults)* | Author meta tag of the homepage. | | `gitea_ui_author` | *(see defaults)* | Author meta tag of the homepage. |
@ -146,7 +157,7 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_ui_keywords` | *(see defaults)* | Keywords meta tag of the homepage | | `gitea_ui_keywords` | *(see defaults)* | Keywords meta tag of the homepage |
| `gitea_ui_meta_extra_config` | | you can use this variable to pass additional config parameters in the `[ui.meta]` section of the config. | | `gitea_ui_meta_extra_config` | | you can use this variable to pass additional config parameters in the `[ui.meta]` section of the config. |
### Server ([server](https://docs.gitea.io/en-us/config-cheat-sheet/#server-server)) ### Server ([server](https://docs.gitea.com/administration/config-cheat-sheet#server-server))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_protocol`| `http` | Listening protocol [http, https, fcgi, unix, fcgi+unix] | | `gitea_protocol`| `http` | Listening protocol [http, https, fcgi, unix, fcgi+unix] |
@ -175,7 +186,7 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_acme_ca_root` | | The CAs root certificate. If left empty, it defaults to using the systems trust chain. | | `gitea_acme_ca_root` | | The CAs root certificate. If left empty, it defaults to using the systems trust chain. |
| `gitea_server_extra_config` | | you can use this variable to pass additional config parameters in the `[server]` section of the config. | | `gitea_server_extra_config` | | you can use this variable to pass additional config parameters in the `[server]` section of the config. |
### Database ([database](https://docs.gitea.io/en-us/config-cheat-sheet/#database-database)) ### Database ([database](https://docs.gitea.com/administration/config-cheat-sheet#database-database))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_db_type` | `sqlite3` | The database type in use `[mysql, postgres, mssql, sqlite3]`. | | `gitea_db_type` | `sqlite3` | The database type in use `[mysql, postgres, mssql, sqlite3]`. |
@ -183,12 +194,12 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_db_name` | `root` | Database name | | `gitea_db_name` | `root` | Database name |
| `gitea_db_user` | `gitea` | Database username | | `gitea_db_user` | `gitea` | Database username |
| `gitea_db_password` | `lel` | Database password. **PLEASE CHANGE** | | `gitea_db_password` | `lel` | Database password. **PLEASE CHANGE** |
| `gitea_db_ssl` | `disable` | Configure SSL only if your database type supports it. Have a look into the [config-cheat-sheet](https://docs.gitea.io/en-us/config-cheat-sheet/#database-database) for more detailed information | | `gitea_db_ssl` | `disable` | Configure SSL only if your database type supports it. Have a look into the [config-cheat-sheet](https://docs.gitea.com/administration/config-cheat-sheet#database-database) for more detailed information |
| `gitea_db_path` | `{{ gitea_home }}/data/gitea.db` | DB path, if you use `sqlite3`. | | `gitea_db_path` | `{{ gitea_home }}/data/gitea.db` | DB path, if you use `sqlite3`. |
| `gitea_db_log_sql` | `false` | Log the executed SQL. | | `gitea_db_log_sql` | `false` | Log the executed SQL. |
| `gitea_database_extra_config` | | you can use this variable to pass additional config parameters in the `[database]` section of the config. | | `gitea_database_extra_config` | | you can use this variable to pass additional config parameters in the `[database]` section of the config. |
### Indexer ([indexer](https://docs.gitea.io/en-us/config-cheat-sheet/#indexer-indexer)) ### Indexer ([indexer](https://docs.gitea.com/administration/config-cheat-sheet#indexer-indexer))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_repo_indexer_enabled` | `false` | Enables code search *(uses a lot of disk space, about 6 times more than the repository size).* | | `gitea_repo_indexer_enabled` | `false` | Enables code search *(uses a lot of disk space, about 6 times more than the repository size).* |
@ -199,7 +210,7 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_indexer_extra_config` | | you can use this variable to pass additional config parameters in the `[indexer]` section of the config. | | `gitea_indexer_extra_config` | | you can use this variable to pass additional config parameters in the `[indexer]` section of the config. |
| `gitea_queue_issue_indexer_extra_config` | | | you can use this variable to pass additional config parameters in the `[queue.issue_indexer]` section of the config. | | `gitea_queue_issue_indexer_extra_config` | | | you can use this variable to pass additional config parameters in the `[queue.issue_indexer]` section of the config. |
### Security ([security](https://docs.gitea.io/en-us/config-cheat-sheet/#security-security)) ### Security ([security](https://docs.gitea.com/administration/config-cheat-sheet#security-security))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_secret_key` | | Global secret key. Will be autogenerated if not defined. Should be unique. | | `gitea_secret_key` | | Global secret key. Will be autogenerated if not defined. Should be unique. |
@ -209,7 +220,7 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_password_check_pwn` | `false` | Check [HaveIBeenPwned](https://haveibeenpwned.com/Passwords) to see if a password has been exposed. | | `gitea_password_check_pwn` | `false` | Check [HaveIBeenPwned](https://haveibeenpwned.com/Passwords) to see if a password has been exposed. |
| `gitea_security_extra_config` | | you can use this variable to pass additional config parameters in the `[security]` section of the config. | | `gitea_security_extra_config` | | you can use this variable to pass additional config parameters in the `[security]` section of the config. |
### Service ([service](https://docs.gitea.io/en-us/config-cheat-sheet/#service-service)) ### Service ([service](https://docs.gitea.com/administration/config-cheat-sheet#service-service))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_disable_registration` | `false` | Do you want to disable user registration? (true/false) | | `gitea_disable_registration` | `false` | Do you want to disable user registration? (true/false) |
@ -221,9 +232,19 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_only_allow_external_registration` | `false` | Set to true to force registration only using third-party services (true/false) | | `gitea_only_allow_external_registration` | `false` | Set to true to force registration only using third-party services (true/false) |
| `gitea_enable_notify_mail` | `false` | Enable this to send e-mail to watchers of a repository when something happens, like creating issues (true/false) | | `gitea_enable_notify_mail` | `false` | Enable this to send e-mail to watchers of a repository when something happens, like creating issues (true/false) |
| `gitea_auto_watch_new_repos` | `true` | Enable this to let all organisation users watch new repos when they are created (true/false) | | `gitea_auto_watch_new_repos` | `true` | Enable this to let all organisation users watch new repos when they are created (true/false) |
| `gitea_autowatch_on_change` | `true` | Enable this to make users watch a repository after their first commit to it (true/false) |
| `gitea_register_manual_confirm` | `false` | Enable this to manually confirm new registrations. Requires REGISTER_EMAIL_CONFIRM to be disabled. |
| `gitea_default_allow_create_organization` | `false` | Allow new users to create organizations by default (true/false) |
| `gitea_email_domain_allowlist` | | If non-empty, comma separated list of domain names that can only be used to register on this instance, wildcard is supported. |
| `gitea_default_user_visibility` | `public` | Set default visibility mode for users, either "public", "limited" or "private". |
| `gitea_default_org_visibility` | `public` | Set default visibility mode for organisations, either "public", "limited" or "private". |
| `gitea_allow_only_internal_registration` | `false` | Set to true to force registration only via Gitea. |
| `gitea_allow_only_external_registration` | `false` | Set to true to force registration only using third-party services. |
| `gitea_show_milestones_dashboard_page` | `true` | Enable this to show the milestones dashboard page - a view of all the user's milestones |
| `gitea_default_user_is_restricted` | `false` | Give new users restricted permissions by default (true/false) |
| `gitea_service_extra_config` | | you can use this variable to pass additional config parameters in the `[service]` section of the config. | | `gitea_service_extra_config` | | you can use this variable to pass additional config parameters in the `[service]` section of the config. |
### Mailer ([mailer](https://docs.gitea.io/en-us/config-cheat-sheet/#mailer-mailer)) ### Mailer ([mailer](https://docs.gitea.com/administration/config-cheat-sheet#mailer-mailer))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_mailer_enabled` | `false` | Whether to enable the mailer. | | `gitea_mailer_enabled` | `false` | Whether to enable the mailer. |
@ -242,18 +263,18 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_mailer_send_as_plaintext` | `false` | Send mails only in plain text, without HTML alternative. | | `gitea_mailer_send_as_plaintext` | `false` | Send mails only in plain text, without HTML alternative. |
| `gitea_mailer_extra_config` | | you can use this variable to pass additional config parameters in the `[mailer]` section of the config. | | `gitea_mailer_extra_config` | | you can use this variable to pass additional config parameters in the `[mailer]` section of the config. |
### Session ([session](https://docs.gitea.io/en-us/config-cheat-sheet/#session-session)) ### Session ([session](https://docs.gitea.com/administration/config-cheat-sheet#session-session))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_session_provider` | `file` | Session engine provider | | `gitea_session_provider` | `file` | Session engine provider |
| `gitea_session_extra_config` | | you can use this variable to pass additional config parameters in the `[session]` section of the config. | | `gitea_session_extra_config` | | you can use this variable to pass additional config parameters in the `[session]` section of the config. |
### Picture ([picture](https://docs.gitea.io/en-us/config-cheat-sheet/#picture-picture)) ### Picture ([picture](https://docs.gitea.com/administration/config-cheat-sheet#picture-picture))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_picture_extra_config` | | you can use this variable to pass additional config parameters in the `[picture]` section of the config. | | `gitea_picture_extra_config` | | you can use this variable to pass additional config parameters in the `[picture]` section of the config. |
### Issue and pull request attachments ([attachment](https://docs.gitea.io/en-us/config-cheat-sheet/#issue-and-pull-request-attachments-attachment)) ### Issue and pull request attachments ([attachment](https://docs.gitea.com/administration/config-cheat-sheet#issue-and-pull-request-attachments-attachment))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `attachment_enabled` | `true` | Whether issue and pull request attachments are enabled. | | `attachment_enabled` | `true` | Whether issue and pull request attachments are enabled. |
@ -261,41 +282,41 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_attachment_max_size` | `4` | Maximum size (MB). | | `gitea_attachment_max_size` | `4` | Maximum size (MB). |
| `gitea_attachment_extra_config` | | you can use this variable to pass additional config parameters in the `[attachment]` section of the config. | | `gitea_attachment_extra_config` | | you can use this variable to pass additional config parameters in the `[attachment]` section of the config. |
### Log ([log](https://docs.gitea.io/en-us/config-cheat-sheet/#log-log)) ### Log ([log](https://docs.gitea.com/administration/config-cheat-sheet#log-log))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_log_systemd` | `false` | Disable logging into `file`, use systemd-journald | | `gitea_log_systemd` | `false` | Disable logging into `file`, use systemd-journald |
| `gitea_log_level` | `Warn` | General log level. `[Trace, Debug, Info, Warn, Error, Critical, Fatal, None]` | | `gitea_log_level` | `Warn` | General log level. `[Trace, Debug, Info, Warn, Error, Critical, Fatal, None]` |
| `gitea_log_extra_config` | | you can use this variable to pass additional config parameters in the `[log]` section of the config. | | `gitea_log_extra_config` | | you can use this variable to pass additional config parameters in the `[log]` section of the config. |
### Metrics ([metrics](https://docs.gitea.io/en-us/config-cheat-sheet/#metrics-metrics)) ### Metrics ([metrics](https://docs.gitea.com/administration/config-cheat-sheet#metrics-metrics))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_metrics_enabled`| `false` | Enable the metrics endpoint | | `gitea_metrics_enabled`| `false` | Enable the metrics endpoint |
| `gitea_metrics_token`| | Bearer token for the Prometheus scrape job | | `gitea_metrics_token`| | Bearer token for the Prometheus scrape job |
| `gitea_metrics_extra` | | you can use this variable to pass additional config parameters in the `[metrics]` section of the config. | | `gitea_metrics_extra` | | you can use this variable to pass additional config parameters in the `[metrics]` section of the config. |
### OAuth2 ([oauth2](https://docs.gitea.io/en-us/config-cheat-sheet/#oauth2-oauth2)) ### OAuth2 ([oauth2](https://docs.gitea.com/administration/config-cheat-sheet#oauth2-oauth2))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_oauth2_enabled` | `true` | Enable the Oauth2 provider (true/false) | | `gitea_oauth2_enabled` | `true` | Enable the Oauth2 provider (true/false) |
| `gitea_oauth2_jwt_secret` | | Oauth2 JWT secret. Can be generated with ``gitea generate secret JWT_SECRET``. Will be autogenerated if not defined. | | `gitea_oauth2_jwt_secret` | | Oauth2 JWT secret. Can be generated with ``gitea generate secret JWT_SECRET``. Will be autogenerated if not defined. |
| `gitea_oauth2_extra_config` | | you can use this variable to pass additional config parameters in the `[oauth2]` section of the config. | | `gitea_oauth2_extra_config` | | you can use this variable to pass additional config parameters in the `[oauth2]` section of the config. |
### Federation ([federation](https://docs.gitea.io/en-us/config-cheat-sheet/#federation-federation)) ### Federation ([federation](https://docs.gitea.com/administration/config-cheat-sheet#federation-federation))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_federation_enabled` | `false` | Enable/Disable federation capabilities | | `gitea_federation_enabled` | `false` | Enable/Disable federation capabilities |
| `gitea_federation_share_user_stats` | `false` | Enable/Disable user statistics for nodeinfo if federation is enabled | | `gitea_federation_share_user_stats` | `false` | Enable/Disable user statistics for nodeinfo if federation is enabled |
| `gitea_federation_extra` | | you can use this variable to pass additional config parameters in the `[federation]` section of the config. | | `gitea_federation_extra` | | you can use this variable to pass additional config parameters in the `[federation]` section of the config. |
### Packages ([packages](https://docs.gitea.io/en-us/config-cheat-sheet/#packages-packages)) ### Packages ([packages](https://docs.gitea.com/administration/config-cheat-sheet#packages-packages))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_packages_enabled` | `true` | Enable/Disable package registry capabilities | | `gitea_packages_enabled` | `true` | Enable/Disable package registry capabilities |
| `gitea_packages_extra` | |you can use this variable to pass additional config parameters in the `[packages]` section of the config. | | `gitea_packages_extra` | |you can use this variable to pass additional config parameters in the `[packages]` section of the config. |
### LFS ([lfs](https://docs.gitea.io/en-us/config-cheat-sheet/#lfs-lfs)) ### LFS ([lfs](https://docs.gitea.com/administration/config-cheat-sheet#lfs-lfs))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_lfs_storage_type` | `local` | Storage type for lfs | | `gitea_lfs_storage_type` | `local` | Storage type for lfs |
@ -303,14 +324,14 @@ Either you define exactly which release you install. Or you use the option ``lat
| `gitea_lfs_content_path` | `{{ gitea_home }}/data/lfs` | Where to store LFS files | | `gitea_lfs_content_path` | `{{ gitea_home }}/data/lfs` | Where to store LFS files |
| `gitea_lfs_extra` | | you can use this variable to pass additional config parameters in the `[lfs]` section of the config. | | `gitea_lfs_extra` | | you can use this variable to pass additional config parameters in the `[lfs]` section of the config. |
### Actions ([actions](https://docs.gitea.io/en-us/config-cheat-sheet/#actions-actions)) ### Actions ([actions](https://docs.gitea.com/administration/config-cheat-sheet#actions-actions))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_actions_enabled` | `false` | Enable/Disable actions capabilities globaly. You may want to add `repo.actions` to `gitea_default_repo_units` to enable actions on all new repositories | | `gitea_actions_enabled` | `false` | Enable/Disable actions capabilities globaly. You may want to add `repo.actions` to `gitea_default_repo_units` to enable actions on all new repositories |
| `gitea_actions_default_actions_url` | `https://gitea.com/` | Default address to get action plugins, e.g. the default value means downloading from `https://gitea.com/actions/checkout` for `uses: actions/checkout@v3` | | `gitea_actions_default_actions_url` | `https://gitea.com/` | Default address to get action plugins, e.g. the default value means downloading from `https://gitea.com/actions/checkout` for `uses: actions/checkout@v3` |
| `gitea_actions_extra` | | you can use this variable to pass additional config parameters in the `[actions]` section of the config. | | `gitea_actions_extra` | | you can use this variable to pass additional config parameters in the `[actions]` section of the config. |
### Other ([other](https://docs.gitea.io/en-us/config-cheat-sheet/#other-other)) ### Other ([other](https://docs.gitea.com/administration/config-cheat-sheet#other-other))
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_other_show_footer_version` | `true` | Show Gitea and Go version information in the footer. | | `gitea_other_show_footer_version` | `true` | Show Gitea and Go version information in the footer. |
@ -321,7 +342,7 @@ Either you define exactly which release you install. Or you use the option ``lat
### additional gitea config ### additional gitea config
| variable name | default value | description | | variable name | default value | description |
| ------------- | ------------- | ----------- | | ------------- | ------------- | ----------- |
| `gitea_extra_config` | | Additional gitea configuration. Have a look at the [config-cheat-sheet](https://docs.gitea.io/en-us/config-cheat-sheet/) before using it! | | `gitea_extra_config` | | Additional gitea configuration. Have a look at the [config-cheat-sheet](https://docs.gitea.com/administration/config-cheat-sheet) before using it! |
### Fail2Ban configuration ### Fail2Ban configuration
@ -375,11 +396,10 @@ This role uses the ``ansible.builtin`` and ``community.general`` ansible Collect
### Galaxy Collections ### Galaxy Collections
+ community.general + community.general
### Example requirements Installation ### Example requirements Installation
``` ```
ansible-galaxy install community.general ansible-galaxy collection install --update --role-file requirements.yml
pip3 install jmespath pip3 install --update jmespath
``` ```
## Contribute ## Contribute
@ -388,14 +408,5 @@ Mastodon [@l3d@chaos.social](https://chaos.social/@l3d).
I'll be happy to fix any issues you raise, or even better, review your pull requests :) I'll be happy to fix any issues you raise, or even better, review your pull requests :)
## Testing
There are some tests that will validate the linting. A good test CI pipeline that works with the systemd commands used is still needed.
| test status | Github Marketplace |
| :--------- | :---------------- |
| [![Galaxy release](https://github.com/roles-ansible/ansible_role_gitea/actions/workflows/galaxy.yml/badge.svg)](https://github.com/roles-ansible/ansible_role_gitea/actions/workflows/galaxy.yml) | [publish-ansible-role-to-galaxy](https://github.com/marketplace/actions/publish-ansible-role-to-galaxy) |
| [![Yamllint GitHub Actions](https://github.com/roles-ansible/ansible_role_gitea/actions/workflows/yamllint.yaml/badge.svg)](https://github.com/roles-ansible/ansible_role_gitea/actions/workflows/yamllint.yaml) | [yamllint-github-action](https://github.com/marketplace/actions/yamllint-github-action) |
| [![Ansible Lint check](https://github.com/roles-ansible/ansible_role_gitea/actions/workflows/ansible-linting-check.yml/badge.svg)](https://github.com/roles-ansible/ansible_role_gitea/actions/workflows/ansible-linting-check.yml) | [ansible-lint action](https://github.com/marketplace/actions/ansible-lint)
## History of this role ## History of this role
this ansible role was originally developed on [github.com/thomas-maurice/ansible-role-gitea](https://github.com/thomas-maurice/ansible-role-gitea.git). Since the role there has some problems like default values for the location of the gitea repositories and the merging of pull requests usually takes several months, a fork of the role was created that offers the same. Only tidier and with the claim to react faster to issues and pull requests. It is now Part of the [l3d.git](https://galaxy.ansible.com/l3d/git) Collection too. this ansible role was originally developed on [github.com/thomas-maurice/ansible-role-gitea](https://github.com/thomas-maurice/ansible-role-gitea.git). Since the role there has some problems like default values for the location of the gitea repositories and the merging of pull requests usually takes several months, a fork of the role was created that offers the same. Only tidier and with the claim to react faster to issues and pull requests. It is now Part of the [l3d.git](https://galaxy.ansible.com/l3d/git) Collection too.

View file

@ -156,6 +156,7 @@ gitea_security_extra_config: ''
# -> https://docs.gitea.io/en-us/config-cheat-sheet/#service-service # -> https://docs.gitea.io/en-us/config-cheat-sheet/#service-service
gitea_disable_registration: false gitea_disable_registration: false
gitea_register_email_confirm: false gitea_register_email_confirm: false
gitea_register_manual_confirm: false
gitea_require_signin: true gitea_require_signin: true
gitea_default_keep_mail_private: true gitea_default_keep_mail_private: true
gitea_enable_captcha: true gitea_enable_captcha: true
@ -163,6 +164,15 @@ gitea_show_registration_button: true
gitea_only_allow_external_registration: false gitea_only_allow_external_registration: false
gitea_enable_notify_mail: false gitea_enable_notify_mail: false
gitea_auto_watch_new_repos: true gitea_auto_watch_new_repos: true
gitea_autowatch_on_change: false
gitea_default_allow_create_organization: false
gitea_default_user_is_restricted: false
gitea_email_domain_allowlist: ""
gitea_default_user_visibility: public
gitea_default_org_visibility: public
gitea_allow_only_internal_registration: false
gitea_allow_only_external_registration: false
gitea_show_milestones_dashboard_page: true
gitea_service_extra_config: '' gitea_service_extra_config: ''
# Mailer [mailer] # Mailer [mailer]
@ -264,4 +274,4 @@ gitea_customize_logo: false
gitea_custom: "{{ gitea_home }}/custom" gitea_custom: "{{ gitea_home }}/custom"
gitea_customize_footer: false gitea_customize_footer: false
gitea_customize_files: false gitea_customize_files: false
gitea_customize_files_path: "{{ gitea_custom_search }}/gitea_files" gitea_customize_files_path: "{{ gitea_custom_search }}/gitea_files/"

4
requirements.yml Normal file
View file

@ -0,0 +1,4 @@
---
collections:
- name: 'community.general'
version: ">=7.5.0,<=8.0.0"

View file

@ -11,20 +11,18 @@
- name: Stopping gitea before upgrade - name: Stopping gitea before upgrade
become: true become: true
ansible.builtin.systemd: ansible.builtin.systemd:
name: gitea name: 'gitea.service'
state: stopped state: 'stopped'
when: ansible_service_mgr == "systemd" when: ansible_service_mgr == "systemd"
- name: "Create backup directory" - name: "Create backup directory"
become: true become: true
ansible.builtin.file: ansible.builtin.file:
path: "{{ item }}" path: "{{ gitea_backup_location }}"
state: directory state: 'directory'
owner: "{{ gitea_user }}" owner: "{{ gitea_user }}"
group: "{{ gitea_group }}" group: "{{ gitea_group }}"
mode: 'u=rwx,g=rx,o=' mode: 'u=rwx,g=rx,o='
with_items:
- "{{ gitea_backup_location }}"
- name: Backing up gitea before upgrade - name: Backing up gitea before upgrade
become: true become: true
@ -36,10 +34,10 @@
- name: Starting gitea because backup failed - name: Starting gitea because backup failed
become: true become: true
ansible.builtin.systemd: ansible.builtin.systemd:
name: gitea name: 'gitea.service'
state: stopped state: 'started'
when: ansible_service_mgr == "systemd" when: ansible_service_mgr == "systemd"
- name: Print updateing error - name: Print updateing error and cancel
ansible.builtin.debug: ansible.builtin.fail:
msg: "failed to backup gitea" msg: "failed to backup gitea"

View file

@ -1,4 +1,12 @@
--- ---
- name: Make sure gitea_register_email_confirm is false when gitea_register_manual_confirm is true
ansible.builtin.fail:
msg: |
To manually confirm registrations,
gitea_register_email_confirm needs to be false
and gitea_register_manual_confirm should be true.
when: gitea_register_manual_confirm | bool and gitea_register_email_confirm | bool
- name: "Configure gitea" - name: "Configure gitea"
become: true become: true
ansible.builtin.template: ansible.builtin.template:

View file

@ -7,7 +7,7 @@
owner: "{{ gitea_user }}" owner: "{{ gitea_user }}"
group: "{{ gitea_group }}" group: "{{ gitea_group }}"
mode: 'u=rwX,g=rX,o=' mode: 'u=rwX,g=rX,o='
with_items: loop:
- "{{ gitea_custom }}/templates" - "{{ gitea_custom }}/templates"
- "{{ gitea_custom }}/templates/custom" - "{{ gitea_custom }}/templates/custom"
@ -19,6 +19,6 @@
owner: "{{ gitea_user }}" owner: "{{ gitea_user }}"
group: "{{ gitea_group }}" group: "{{ gitea_group }}"
mode: '0644' mode: '0644'
ignore_errors: true failed_when: false
tags: skip_ansible_lint tags: skip_ansible_lint
notify: "Restart gitea" notify: "Restart gitea"

View file

@ -7,7 +7,7 @@
owner: "{{ gitea_user }}" owner: "{{ gitea_user }}"
group: "{{ gitea_group }}" group: "{{ gitea_group }}"
mode: 'u=rwX,g=rX,o=' mode: 'u=rwX,g=rX,o='
with_items: loop:
- "{{ gitea_custom }}/public" - "{{ gitea_custom }}/public"
- "{{ gitea_custom }}/public/img" - "{{ gitea_custom }}/public/img"
@ -20,7 +20,7 @@
group: "{{ gitea_group }}" group: "{{ gitea_group }}"
mode: '0644' mode: '0644'
tags: skip_ansible_lint tags: skip_ansible_lint
ignore_errors: true failed_when: false
- name: Transfer custom logo.png - name: Transfer custom logo.png
become: true become: true
@ -31,7 +31,7 @@
group: "{{ gitea_group }}" group: "{{ gitea_group }}"
mode: '0644' mode: '0644'
tags: skip_ansible_lint tags: skip_ansible_lint
ignore_errors: true failed_when: false
- name: Transfer custom favicon.png - name: Transfer custom favicon.png
become: true become: true
@ -42,7 +42,7 @@
group: "{{ gitea_group }}" group: "{{ gitea_group }}"
mode: '0644' mode: '0644'
tags: skip_ansible_lint tags: skip_ansible_lint
ignore_errors: true failed_when: false
- name: Transfer custom apple-touch-icon.png - name: Transfer custom apple-touch-icon.png
become: true become: true
@ -53,4 +53,4 @@
group: "{{ gitea_group }}" group: "{{ gitea_group }}"
mode: '0644' mode: '0644'
tags: skip_ansible_lint tags: skip_ansible_lint
ignore_errors: true failed_when: false

View file

@ -7,7 +7,7 @@
owner: "{{ gitea_user }}" owner: "{{ gitea_user }}"
group: "{{ gitea_group }}" group: "{{ gitea_group }}"
mode: 'u=rwX,g=rX,o=' mode: 'u=rwX,g=rX,o='
with_items: loop:
- "{{ gitea_custom }}/public" - "{{ gitea_custom }}/public"
- name: Transfer custom public web data - name: Transfer custom public web data
@ -19,6 +19,6 @@
group: "{{ gitea_group }}" group: "{{ gitea_group }}"
directory_mode: true directory_mode: true
mode: 'u=rwX,g=rX,o=' mode: 'u=rwX,g=rX,o='
ignore_errors: true failed_when: false
tags: skip_ansible_lint tags: skip_ansible_lint
notify: "Restart gitea" notify: "Restart gitea"

View file

@ -7,7 +7,7 @@
owner: "{{ gitea_user }}" owner: "{{ gitea_user }}"
group: "{{ gitea_group }}" group: "{{ gitea_group }}"
mode: 'u=rwX,g=rX,o=' mode: 'u=rwX,g=rX,o='
with_items: loop:
- "{{ gitea_configuration_path }}" - "{{ gitea_configuration_path }}"
- "{{ gitea_user_home }}" - "{{ gitea_user_home }}"
- "{{ gitea_home }}" - "{{ gitea_home }}"

View file

@ -25,5 +25,5 @@
ansible.builtin.fail: ansible.builtin.fail:
msg: "the package fail2ban is not installed. no fail2ban filters deployed." msg: "the package fail2ban is not installed. no fail2ban filters deployed."
when: "'fail2ban' not in ansible_facts.packages" when: "'fail2ban' not in ansible_facts.packages"
ignore_errors: true failed_when: false
tags: skip_ansible_lint_ignore-errors tags: skip_ansible_lint_ignore-errors

View file

@ -54,7 +54,7 @@
become: false become: false
failed_when: _gitea_gpg_key_status.rc not in (0, 2) failed_when: _gitea_gpg_key_status.rc not in (0, 2)
- name: Print gpg key staus on verbosity - name: Print gpg key status on verbosity # noqa: H500
ansible.builtin.debug: ansible.builtin.debug:
msg: "{{ _gitea_gpg_key_status.stdout }}" msg: "{{ _gitea_gpg_key_status.stdout }}"
verbosity: 1 verbosity: 1

View file

@ -53,7 +53,7 @@
changed_when: false changed_when: false
failed_when: _gitea_gpg_key_status.rc not in (0, 2) failed_when: _gitea_gpg_key_status.rc not in (0, 2)
- name: Print gpg key staus on verbosity - name: Print gpg key status on verbosity # noqa: H500
ansible.builtin.debug: ansible.builtin.debug:
msg: "{{ _gitea_gpg_key_status.stdout }}" msg: "{{ _gitea_gpg_key_status.stdout }}"
verbosity: 1 verbosity: 1

View file

@ -1,23 +1,9 @@
--- ---
- name: "Setup systemd service" - name: "Setup systemd service"
become: true become: true
when: ansible_os_family == "Debian"
ansible.builtin.template: ansible.builtin.template:
src: gitea.service.j2 src: gitea.service.j2
dest: /lib/systemd/system/gitea.service dest: "{{ gitea_systemd_path }}/gitea.service"
owner: root
group: root
mode: 0644
notify:
- "Reload systemd"
- "Restart gitea"
- name: "Setup systemd service"
become: true
when: ansible_os_family == "Suse"
ansible.builtin.template:
src: gitea.service.j2
dest: /etc/systemd/system/gitea.service
owner: root owner: root
group: root group: root
mode: 0644 mode: 0644

View file

@ -1,65 +1,81 @@
--- ---
- name: Perform optional versionscheck - name: Perform optional versionscheck
ansible.builtin.include_tasks: versioncheck.yml ansible.builtin.include_tasks:
file: 'versioncheck.yml'
when: submodules_versioncheck|bool when: submodules_versioncheck|bool
- name: Gather installed packages for checks later on - name: Gather installed packages for checks later on
ansible.builtin.package_facts: ansible.builtin.package_facts:
manager: auto manager: 'auto'
- name: Prepare gitea/forgejo variable import - name: Prepare gitea/forgejo variable import
block: block:
- name: Gather variables for gitea or forgejo - name: Gather variables for gitea or forgejo
ansible.builtin.include_vars: "{{ lookup('first_found', gitea_fork_variables) }}" ansible.builtin.include_vars:
file: "{{ lookup('first_found', gitea_fork_variables) }}"
rescue: rescue:
- name: Gitea/Forejo import info - name: Gitea/Forejo import info
ansible.builtin.fail: ansible.builtin.fail:
msg: "Currently only {{ gitea_supported_forks }} are supported." msg: "Currently only {{ gitea_supported_forks }} are supported."
- name: Gather variables for each operating system - name: Gather variables for each operating system
ansible.builtin.include_vars: "{{ lookup('first_found', gitea_variables) }}" ansible.builtin.include_vars:
file: "{{ lookup('first_found', gitea_variables) }}"
- name: Gather versioning information - name: Gather versioning information
ansible.builtin.include_tasks: "set_{{ gitea_fork | lower }}_version.yml" ansible.builtin.include_tasks:
file: "set_{{ gitea_fork | lower }}_version.yml"
- name: Backup gitea before update - name: Backup gitea before update
ansible.builtin.include_tasks: backup.yml ansible.builtin.include_tasks:
file: 'backup.yml'
when: gitea_backup_on_upgrade|bool when: gitea_backup_on_upgrade|bool
- name: Create gitea user and role - name: Create gitea user and group
ansible.builtin.include_tasks: create_user.yml ansible.builtin.include_tasks:
file: 'create_user.yml'
- name: "Install or update {{ gitea_fork }}" - name: "Install or update {{ gitea_fork }}"
ansible.builtin.include_tasks: "install_{{ gitea_fork | lower }}.yml" ansible.builtin.include_tasks:
file: "install_{{ gitea_fork | lower }}.yml"
- name: Create directories - name: Create directories
ansible.builtin.include_tasks: directory.yml ansible.builtin.include_tasks:
file: 'directory.yml'
- name: Setup gitea systemd service - name: Setup gitea systemd service
ansible.builtin.include_tasks: install_systemd.yml ansible.builtin.include_tasks:
file: 'install_systemd.yml'
when: ansible_service_mgr == "systemd" when: ansible_service_mgr == "systemd"
- name: Generate JWT Secrets if undefined - name: Generate JWT Secrets if undefined
ansible.builtin.include_tasks: jwt_secrets.yml ansible.builtin.include_tasks:
file: 'jwt_secrets.yml'
- name: Generate gitea secrets if undefined - name: Generate gitea secrets if undefined
ansible.builtin.include_tasks: gitea_secrets.yml ansible.builtin.include_tasks:
file: 'gitea_secrets.yml'
- name: Configure gitea - name: Configure gitea
ansible.builtin.include_tasks: configure.yml ansible.builtin.include_tasks:
file: 'configure.yml'
- name: Deploy optional fail2ban rules - name: Deploy optional fail2ban rules
ansible.builtin.include_tasks: fail2ban.yml ansible.builtin.include_tasks:
when: gitea_fail2ban_enabled|bool file: 'fail2ban.yml'
when: gitea_fail2ban_enabled | bool
- name: Optionally customize gitea - name: Optionally customize gitea
ansible.builtin.include_tasks: customize_logo.yml ansible.builtin.include_tasks:
when: gitea_customize_logo|bool file: 'customize_logo.yml'
when: gitea_customize_logo | bool
- name: Optionally customize footer - name: Optionally customize footer
ansible.builtin.include_tasks: customize_footer.yml ansible.builtin.include_tasks:
when: gitea_customize_footer|bool file: 'customize_footer.yml'
when: gitea_customize_footer | bool
- name: Optionally deploy public files - name: Optionally deploy public files
ansible.builtin.include_tasks: customize_public_files.yml ansible.builtin.include_tasks:
when: gitea_customize_files|bool file: 'customize_public_files.yml'
when: gitea_customize_files | bool

View file

@ -2,7 +2,7 @@
- name: "Check forgejo installed version" - name: "Check forgejo installed version"
ansible.builtin.shell: "set -eo pipefail; {{ gitea_full_executable_path }} -v | cut -d' ' -f 3" ansible.builtin.shell: "set -eo pipefail; {{ gitea_full_executable_path }} -v | cut -d' ' -f 3"
args: args:
executable: /bin/bash executable: '/bin/bash'
register: gitea_active_version register: gitea_active_version
changed_when: false changed_when: false
failed_when: false failed_when: false
@ -97,11 +97,18 @@
gitea_forgejo_signed_url: ['https://codeberg.org/attachments/ae5e50c6-e86e-4202-b95f-f142e8138e2f'] gitea_forgejo_signed_url: ['https://codeberg.org/attachments/ae5e50c6-e86e-4202-b95f-f142e8138e2f']
when: ansible_check_mode when: ansible_check_mode
- name: Show Download URLs - name: 'Assert that remote version is higher'
ansible.builtin.assert:
that:
- gitea_active_version is version(gitea_remote_version, 'lt')
fail_msg: ERROR - Remote version is lower then current version!
when: gitea_version == "latest" and gitea_active_version.stderr == "" | bool
- name: Show Download URLs # noqa: H500
ansible.builtin.debug: ansible.builtin.debug:
msg: "{{ item }}" msg: "{{ item }}"
verbosity: 1 verbosity: 1
with_items: loop:
- "gitea_forgejo_dl_url: {{ gitea_forgejo_dl_url | first }}" - "gitea_forgejo_dl_url: {{ gitea_forgejo_dl_url | first }}"
- "gitea_forgejo_checksum: {{ gitea_forgejo_checksum }}" - "gitea_forgejo_checksum: {{ gitea_forgejo_checksum }}"
- "gitea_forgejo_signed_url: {{ gitea_forgejo_signed_url | first }}" - "gitea_forgejo_signed_url: {{ gitea_forgejo_signed_url | first }}"

View file

@ -40,6 +40,13 @@
gitea_version_target: "{{ gitea_version }}" gitea_version_target: "{{ gitea_version }}"
when: gitea_version != "latest" when: gitea_version != "latest"
- name: 'Assert that remote version is higher'
ansible.builtin.assert:
that:
- gitea_active_version is version(gitea_remote_version, 'lt')
fail_msg: ERROR - Remote version is lower then current version!
when: gitea_version == "latest" and gitea_active_version.stderr == "" | bool
- name: "Generate gitea download URL" - name: "Generate gitea download URL"
ansible.builtin.set_fact: ansible.builtin.set_fact:
gitea_dl_url: "https://github.com/go-gitea/gitea/releases/download/v{{ gitea_version_target }}/gitea-{{ gitea_version_target }}-linux-{{ gitea_arch }}" gitea_dl_url: "https://github.com/go-gitea/gitea/releases/download/v{{ gitea_version_target }}/gitea-{{ gitea_version_target }}-linux-{{ gitea_arch }}"

View file

@ -7,7 +7,7 @@
ansible.builtin.file: ansible.builtin.file:
path: '/etc/.ansible-version' path: '/etc/.ansible-version'
state: directory state: directory
mode: 0755 mode: '0755'
when: submodules_versioncheck | bool when: submodules_versioncheck | bool
- name: Check playbook version - name: Check playbook version
@ -16,15 +16,14 @@
src: "/etc/.ansible-version/{{ playbook_version_path }}" src: "/etc/.ansible-version/{{ playbook_version_path }}"
register: playbook_version register: playbook_version
when: submodules_versioncheck | bool when: submodules_versioncheck | bool
ignore_errors: true
failed_when: false failed_when: false
- name: Print remote role version - name: Print remote role version # noqa: H500
ansible.builtin.debug: ansible.builtin.debug:
msg: "Remote role version: {{ playbook_version.content | default('Y3VycmVudGx5IG5vdCBkZXBsb3llZAo=') | b64decode | string }}" msg: "Remote role version: {{ playbook_version.content | default('Y3VycmVudGx5IG5vdCBkZXBsb3llZAo=') | b64decode | string }}"
when: submodules_versioncheck | bool when: submodules_versioncheck | bool
- name: Print locale role version - name: Print locale role version # noqa: H500
ansible.builtin.debug: ansible.builtin.debug:
msg: "Local role version: '{{ playbook_version_number | string }}'." msg: "Local role version: '{{ playbook_version_number | string }}'."
when: submodules_versioncheck | bool when: submodules_versioncheck | bool

View file

@ -1,265 +1,278 @@
; this file is the configuration of your local gitea instance ; this file is the configuration of your local Gitea instance
; {{ ansible_managed }} ; {{ ansible_managed }}
; ;
; This file overwrites the default values from gitea. ; This file overwrites the default values from Gitea.
; undefined variables will use the default value from gitea. ; undefined variables will use the default value from Gitea.
; Cheat Sheet: https://docs.gitea.io/en-us/config-cheat-sheet/ ; Cheat Sheet: https://docs.gitea.com/next/administration/config-cheat-sheet/
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#overall-default ; -> https://docs.gitea.com/next/administration/config-cheat-sheet#overall-default
APP_NAME = {{ gitea_app_name }} APP_NAME = {{ gitea_app_name }}
RUN_USER = {{ gitea_user }} RUN_USER = {{ gitea_user }}
RUN_MODE = {{ gitea_run_mode }} RUN_MODE = {{ gitea_run_mode }}
WORK_PATH = {{ gitea_home }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#repository-repository ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#repository-repository
[repository] [repository]
ROOT = {{ gitea_repository_root }} ROOT = {{ gitea_repository_root }}
FORCE_PRIVATE = {{ gitea_force_private | ternary('true', 'false') }} FORCE_PRIVATE = {{ gitea_force_private | ternary('true', 'false') }}
DEFAULT_PRIVATE = {{ gitea_default_private }} DEFAULT_PRIVATE = {{ gitea_default_private }}
MAX_CREATION_LIMIT = {{ gitea_user_repo_limit }} MAX_CREATION_LIMIT = {{ gitea_user_repo_limit }}
DISABLE_HTTP_GIT = {{ gitea_disable_http_git | ternary('true', 'false') }} DISABLE_HTTP_GIT = {{ gitea_disable_http_git | ternary('true', 'false') }}
ENABLE_PUSH_CREATE_USER = {{ gitea_enable_push_create_user | ternary('true', 'false') }} ENABLE_PUSH_CREATE_USER = {{ gitea_enable_push_create_user | ternary('true', 'false') }}
ENABLE_PUSH_CREATE_ORG = {{ gitea_enable_push_create_org | ternary('true', 'false') }} ENABLE_PUSH_CREATE_ORG = {{ gitea_enable_push_create_org | ternary('true', 'false') }}
DISABLED_REPO_UNITS = {{ gitea_disabled_repo_units }} DISABLED_REPO_UNITS = {{ gitea_disabled_repo_units }}
DEFAULT_REPO_UNITS = {{ gitea_default_repo_units }} DEFAULT_REPO_UNITS = {{ gitea_default_repo_units }}
DISABLE_STARS = {{ gitea_disable_stars | ternary('true', 'false') }} DISABLE_STARS = {{ gitea_disable_stars | ternary('true', 'false') }}
DEFAULT_BRANCH = {{ gitea_default_branch }} DEFAULT_BRANCH = {{ gitea_default_branch }}
{{ gitea_repository_extra_config }} {{ gitea_repository_extra_config }}
; ;
; ;
; -> https://docs.gitea.io/en-us/administration/config-cheat-sheet/#repository---upload-repositoryupload ; -> https://docs.gitea.com/next/administration/administration/config-cheat-sheet/#repository---upload-repositoryupload
[repository.upload] [repository.upload]
ENABLED = {{ gitea_repository_upload_enabled | ternary('true', 'false') }} ENABLED = {{ gitea_repository_upload_enabled | ternary('true', 'false') }}
TEMP_PATH = {{ gitea_home }}/data/tmp/uploads TEMP_PATH = {{ gitea_home }}/data/tmp/uploads
FILE_MAX_SIZE = {{ gitea_repository_upload_max_size }} FILE_MAX_SIZE = {{ gitea_repository_upload_max_size }}
{{ gitea_repository_upload_extra_config }} {{ gitea_repository_upload_extra_config }}
; ;
; ;
{% if gitea_enable_repo_signing_options | bool %} {% if gitea_enable_repo_signing_options | bool %}
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#repository---signing-repositorysigning ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#repository---signing-repositorysigning
[repository.signing] [repository.signing]
SIGNING_KEY = {{ gitea_repo_signing_key }} SIGNING_KEY = {{ gitea_repo_signing_key }}
SIGNING_NAME = {{ gitea_repo_signing_name }} SIGNING_NAME = {{ gitea_repo_signing_name }}
SIGNING_EMAIL = {{ gitea_repo_signing_email }} SIGNING_EMAIL = {{ gitea_repo_signing_email }}
INITIAL_COMMIT = {{ gitea_repo_initial_commit }} INITIAL_COMMIT = {{ gitea_repo_initial_commit }}
DEFAULT_TRUST_MODEL = {{ gitea_repo_default_trust_model }} DEFAULT_TRUST_MODEL = {{ gitea_repo_default_trust_model }}
WIKI = {{ gitea_repo_wiki }} WIKI = {{ gitea_repo_wiki }}
CRUD_ACTIONS = {{ gitea_repo_crud_actions }} CRUD_ACTIONS = {{ gitea_repo_crud_actions }}
MERGES = {{ gitea_repo_merges }} MERGES = {{ gitea_repo_merges }}
{{ gitea_enable_repo_signing_extra }} {{ gitea_enable_repo_signing_extra }}
; ;
{% endif %} {% endif %}
; ;
{% if gitea_enable_cors | bool %} {% if gitea_enable_cors | bool %}
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#cors-cors ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#cors-cors
[cors] [cors]
ENABLED = {{ gitea_enable_cors | ternary('true', 'false') }} ENABLED = {{ gitea_enable_cors | ternary('true', 'false') }}
SCHEME = {{ gitea_cors_scheme }} SCHEME = {{ gitea_cors_scheme }}
ALLOW_DOMAIN = {{ gitea_cors_allow_domain }} ALLOW_DOMAIN = {{ gitea_cors_allow_domain }}
ALLOW_SUBDOMAIN = {{ gitea_cors_allow_subdomain | ternary('true', 'false') }} ALLOW_SUBDOMAIN = {{ gitea_cors_allow_subdomain | ternary('true', 'false') }}
METHODS = {{ gitea_cors_methods }} METHODS = {{ gitea_cors_methods }}
MAX_AGE = {{ gitea_cors_max_age }} MAX_AGE = {{ gitea_cors_max_age }}
ALLOW_CREDENTIALS = {{ gitea_cors_allow_credentials | ternary('true', 'false') }} ALLOW_CREDENTIALS = {{ gitea_cors_allow_credentials | ternary('true', 'false') }}
HEADERS = {{ gitea_cors_headers }} HEADERS = {{ gitea_cors_headers }}
X_FRAME_OPTIONS = {{ gitea_cors_x_frame_options }} X_FRAME_OPTIONS = {{ gitea_cors_x_frame_options }}
{{ gitea_cors_extra }} {{ gitea_cors_extra }}
; ;
{% endif %} {% endif %}
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#ui-ui ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#ui-ui
[ui] [ui]
THEMES = {{ gitea_themes }} THEMES = {{ gitea_themes }}
DEFAULT_THEME = {{ gitea_theme_default }} DEFAULT_THEME = {{ gitea_theme_default }}
SHOW_USER_EMAIL = {{ gitea_show_user_email | ternary('true', 'false') }} SHOW_USER_EMAIL = {{ gitea_show_user_email | ternary('true', 'false') }}
{{ gitea_ui_extra_config }} {{ gitea_ui_extra_config }}
; ;
; ;
; ;
[ui.meta] [ui.meta]
AUTHOR = {{ gitea_ui_author }} AUTHOR = {{ gitea_ui_author }}
DESCRIPTION = {{ gitea_ui_description }} DESCRIPTION = {{ gitea_ui_description }}
KEYWORDS = {{ gitea_ui_keywords }} KEYWORDS = {{ gitea_ui_keywords }}
{{ gitea_ui_meta_extra_config }} {{ gitea_ui_meta_extra_config }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#server-server ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#server-server
[server] [server]
APP_DATA_PATH = {{ gitea_home }}/data APP_DATA_PATH = {{ gitea_home }}/data
PROTOCOL = {{ gitea_protocol }} PROTOCOL = {{ gitea_protocol }}
DOMAIN = {{ gitea_http_domain }} DOMAIN = {{ gitea_http_domain }}
ROOT_URL = {{ gitea_root_url }} ROOT_URL = {{ gitea_root_url }}
HTTP_ADDR = {{ gitea_http_listen }} HTTP_ADDR = {{ gitea_http_listen }}
HTTP_PORT = {{ gitea_http_port }} HTTP_PORT = {{ gitea_http_port }}
START_SSH_SERVER = {{ gitea_start_ssh | ternary('true', 'false') }} START_SSH_SERVER = {{ gitea_start_ssh | ternary('true', 'false') }}
SSH_DOMAIN = {{ gitea_ssh_domain }} SSH_DOMAIN = {{ gitea_ssh_domain }}
SSH_PORT = {{ gitea_ssh_port }} SSH_PORT = {{ gitea_ssh_port }}
SSH_LISTEN_HOST = {{ gitea_ssh_listen }} SSH_LISTEN_HOST = {{ gitea_ssh_listen }}
OFFLINE_MODE = {{ gitea_offline_mode | ternary('true', 'false') }} OFFLINE_MODE = {{ gitea_offline_mode | ternary('true', 'false') }}
{% if gitea_enable_tls_certs | bool %} {% if gitea_enable_tls_certs | bool %}
CERT_FILE = {{ gitea_tls_cert_file }} CERT_FILE = {{ gitea_tls_cert_file }}
KEY_FILE = {{ gitea_tls_key_file }} KEY_FILE = {{ gitea_tls_key_file }}
{% endif %} {% endif %}
LANDING_PAGE = {{ gitea_landing_page }} LANDING_PAGE = {{ gitea_landing_page }}
{% if gitea_lfs_server_enabled | bool -%} {% if gitea_lfs_server_enabled | bool %}
LFS_START_SERVER = true LFS_START_SERVER = true
LFS_JWT_SECRET = {{ gitea_lfs_jwt_secret }} LFS_JWT_SECRET = {{ gitea_lfs_jwt_secret }}
{% endif %} {% endif %}
REDIRECT_OTHER_PORT = {{ gitea_redirect_other_port | ternary('true', 'false') }} REDIRECT_OTHER_PORT = {{ gitea_redirect_other_port | ternary('true', 'false') }}
PORT_TO_REDIRECT = {{ gitea_port_to_redirect }} PORT_TO_REDIRECT = {{ gitea_port_to_redirect }}
ENABLE_ACME = {{ gitea_enable_acme | ternary('true', 'false') }} ENABLE_ACME = {{ gitea_enable_acme | ternary('true', 'false') }}
{% if gitea_enable_acme | bool %} {% if gitea_enable_acme | bool %}
{% if gitea_acme_url != '' %} {% if gitea_acme_url != '' %}
ACME_URL = {{ gitea_acme_url }} ACME_URL = {{ gitea_acme_url }}
{% endif %} {% endif %}
ACME_ACCEPTTOS = {{ gitea_acme_accepttos | ternary('true', 'false') }} ACME_ACCEPTTOS = {{ gitea_acme_accepttos | ternary('true', 'false') }}
ACME_DIRECTORY = {{ gitea_acme_directory }} ACME_DIRECTORY = {{ gitea_acme_directory }}
ACME_EMAIL = {{ gitea_acme_email }} ACME_EMAIL = {{ gitea_acme_email }}
ACME_CA_ROOT = {{ gitea_acme_ca_root }} ACME_CA_ROOT = {{ gitea_acme_ca_root }}
{% endif %} {% endif %}
{{ gitea_server_extra_config }} {{ gitea_server_extra_config }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#database-database ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#database-database
[database] [database]
DB_TYPE = {{ gitea_db_type }} DB_TYPE = {{ gitea_db_type }}
HOST = {{ gitea_db_host }} HOST = {{ gitea_db_host }}
NAME = {{ gitea_db_name }} NAME = {{ gitea_db_name }}
USER = {{ gitea_db_user }} USER = {{ gitea_db_user }}
PASSWD = {{ gitea_db_password }} PASSWD = {{ gitea_db_password }}
SSL_MODE = {{ gitea_db_ssl }} SSL_MODE = {{ gitea_db_ssl }}
PATH = {{ gitea_db_path }} PATH = {{ gitea_db_path }}
LOG_SQL = {{ gitea_db_log_sql | ternary('true', 'false') }} LOG_SQL = {{ gitea_db_log_sql | ternary('true', 'false') }}
{{ gitea_database_extra_config }} {{ gitea_database_extra_config }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#indexer-indexer ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#indexer-indexer
[indexer] [indexer]
ISSUE_INDEXER_PATH = {{ gitea_home }}/indexers/issues.bleve ISSUE_INDEXER_PATH = {{ gitea_home }}/indexers/issues.bleve
REPO_INDEXER_ENABLED = {{ gitea_repo_indexer_enabled | ternary('true', 'false') }} REPO_INDEXER_ENABLED = {{ gitea_repo_indexer_enabled | ternary('true', 'false') }}
REPO_INDEXER_PATH = {{ gitea_home }}/indexers/repos.bleve REPO_INDEXER_PATH = {{ gitea_home }}/indexers/repos.bleve
REPO_INDEXER_INCLUDE = {{ gitea_repo_indexer_include }} REPO_INDEXER_INCLUDE = {{ gitea_repo_indexer_include }}
REPO_INDEXER_EXCLUDE = {{ gitea_repo_indexer_exclude }} REPO_INDEXER_EXCLUDE = {{ gitea_repo_indexer_exclude }}
REPO_INDEXER_EXCLUDE_VENDORED = {{ gitea_repo_exclude_vendored | ternary('true', 'false') }} REPO_INDEXER_EXCLUDE_VENDORED = {{ gitea_repo_exclude_vendored | ternary('true', 'false') }}
MAX_FILE_SIZE = {{ gitea_repo_indexer_max_file_size }} MAX_FILE_SIZE = {{ gitea_repo_indexer_max_file_size }}
{{ gitea_indexer_extra_config }} {{ gitea_indexer_extra_config }}
; ;
; ;
; Queue (queue and queue.*) ; Queue (queue and queue.*)
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#queue-queue-and-queue ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#queue-queue-and-queue
[queue.issue_indexer] [queue.issue_indexer]
DATADIR = {{ gitea_home }}/indexers/issues.queue DATADIR = {{ gitea_home }}/indexers/issues.queue
{{ gitea_queue_issue_indexer_extra_config }} {{ gitea_queue_issue_indexer_extra_config }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#security-security ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#security-security
[security] [security]
INSTALL_LOCK = true INSTALL_LOCK = true
SECRET_KEY = {{ gitea_secret_key }} SECRET_KEY = {{ gitea_secret_key }}
DISABLE_GIT_HOOKS = {{ gitea_disable_git_hooks | ternary('true', 'false') }} DISABLE_GIT_HOOKS = {{ gitea_disable_git_hooks | ternary('true', 'false') }}
DISABLE_WEBHOOKS = {{ gitea_disable_webhooks | ternary('true', 'false') }} DISABLE_WEBHOOKS = {{ gitea_disable_webhooks | ternary('true', 'false') }}
INTERNAL_TOKEN = {{ gitea_internal_token }} INTERNAL_TOKEN = {{ gitea_internal_token }}
PASSWORD_CHECK_PWN = {{ gitea_password_check_pwn | ternary('true', 'false') }} PASSWORD_CHECK_PWN = {{ gitea_password_check_pwn | ternary('true', 'false') }}
{{ gitea_security_extra_config }} {{ gitea_security_extra_config }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#service-service ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#service-service
[service] [service]
REGISTER_EMAIL_CONFIRM = {{ gitea_register_email_confirm | ternary('true', 'false') }} REGISTER_EMAIL_CONFIRM = {{ gitea_register_email_confirm | ternary('true', 'false') }}
DISABLE_REGISTRATION = {{ gitea_disable_registration | ternary('true', 'false') }} DISABLE_REGISTRATION = {{ gitea_disable_registration | ternary('true', 'false') }}
REQUIRE_SIGNIN_VIEW = {{ gitea_require_signin | ternary('true', 'false') }} REQUIRE_SIGNIN_VIEW = {{ gitea_require_signin | ternary('true', 'false') }}
ENABLE_NOTIFY_MAIL = {{ gitea_enable_notify_mail | ternary('true', 'false') }} ENABLE_NOTIFY_MAIL = {{ gitea_enable_notify_mail | ternary('true', 'false') }}
ENABLE_CAPTCHA = {{ gitea_enable_captcha | ternary('true', 'false') }} ENABLE_CAPTCHA = {{ gitea_enable_captcha | ternary('true', 'false') }}
DEFAULT_KEEP_EMAIL_PRIVATE = {{ gitea_default_keep_mail_private | ternary('true', 'false') }} DEFAULT_KEEP_EMAIL_PRIVATE = {{ gitea_default_keep_mail_private | ternary('true', 'false') }}
SHOW_REGISTRATION_BUTTON = {{ gitea_show_registration_button | ternary('true', 'false') }} SHOW_REGISTRATION_BUTTON = {{ gitea_show_registration_button | ternary('true', 'false') }}
AUTO_WATCH_NEW_REPOS = {{ gitea_auto_watch_new_repos | ternary('true', 'false') }} AUTO_WATCH_NEW_REPOS = {{ gitea_auto_watch_new_repos | ternary('true', 'false') }}
ALLOW_ONLY_EXTERNAL_REGISTRATION = {{ gitea_only_allow_external_registration | ternary('true', 'false') }} ALLOW_ONLY_EXTERNAL_REGISTRATION = {{ gitea_only_allow_external_registration | ternary('true', 'false') }}
AUTO_WATCH_ON_CHANGES = {{ gitea_autowatch_on_change | ternary('true', 'false') }}
SHOW_MILESTONES_DASHBOARD_PAGE = {{ gitea_show_milestones_dashboard_page | ternary('true', 'false') }}
REGISTER_MANUAL_CONFIRM = {{ gitea_register_manual_confirm | ternary('true', 'false') }}
DEFAULT_ALLOW_CREATE_ORGANIZATION = {{ gitea_default_allow_create_organization | ternary('true', 'false') }}
DEFAULT_USER_IS_RESTRICTED = {{ gitea_default_user_is_restricted | ternary('true', 'false') }}
{% if gitea_email_domain_allowlist is defined and gitea_email_domain_allowlist | length %}
EMAIL_DOMAIN_ALLOWLIST = {{ gitea_email_domain_allowlist }}
{% endif %}
DEFAULT_USER_VISIBILITY = {{ gitea_default_user_visibility }}
DEFAULT_ORG_VISIBILITY = {{ gitea_default_org_visibility }}
ALLOW_ONLY_INTERNAL_REGISTRATION = {{ gitea_allow_only_internal_registration | ternary('true', 'false') }}
ALLOW_ONLY_EXTERNAL_REGISTRATION = {{ gitea_allow_only_external_registration | ternary('true', 'false') }}
{{ gitea_service_extra_config }} {{ gitea_service_extra_config }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#mailer-mailer ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#mailer-mailer
[mailer] [mailer]
ENABLED = {{ gitea_mailer_enabled | ternary('true', 'false') }} ENABLED = {{ gitea_mailer_enabled | ternary('true', 'false') }}
{% if gitea_mailer_enabled | bool %} {% if gitea_mailer_enabled | bool %}
PROTOCOL = {{ gitea_mailer_protocol }} {% if gitea_mailer_use_client_cert | bool %}
SMTP_ADDR = {{ gitea_mailer_smtp_addr }} CLIENT_CERT_FILE = {{ gitea_mailer_client_cert_file }}
SMTP_PORT = {{ gitea_mailer_smtp_port }} CLIENT_KEY_FILE = {{ gitea_mailer_client_key_file }}
USE_CLIENT_CERT = {{ gitea_mailer_use_client_cert | ternary('true', 'false') }} {% endif %}
{% if gitea_mailer_use_client_cert | bool %} PROTOCOL = {{ gitea_mailer_protocol }}
CLIENT_CERT_FILE = {{ gitea_mailer_client_cert_file }} SMTP_ADDR = {{ gitea_mailer_smtp_addr }}
CLIENT_KEY_FILE = {{ gitea_mailer_client_key_file }} SMTP_PORT = {{ gitea_mailer_smtp_port }}
{% endif %} USE_CLIENT_CERT = {{ gitea_mailer_use_client_cert | ternary('true', 'false') }}
FORCE_TRUST_SERVER_CERT = {{ gitea_mailer_force_trust_server_cert | ternary('true', 'false') }} FORCE_TRUST_SERVER_CERT = {{ gitea_mailer_force_trust_server_cert | ternary('true', 'false') }}
USER = {{ gitea_mailer_user }} USER = {{ gitea_mailer_user }}
PASSWD = `{{ gitea_mailer_password }}` PASSWD = {{ gitea_mailer_password }}
ENABLE_HELO = {{ gitea_mailer_enable_helo | ternary('true', 'false') }} ENABLE_HELO = {{ gitea_mailer_enable_helo | ternary('true', 'false') }}
FROM = {{ gitea_mailer_from }} FROM = {{ gitea_mailer_from }}
SUBJECT_PREFIX = {{ gitea_subject_prefix }} SUBJECT_PREFIX = {{ gitea_subject_prefix }}
SEND_AS_PLAIN_TEXT = {{ gitea_mailer_send_as_plaintext | ternary('true', 'false') }} SEND_AS_PLAIN_TEXT = {{ gitea_mailer_send_as_plaintext | ternary('true', 'false') }}
{{ gitea_mailer_extra_config }} {{ gitea_mailer_extra_config }}
; ;
{% endif %} {% endif %}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#session-session ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#session-session
[session] [session]
PROVIDER = {{ gitea_session_provider }} PROVIDER = {{ gitea_session_provider }}
PROVIDER_CONFIG = {{ gitea_home }}/data/sessions PROVIDER_CONFIG = {{ gitea_home }}/data/sessions
{{ gitea_session_extra_config }} {{ gitea_session_extra_config }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#picture-picture ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#picture-picture
[picture] [picture]
AVATAR_UPLOAD_PATH = {{ gitea_home }}/data/avatars AVATAR_UPLOAD_PATH = {{ gitea_home }}/data/avatars
{{ gitea_picture_extra_config }} {{ gitea_picture_extra_config }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#issue-and-pull-request-attachments-attachment ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#issue-and-pull-request-attachments-attachment
[attachment] [attachment]
ENABLED = {{ gitea_attachment_enabled | ternary('true', 'false') }} ENABLED = {{ gitea_attachment_enabled | ternary('true', 'false') }}
ALLOWED_TYPES = {{ gitea_attachment_types }} ALLOWED_TYPES = {{ gitea_attachment_types }}
MAX_SIZE = {{ gitea_attachment_max_size }} MAX_SIZE = {{ gitea_attachment_max_size }}
PATH = {{ gitea_home }}/data/attachments PATH = {{ gitea_home }}/data/attachments
{{ gitea_attachment_extra_config }} {{ gitea_attachment_extra_config }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#log-log ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#log-log
[log] [log]
ROOT_PATH = {{ gitea_home }}/log ROOT_PATH = {{ gitea_home }}/log
{% if gitea_log_systemd %} {% if gitea_log_systemd %}
MODE = console MODE = console
{% else %} {% else %}
MODE = file MODE = file
{% endif %} {% endif %}
LEVEL = {{ gitea_log_level }} LEVEL = {{ gitea_log_level }}
{{ gitea_log_extra_config }} {{ gitea_log_extra_config }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#metrics-metrics ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#metrics-metrics
[metrics] [metrics]
ENABLED = {{ gitea_metrics_enabled | ternary('true', 'false') }} ENABLED = {{ gitea_metrics_enabled | ternary('true', 'false') }}
TOKEN = {{ gitea_metrics_token }} TOKEN = {{ gitea_metrics_token }}
{{ gitea_metrics_extra }} {{ gitea_metrics_extra }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#oauth2-oauth2 ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#oauth2-oauth2
[oauth2] [oauth2]
ENABLE = {{ gitea_oauth2_enabled | ternary('true', 'false') }} ENABLE = {{ gitea_oauth2_enabled | ternary('true', 'false') }}
JWT_SECRET = {{ gitea_oauth2_jwt_secret }} JWT_SECRET = {{ gitea_oauth2_jwt_secret }}
{{ gitea_oauth2_extra_config }} {{ gitea_oauth2_extra_config }}
; ;
; ;
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#federation-federation ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#federation-federation
[federation] [federation]
ENABLED = {{ gitea_federation_enabled | ternary('true', 'false') }} ENABLED = {{ gitea_federation_enabled | ternary('true', 'false') }}
SHARE_USER_STATISTICS = {{ gitea_federation_share_user_stats | ternary('true', 'false') }} SHARE_USER_STATISTICS = {{ gitea_federation_share_user_stats | ternary('true', 'false') }}
{{ gitea_federation_extra }} {{ gitea_federation_extra }}
; ;
; ;
; Packages (packages) ; Packages (packages)
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#packages-packages ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#packages-packages
[packages] [packages]
ENABLED = {{ gitea_packages_enabled | ternary('true', 'false') }} ENABLED = {{ gitea_packages_enabled | ternary('true', 'false') }}
{% if gitea_packages_enabled | bool %} {% if gitea_packages_enabled | bool %}
CHUNKED_UPLOAD_PATH = {{ gitea_home }}/data/tmp/package-upload CHUNKED_UPLOAD_PATH = {{ gitea_home }}/data/tmp/package-upload
{{ gitea_packages_extra }} {{ gitea_packages_extra }}
@ -267,31 +280,31 @@ CHUNKED_UPLOAD_PATH = {{ gitea_home }}/data/tmp/package-upload
; ;
; ;
{% if gitea_lfs_server_enabled | bool %} {% if gitea_lfs_server_enabled | bool %}
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#lfs-lfs ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#lfs-lfs
[lfs] [lfs]
STORAGE_TYPE = {{ gitea_lfs_storage_type }} STORAGE_TYPE = {{ gitea_lfs_storage_type }}
SERVE_DIRECT = {{ gitea_lfs_serve_direct | ternary('true', 'false') }} SERVE_DIRECT = {{ gitea_lfs_serve_direct | ternary('true', 'false') }}
PATH = {{ gitea_lfs_content_path }} PATH = {{ gitea_lfs_content_path }}
{{ gitea_lfs_extra }} {{ gitea_lfs_extra }}
{% endif %} {% endif %}
; ;
; ;
{% if gitea_actions_enabled | bool %} {% if gitea_actions_enabled | bool %}
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#actions-actions ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#actions-actions
[actions] [actions]
ENABLED = {{ gitea_actions_enabled }} ENABLED = {{ gitea_actions_enabled }}
DEFAULT_ACTIONS_URL = {{ gitea_actions_default_actions_url }} DEFAULT_ACTIONS_URL = {{ gitea_actions_default_actions_url }}
{{ gitea_actions_extra }} {{ gitea_actions_extra }}
{% endif %} {% endif %}
; ;
; ;
; Other (other) ; Other (other)
; -> https://docs.gitea.io/en-us/config-cheat-sheet/#other-other ; -> https://docs.gitea.com/next/administration/config-cheat-sheet/#other-other
[other] [other]
SHOW_FOOTER_VERSION = {{ gitea_other_show_footer_version | ternary('true', 'false') }} SHOW_FOOTER_VERSION = {{ gitea_other_show_footer_version | ternary('true', 'false') }}
SHOW_FOOTER_TEMPLATE_LOAD_TIME = {{ gitea_other_show_footer_template_load_time | ternary('true', 'false') }} SHOW_FOOTER_TEMPLATE_LOAD_TIME = {{ gitea_other_show_footer_template_load_time | ternary('true', 'false') }}
ENABLE_SITEMAP = {{ gitea_other_enable_sitemap | ternary('true', 'false') }} ENABLE_SITEMAP = {{ gitea_other_enable_sitemap | ternary('true', 'false') }}
ENABLE_FEED = {{ gitea_other_enable_feed | ternary('true', 'false') }} ENABLE_FEED = {{ gitea_other_enable_feed | ternary('true', 'false') }}
; ;
; ;
; ;

View file

@ -3,3 +3,5 @@ gitea_dependencies:
- git - git
- gnupg2 - gnupg2
- xz-utils - xz-utils
gitea_systemd_path: '/lib/systemd/system'

View file

@ -23,6 +23,7 @@ gitea_variables:
- "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml" - "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml"
- "{{ ansible_distribution | lower }}.yml" - "{{ ansible_distribution | lower }}.yml"
- "{{ ansible_os_family | lower }}.yml" - "{{ ansible_os_family | lower }}.yml"
- 'os_fallback_defaults.yml'
paths: paths:
- 'vars' - 'vars'
@ -62,5 +63,5 @@ transfer_custom_footer:
- 'files/gitea_footer/extra_links_footer.tmpl' - 'files/gitea_footer/extra_links_footer.tmpl'
- 'files/extra_links_footer.tmpl' - 'files/extra_links_footer.tmpl'
playbook_version_number: 49 # should be int playbook_version_number: 56
playbook_version_path: 'do1jlr.gitea.version' playbook_version_path: 'do1jlr.gitea.version'

View file

@ -0,0 +1,7 @@
---
gitea_dependencies:
- git
- gnupg2
- xz-utils
gitea_systemd_path: '/lib/systemd/system'

View file

@ -3,3 +3,5 @@ gitea_dependencies:
- git - git
- gnupg2 - gnupg2
- xz - xz
gitea_systemd_path: '/lib/systemd/system'

View file

@ -3,3 +3,5 @@ gitea_dependencies:
- git - git
- gpg2 - gpg2
- xz - xz
gitea_systemd_path: '/etc/systemd/system'