gogs-deployment.yaml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. apiVersion: v1
  2. kind: ConfigMap
  3. metadata:
  4. name: gogs-config
  5. namespace: nginx-app
  6. data:
  7. app.ini: |
  8. [server]
  9. HTTP_ADDR = 0.0.0.0
  10. HTTP_PORT = 3000
  11. ROOT_URL = http://gogs2.9981.tech
  12. DOMAIN = gogs2.9981.tech
  13. [database]
  14. DB_TYPE = sqlite3
  15. PATH = /data/gogs.db
  16. [repository]
  17. ROOT = /data/git/gogs-repo
  18. ---
  19. apiVersion: apps/v1
  20. kind: Deployment
  21. metadata:
  22. name: gogs
  23. namespace: nginx-app
  24. labels:
  25. app: gogs
  26. spec:
  27. replicas: 1
  28. selector:
  29. matchLabels:
  30. app: gogs
  31. template:
  32. metadata:
  33. labels:
  34. app: gogs
  35. spec:
  36. containers:
  37. - name: gogs
  38. image: registry.cn-hangzhou.aliyuncs.com/zhongpengqun/wanderer:linux-amd64-gogs-0.13
  39. ports:
  40. - containerPort: 3000
  41. - containerPort: 22
  42. volumeMounts:
  43. - name: gogs-data
  44. mountPath: /data
  45. - name: gogs-config
  46. mountPath: /data/gogs/conf/app.ini
  47. subPath: app.ini
  48. resources:
  49. requests:
  50. memory: "256Mi"
  51. cpu: "250m"
  52. limits:
  53. memory: "512Mi"
  54. cpu: "1000m"
  55. volumes:
  56. - name: gogs-data
  57. persistentVolumeClaim:
  58. claimName: gogs-pvc
  59. - name: gogs-config
  60. configMap:
  61. name: gogs-config
  62. ---
  63. apiVersion: v1
  64. kind: Service
  65. metadata:
  66. name: gogs-service
  67. namespace: nginx-app
  68. spec:
  69. selector:
  70. app: gogs
  71. ports:
  72. - name: http
  73. port: 3000
  74. targetPort: 3000
  75. - name: ssh
  76. port: 22
  77. targetPort: 22
  78. type: ClusterIP
  79. ---
  80. apiVersion: v1
  81. kind: PersistentVolumeClaim
  82. metadata:
  83. name: gogs-pvc
  84. namespace: nginx-app
  85. spec:
  86. accessModes:
  87. - ReadWriteOnce
  88. resources:
  89. requests:
  90. storage: 5Gi
  91. ---
  92. apiVersion: networking.k8s.io/v1
  93. kind: Ingress
  94. metadata:
  95. name: gogs-ingress
  96. namespace: nginx-app
  97. annotations:
  98. traefik.ingress.kubernetes.io/service.scheme: "http"
  99. traefik.ingress.kubernetes.io/service.prefer-service-port: "true"
  100. spec:
  101. ingressClassName: traefik
  102. rules:
  103. - host: gogs2.9981.tech
  104. http:
  105. paths:
  106. - path: /
  107. pathType: Prefix
  108. backend:
  109. service:
  110. name: gogs-service
  111. port:
  112. number: 3000