Skip to content

Commit e5c0094

Browse files
committed
migrate: gitea-dev (in-progress)
1 parent 7144695 commit e5c0094

File tree

9 files changed

+269
-0
lines changed

9 files changed

+269
-0
lines changed

gitea-dev/certificate.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: cert-manager.io/v1
2+
kind: Certificate
3+
metadata:
4+
name: gitea-dev
5+
6+
spec:
7+
issuerRef:
8+
kind: ClusterIssuer
9+
name: dns-cluster-issuer
10+
secretName: gitea-dev-tls
11+
duration: 2160h0m0s # 90d
12+
renewBefore: 720h0m0s # 30d
13+
dnsNames:
14+
- git-dev.trapti.tech

gitea-dev/config/app.ini

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
APP_NAME = traP Gitea Develop
2+
RUN_MODE = prod
3+
WORK_PATH = /data/gitea
4+
5+
[repository]
6+
ROOT = /data/git/repositories
7+
DISABLED_REPO_UNITS = repo.wiki
8+
9+
[repository.local]
10+
LOCAL_COPY_PATH = /data/gitea/tmp/local-repo
11+
12+
[repository.upload]
13+
TEMP_PATH = /data/gitea/uploads
14+
15+
[server]
16+
APP_DATA_PATH = /data/gitea
17+
DOMAIN = git-dev.trapti.tech
18+
SSH_DOMAIN = git-dev.trapti.tech
19+
HTTP_PORT = 3000
20+
ROOT_URL = https://git-dev.trapti.tech/
21+
DISABLE_SSH = false
22+
SSH_PORT = 2200
23+
SSH_LISTEN_PORT = 2200
24+
LFS_START_SERVER = true
25+
START_SSH_SERVER = true
26+
27+
[database]
28+
PATH = /data/gitea/gitea.db
29+
DB_TYPE = mysql
30+
HOST = private.kmbk.tokyotech.org:33060
31+
NAME = service_gitea_dev
32+
USER = service_gitea_dev
33+
LOG_SQL = false
34+
35+
[indexer]
36+
ISSUE_INDEXER_PATH = /data/gitea/indexers/issues.bleve
37+
38+
[session]
39+
PROVIDER_CONFIG = /data/gitea/sessions
40+
41+
[picture]
42+
AVATAR_UPLOAD_PATH = /data/gitea/avatars
43+
REPOSITORY_AVATAR_UPLOAD_PATH = /data/gitea/repo-avatars
44+
45+
[attachment]
46+
PATH = /data/gitea/attachments
47+
48+
[log]
49+
MODE = console
50+
LEVEL = Debug
51+
ROOT_PATH = /data/gitea/log
52+
53+
[security]
54+
INSTALL_LOCK = true
55+
REVERSE_PROXY_LIMIT = 1
56+
REVERSE_PROXY_TRUSTED_PROXIES = *
57+
REVERSE_PROXY_AUTHENTICATION_EMAIL = X-Forwarded-User-Email
58+
REVERSE_PROXY_AUTHENTICATION_USER = X-Forwarded-User
59+
60+
[service]
61+
DISABLE_REGISTRATION = true
62+
REQUIRE_SIGNIN_VIEW = true
63+
ENABLE_REVERSE_PROXY_AUTHENTICATION = false
64+
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = true
65+
NO_REPLY_ADDRESS = trap.jp
66+
ENABLE_REVERSE_PROXY_EMAIL = true
67+
DEFAULT_KEEP_EMAIL_PRIVATE = true
68+
DEFAULT_ORG_MEMBER_VISIBLE = true
69+
ENABLE_NOTIFY_MAIL = true
70+
ENABLE_BASIC_AUTHENTICATION = false
71+
72+
[lfs]
73+
STORAGE_TYPE = minio
74+
MINIO_ENDPOINT = s3.ap-northeast-1.wasabisys.com
75+
MINIO_BUCKET = trap-gitea-dev
76+
MINIO_LOCATION = ap-northeast-1
77+
MINIO_USE_SSL = true
78+
MINIO_CHECKSUM_ALGORITHM = md5
79+
80+
[actions]
81+
DEFAULT_ACTIONS_URL = github
82+
83+
[openid]
84+
ENABLE_OPENID_SIGNIN = false
85+
86+
[default]
87+
APP_NAME = traP Git Develop
88+
89+
[mailer]
90+
ENABLED = true
91+
92+
[metrics]
93+
ENABLED = true
94+
95+
[oauth2]
96+
ENABLED = false
97+
98+
[admin]
99+
USER_DISABLED_FEATURES = deletion,change_username,change_full_name

