Resources
Rallly
-
db
postgres
Ready
-
app
lukevella/rallly:latest
Running
-
ingress
rallly.example.com
Live
Parameters
Deploy Rallly
App Name required
rallly
Domain required
rallly.example.com
Secret password
•••••••••••••••• generated
Generated if left empty
Support email required
Allowed emails
*@example.com
Comma-separated patterns; empty allows anyone
SMTP host required
smtp.example.com
Required: Rallly signs users in with emailed codes
SMTP port
587
SMTP username
SMTP password
app password
From address
Enable HTTPS
On
Cancel Deploy
YAML
apiVersion: leaf/v1
kind: Template
metadata:
name: rallly
displayName: 'Rallly'
description: 'Group scheduling polls, like Doodle. Sign-in is by email code, so SMTP is required.'
icon: calendar
version: '1.0.0'
category: community
tags: ['scheduling', 'polls', 'calendar']
keywords: ['doodle', 'when2meet', 'meeting poll', 'availability']
homepage: https://rallly.co
license: AGPL-3.0-only
parameters:
- name: appName
displayName: 'App Name'
type: string
default: 'rallly'
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: 'rallly.example.com'
- name: secretPassword
displayName: 'Secret password'
description: 'Generated if left empty'
type: secret
validation:
min: 32
- name: supportEmail
displayName: 'Support email'
type: string
required: true
placeholder: '[email protected]'
- name: allowedEmails
displayName: 'Allowed emails'
description: 'Comma-separated patterns; empty allows anyone'
type: string
default: ''
placeholder: '*@example.com'
- name: smtpHost
displayName: 'SMTP host'
description: 'Required: Rallly signs users in with emailed codes'
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: lukevella/rallly:latest
replicas: 1
ports:
- name: http
containerPort: 3000
servicePort: 3000
protocol: TCP
env:
- key: DATABASE_URL
value: '{{ resources.db.connectionString }}'
secret: true
- key: SECRET_PASSWORD
value: '{{ params.secretPassword }}'
secret: true
- key: NEXT_PUBLIC_BASE_URL
value: 'https://{{ params.domain }}'
- key: SUPPORT_EMAIL
value: '{{ params.supportEmail }}'
- key: ALLOWED_EMAILS
value: '{{ params.allowedEmails }}'
- key: NOREPLY_EMAIL
value: '{{ params.mailFrom }}'
- key: SMTP_SECURE
value: 'false'
- key: SMTP_HOST
value: '{{ params.smtpHost }}'
- key: SMTP_PORT
value: '{{ params.smtpPort }}'
- key: SMTP_USER
value: '{{ params.smtpUser }}'
- key: SMTP_PWD
value: '{{ params.smtpPassword }}'
secret: true
- name: ingress
type: ingress
config:
host: '{{ params.domain }}'
tlsEnabled: '{{ params.enableTls }}'
routes:
- path: /
serviceName: '{{ resources.app.serviceName }}'
servicePort: 3000