https://github.com/appthrust/logto-helm
https://github.com/appthrust/logto-helm
logto
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/appthrust/logto-helm
- Owner: appthrust
- License: mit
- Created: 2025-01-23T04:41:48.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-01-23T05:16:33.000Z (5 months ago)
- Last Synced: 2025-03-19T13:45:04.750Z (3 months ago)
- Topics: logto
- Language: Smarty
- Homepage:
- Size: 9.77 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Logto Helm Chart
A Helm chart for deploying [Logto](https://logto.io/) Identity Service on Kubernetes with optional PostgreSQL database.
## Prerequisites
- Kubernetes 1.30+
- Helm 3.0+
- PV provisioner support in the underlying infrastructure (if persistence is enabled)## Installation
```bash
helm install logto ./charts/logto
```## Configuration
The following table lists the configurable parameters of the Logto chart and their default values.
### Global Parameters
| Parameter | Description | Default |
|-----------|-------------|---------|
| `replicaCount` | Number of Logto replicas | `1` |
| `image.repository` | Logto image repository | `svhd/logto` |
| `image.tag` | Logto image tag | `latest` |
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |### Logto Configuration
| Parameter | Description | Default |
|-----------|-------------|---------|
| `logto.trustProxyHeader` | Trust proxy headers when behind reverse proxy | `true` |
| `logto.endpoint` | Public URL for Logto API | `""` |
| `logto.adminEndpoint` | Public URL for admin console | `""` |### Service Configuration
The service exposes two ports:
- Main API endpoint (3001)
- Admin endpoint (3002)```yaml
service:
type: ClusterIP
ports:
- name: http-main
port: 3001
- name: http-admin
port: 3002
```### PostgreSQL Configuration
| Parameter | Description | Default |
|-----------|-------------|---------|
| `postgresql.enabled` | Enable PostgreSQL deployment | `true` |
| `postgresql.auth.username` | PostgreSQL username | `postgres` |
| `postgresql.auth.password` | PostgreSQL password | `p0stgr3s` |
| `postgresql.auth.database` | PostgreSQL database name | `logto` |
| `postgresql.persistence.enabled` | Enable persistence | `true` |
| `postgresql.persistence.size` | PVC size | `8Gi` |### Resource Requirements
Default resource limits:
```yaml
resources:
limits:
cpu: 1000m
memory: 1024Mi
requests:
cpu: 100m
memory: 128Mi
```## Example Installation
1. Create a values file (`values.yaml`):
```yaml
logto:
endpoint: "https://logto.example.com/api"
adminEndpoint: "https://logto.example.com/admin"ingress:
enabled: true
hosts:
- host: logto.example.com
paths:
- path: /
pathType: ImplementationSpecificpostgresql:
auth:
password: your-secure-password
```2. Install the chart:
```bash
helm install logto ./charts/logto -f values.yaml
```## Health Checks
The Logto application exposes a health check endpoint at `/api/status` which is used by Kubernetes probes to determine pod health.
## Notes
- For production deployments, it's recommended to:
- Use a secure PostgreSQL password
- Enable ingress with TLS
- Configure proper resource limits
- Use a specific image tag instead of `latest`
- Consider increasing PostgreSQL PVC size based on your data retention needs## License
This Helm chart is available under the MIT license.