gitea-dev/deployment.yaml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
labels:
5+
app: gitea-dev
6+
name: gitea-dev
7+
spec:
8+
replicas: 1
9+
selector:
10+
matchLabels:
11+
app: gitea-dev
12+
strategy:
13+
type: Recreate
14+
template:
15+
metadata:
16+
labels:
17+
app: gitea-dev
18+
spec:
19+
containers:
20+
- env:
21+
- name: USER_GID
22+
value: "996"
23+
- name: USER_UID
24+
value: "996"
25+
image: gitea-latest
26+
name: gitea-dev
27+
ports:
28+
- containerPort: 3000
29+
protocol: TCP
30+
- containerPort: 2200
31+
protocol: TCP
32+
volumeMounts:
33+
- name: gitea-dev-storage
34+
mountPath: /data
35+
- name: gitea-dev-config
36+
mountPath: /app.ini
37+
restartPolicy: Always
38+
volumes:
39+
- name: gitea-dev-storage
40+
persistentVolumeClaim:
41+
claimName: gitea-dev
42+
- name: gitea-dev-config
43+
configMap:
44+
name: gitea-dev
45+
items:
46+
- key: app.ini
47+
path: app.ini
48+
mode: 0666

gitea-dev/ingress-route.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
apiVersion: traefik.io/v1alpha1
2+
kind: IngressRoute
3+
metadata:
4+
name: gitea-dev
5+
spec:
6+
entryPoints:
7+
- websecure
8+
tls:
9+
secretName: gitea-dev-tls
10+
routes:
11+
- kind: Rule
12+
match: Host(`git-dev.trapti.tech`)
13+
services:
14+
- name: gitea-dev
15+
port: 3000
16+
- kind: Rule
17+
match: Host(`git-dev.trapti.tech`)
18+
services:
19+
- name: gitea-dev
20+
port: 2200

gitea-dev/ksops.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
apiVersion: viaduct.ai/v1
2+
kind: ksops
3+
metadata:
4+
name: ksops
5+
annotations:
6+
config.kubernetes.io/function: |
7+
exec:
8+
path: ksops
9+
10+
files:
11+
- ./secrets/gitea-dev.yaml

gitea-dev/kustomization.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
resources:
2+
- certificate.yaml
3+
- deployment.yaml
4+
- ingress-route.yaml
5+
- service.yaml
6+
- volume-storage.yaml
7+
8+
images:
9+
- name: gitea-latest
10+
newName: ghcr.io/traptitech/gitea
11+
newTag: latest
12+
13+
generators:
14+
- ksops.yaml
15+
16+
configMapGenerator:
17+
- name: gitea-dev
18+
files:
19+
- ./config/app.ini

