Resources
Fider
-
db
postgres
Ready
-
app
getfider/fider:stable
Running
-
ingress
feedback.example.com
Live
Parameters
Deploy Fider
App Name required
feedback
Domain required
feedback.example.com
JWT secret
•••••••••••••••• generated
Generated if left empty
SMTP host required
smtp.example.com
Required: Fider signs users in with emailed links
SMTP port
587
SMTP username
SMTP password
app password
From address
Enable HTTPS
On
Cancel Deploy
YAML
apiVersion: leaf/v1
kind: Template
metadata:
name: fider
displayName: 'Fider'
description: 'A feedback board where users post ideas and vote. Sign-in is by email link, so SMTP is required.'
icon: https://github.com/getfider.png?size=256
version: '1.0.0'
category: community
tags: ['feedback', 'voting', 'roadmap']
keywords: ['canny', 'feature requests', 'ideas board', 'upvote']
homepage: https://fider.io
license: AGPL-3.0-only
parameters:
- name: appName
displayName: 'App Name'
type: string
default: 'feedback'
required: true
validation:
pattern: '^[a-z][a-z0-9-]{1,58}[a-z0-9]$'
message: 'Must be lowercase alphanumeric with hyphens, 3-60 chars'
- name: domain
displayName: 'Domain'
type: string
required: true
placeholder: 'feedback.example.com'
- name: jwtSecret
displayName: 'JWT secret'
description: 'Generated if left empty'
type: secret
validation:
min: 64
- name: smtpHost
displayName: 'SMTP host'
description: 'Required: Fider signs users in with emailed links'
type: string
required: true
placeholder: 'smtp.example.com'
- name: smtpPort
displayName: 'SMTP port'
type: number
default: 587
- name: smtpUser
displayName: 'SMTP username'
type: string
default: ''
placeholder: '[email protected]'
- name: smtpPassword
displayName: 'SMTP password'
type: string
default: ''
placeholder: 'app password'
- name: mailFrom
displayName: 'From address'
type: string
default: ''
placeholder: '[email protected]'
- name: enableTls
displayName: 'Enable HTTPS'
type: boolean
default: true
resources:
- name: db
type: database
config:
name: '{{ params.appName }}-db'
- name: app
type: deployment
config:
name: '{{ params.appName }}'
image: getfider/fider:stable
replicas: 1
ports:
- name: http
containerPort: 3000
servicePort: 3000
protocol: TCP
env:
- key: BASE_URL
value: 'https://{{ params.domain }}'
- key: DATABASE_URL
value: '{{ resources.db.connectionString }}?sslmode=disable'
secret: true
- key: JWT_SECRET
value: '{{ params.jwtSecret }}'
secret: true
- key: EMAIL_NOREPLY
value: '{{ params.mailFrom }}'
- key: EMAIL_SMTP_HOST
value: '{{ params.smtpHost }}'
- key: EMAIL_SMTP_PORT
value: '{{ params.smtpPort }}'
- key: EMAIL_SMTP_USERNAME
value: '{{ params.smtpUser }}'
- key: EMAIL_SMTP_PASSWORD
value: '{{ params.smtpPassword }}'
secret: true
- name: ingress
type: ingress
config:
host: '{{ params.domain }}'
tlsEnabled: '{{ params.enableTls }}'
routes:
- path: /
serviceName: '{{ resources.app.serviceName }}'
servicePort: 3000