0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-27 09:54:15 -05:00
forgejo/docs/content/doc/installation/on-kubernetes.en-us.md
ttys3 e933f31426
Add health check endpoint (#18465)
* chore: add health check endpoint

docs: update document about health check

fix: fix up Sqlite3 ping. current ping will success even if the db file is missing

fix: do not expose privacy information in output field

* refactor: remove HealthChecker struct

* Added `/api/healthz` to install routes.

This was needed for using /api/healthz endpoint in Docker healthchecks,
otherwise, Docker would never become healthy if using healthz endpoint
and users would not be able to complete the installation of Gitea.

* Update modules/cache/cache.go

* fine tune

* Remove unnecessary test code. Now there are 2 routes for installation (and maybe more in future)

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Marcos de Oliveira <marcossantos@furb.br>
2022-05-04 14:56:20 +03:00

1.7 KiB

date title slug weight toc draft menu
2020-03-19T19:27:00+02:00 Install on Kubernetes install-on-kubernetes 10 false false
sidebar
parent name weight identifier
installation Kubernetes 50 install-on-kubernetes

Installation with Helm (on Kubernetes)

Gitea provides a Helm Chart to allow for installation on kubernetes.

A non-customized install can be done with:

helm repo add gitea-charts https://dl.gitea.io/charts/
helm install gitea gitea-charts/gitea

If you would like to customize your install, which includes kubernetes ingress, please refer to the complete Gitea helm chart configuration details

Health check endpoint

Gitea comes with a health check endpoint /api/healthz, you can configure it in kubernetes like this:

  livenessProbe:
    httpGet:
      path: /api/healthz
      port: http
    initialDelaySeconds: 200
    timeoutSeconds: 5
    periodSeconds: 10
    successThreshold: 1
    failureThreshold: 10

a successful health check response will respond with http code 200, here's example:

HTTP/1.1 200 OK


{
  "status": "pass",
  "description": "Gitea: Git with a cup of tea",
  "checks": {
    "cache:ping": [
      {
        "status": "pass",
        "time": "2022-02-19T09:16:08Z"
      }
    ],
    "database:ping": [
      {
        "status": "pass",
        "time": "2022-02-19T09:16:08Z"
      }
    ]
  }
}

for more information, please reference to kubernetes documentation Define a liveness HTTP request