gitea-dev/secrets/gitea-dev.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
apiVersion: v1
2+
kind: Secret
3+
metadata:
4+
name: gitea-dev-secret
5+
annotations:
6+
kustomize.config.k8s.io/needs-hash: "true"
7+
stringData:
8+
GITEA__server__LFS_JWT_SECRET: ENC[AES256_GCM,data:lpP9yggfBU7C953tI4HmPQK1Omcr9dXl2A2NlJQI8r0whJ3ZnXp4pf1QJw==,iv:BesPX2oosSwRZfMtTh1NGf7jjH4GtAqV71Xfg0Oybeg=,tag:SfawB+hlcXFJMr/FKOQ6NA==,type:str]
9+
GITEA__database__PASSWD: ENC[AES256_GCM,data:mSj8U7fT8E/WFwvDL+zTaaAAYlEJmFTYgWfh6PoxJnw=,iv:9UvWElMtEenTWDX80TWSTfAQ+86zmcGn//FviUc9qUM=,tag:TV3Y3B/Pcr3+W26/SFF1nw==,type:str]
10+
GITEA__security__SECRET_KEY: ENC[AES256_GCM,data:oTRNt/52ZU24qYovNxBBkOJFeMChUa5kWerOXorhoyIQFKBU9YNMTtXizTKuCnGyA7pmr0Ak79XUKxh6fakqVg==,iv:UidGRaAbbamad7m8WTwsnpGDykRya8XBDWHDqZ0lqq0=,tag:Yk5Hr5AV8Ak7c1fZoc8vdQ==,type:str]
11+
GITEA__security__INTERNAL_TOKEN: ENC[AES256_GCM,data:8nVJclrXNVcj4bzsM0sTeXgWS0efcCcX/7s/6NQXKZ2mXVqpTIRQ8VO4AZGNxouOyHv1uApRJQjBMnsIXqCZvlSttTWGGZTmbdeww6Q1MLf9M5om1u1XngzC4uKkr/SlZxHizGodRPcK,iv:BRGnwEe2pPdtHZebpIWbg0H6W08UT6TP8LLZmBSH9UY=,tag:yAfQqOIvjZtFoFWXFFByKQ==,type:str]
12+
GITEA__lfs__MINIO_ACCESS_KEY_ID: ENC[AES256_GCM,data:JhkdKHZsI3BPhVVNZo2WPL0Hqqg=,iv:izcJl5Y465qys/ujRTzHr7Xzoi+XzL3MNVscQ2y3AMY=,tag:hLdo4ZpeEwg9ECJj3cXPcw==,type:str]
13+
GITEA__lfs__MINIO_SECRET_ACCESS_KEY: ENC[AES256_GCM,data:AAyFxipxE3fk3QJ8hbLLw9RBHg4Yy0Z0vZsKF9jJaiUQOVTu//pREg==,iv:gU1/eUj8ugWjvPZvncNCtoPfsC+USwSfFOVvZrkPUdQ=,tag:6dXKZ5+EQ+mCXxnI/VwfGw==,type:str]
14+
GITEA__oauth2__JWT_SECRET: ENC[AES256_GCM,data:wTtle6sapYVRfenjnuXlEU40yDu0luwya6a0xI/aZ2xNSn/ho3LeN+H8Hg==,iv:zoia7oqPPCIztz+dOqQnIG6j/Ng19vng9xegy9IiZZ0=,tag:K2OTdsuQlvCxL+oL6L5jBw==,type:str]
15+
sops:
16+
age:
17+
- recipient: age156red4ptw5huzpwlfnrukg4htuucdweu9jg8usjz98ggmeyedces3xqplq
18+
enc: |
19+
-----BEGIN AGE ENCRYPTED FILE-----
20+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0VElFWXRQM29VVDJtbHRn
21+
UGFQcGxYRCtndnloODBmQ1dodHlSK244SDNJClJvK1k1bThnTS9CaG1yWUlLSi9m
22+
enUxdHE5UERub25sdzBmMlF6VTM2d2cKLS0tIE96SDlpTlRnL043U2lMM3NZTVJz
23+
Ky9xckxxNGtZd0Y3R2FCQ3NVdlFhQkEK81ftmIE1ly0qWcrcNGiXmB+vsqP/YfzL
24+
cc2aIjkSgUaRQOoXusQMLsnXmYqsWKMWG9MP/exSgjvoWJerkUlTsQ==
25+
-----END AGE ENCRYPTED FILE-----
26+
lastmodified: "2025-09-24T11:05:31Z"
27+
mac: ENC[AES256_GCM,data:1NucylRUClTDhUTtZdzIvNAUXV7nmlLjtDCEusfDCeyTy48VE6KZz+spP8cCa3J9CIdIiu1n6LGuXqtZhVeFOvc4TQN2zQiYaqU+si+nEbmqLIUSM+m/w6ht/15QezYSlKmt1bNH2jp++0NXis3kfWnE4Y/Uo06O+xyD7HRwOlQ=,iv:+YTnp0vw8b525g41zziD5u2SA7tm0EPeEJRU8lXpc8g=,tag:RGvyG5oBkIAsW1r/R+Dbuw==,type:str]
28+
unencrypted_regex: ^(apiVersion|metadata|kind|type)$
29+
version: 3.10.2

gitea-dev/service.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
labels:
5+
app: gitea-dev
6+
name: gitea-dev
7+
spec:
8+
ports:
9+
- name: "3000"
10+
port: 3000
11+
targetPort: 3000
12+
- name: "2200"
13+
port: 2200
14+
targetPort: 2200
15+
selector:
16+
app: gitea-dev

gitea-dev/volume-storage.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v1
2+
kind: PersistentVolumeClaim
3+
metadata:
4+
labels:
5+
app: gitea-dev-storage
6+
name: gitea-dev-storage
7+
spec:
8+
resources:
9+
requests:
10+
storage: 100Mi
11+
volumeMode: Filesystem
12+
accessModes:
13+
- ReadWriteOnce

0 commit comments

Comments
 (0)