feat(grist): Move to stable (#2037)

This commit is contained in:
Stavros Kois
2022-03-06 15:03:13 +01:00
committed by GitHub
parent 6b89aa45ef
commit cb72612c93
9 changed files with 1 additions and 1 deletions
-74
View File
@@ -1,74 +0,0 @@
# Changelog<br>
<a name="grist-1.0.2"></a>
### [grist-1.0.2](https://github.com/truecharts/apps/compare/grist-1.0.0...grist-1.0.2) (2022-03-06)
#### Fix
* fix some apps and move some apps to stable
* can't have boolean under secret ([#2031](https://github.com/truecharts/apps/issues/2031))
<a name="grist-1.0.0"></a>
### [grist-1.0.0](https://github.com/truecharts/apps/compare/grist-0.0.6...grist-1.0.0) (2022-03-03)
#### Chore
* remove fixed env from questions.yaml
* update helm general major helm releases ([#2021](https://github.com/truecharts/apps/issues/2021))
#### Fix
* BREAKING CHANGE Move some env-vars outside of env section ([#2010](https://github.com/truecharts/apps/issues/2010))
* fix deemix questions.yaml
<a name="grist-0.0.6"></a>
### [grist-0.0.6](https://github.com/truecharts/apps/compare/grist-0.0.5...grist-0.0.6) (2022-03-02)
#### Fix
* update image reference ([#2000](https://github.com/truecharts/apps/issues/2000))
<a name="grist-0.0.5"></a>
### [grist-0.0.5](https://github.com/truecharts/apps/compare/grist-0.0.3...grist-0.0.5) (2022-03-02)
#### Chore
* update helm general non-major helm releases ([#1999](https://github.com/truecharts/apps/issues/1999))
#### Fix
* enable secondary ports ([#1989](https://github.com/truecharts/apps/issues/1989))
<a name="grist-0.0.3"></a>
### [grist-0.0.3](https://github.com/truecharts/apps/compare/grist-0.0.2...grist-0.0.3) (2022-02-28)
#### Chore
* update image ([#1985](https://github.com/truecharts/apps/issues/1985))
<a name="grist-0.0.2"></a>
### [grist-0.0.2](https://github.com/truecharts/apps/compare/grist-0.0.1...grist-0.0.2) (2022-02-28)
#### Chore
* update docker general non-major ([#1980](https://github.com/truecharts/apps/issues/1980))
<a name="grist-0.0.1"></a>
### grist-0.0.1 (2022-02-27)
#### Feat
* Add grist ([#1972](https://github.com/truecharts/apps/issues/1972))
-8
View File
@@ -1,8 +0,0 @@
# Configuration Options
##### Connecting to other apps
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
##### Available config options
In the future this page is going to contain an automated list of options available in the installation/edit UI.
-29
View File
@@ -1,29 +0,0 @@
apiVersion: v2
appVersion: "0.7.5"
dependencies:
- name: common
repository: https://truecharts.org
version: 9.0.0
description: Grist is a modern relational spreadsheet. It combine the flexibility of a spreadsheet with the robustness of a database to organize your data.
home: https://github.com/truecharts/apps/tree/master/charts/stable/grist
icon: https://truecharts.org/_static/img/appicons/grist-icon.png
keywords:
- grist
- spreadsheet
- database
kubeVersion: '>=1.16.0-0'
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: grist
sources:
- https://hub.docker.com/r/gristlabs/grist
- https://github.com/gristlabs/grist-core
- https://support.getgrist.com/
version: 1.0.2
annotations:
truecharts.org/catagories: |
- productivity
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U
-39
View File
@@ -1,39 +0,0 @@
# Introduction
Grist is a modern relational spreadsheet. It combine the flexibility of a spreadsheet with the robustness of a database to organize your data.
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
## Source Code
* <https://hub.docker.com/r/gristlabs/grist>
* <https://github.com/gristlabs/grist-core>
* <https://support.getgrist.com/>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://truecharts.org | common | 9.0.0 |
## Installing the Chart
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/).
## Uninstalling the Chart
To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/).
## Support
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first.
- See the [Wiki](https://truecharts.org)
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
---
All Rights Reserved - The TrueCharts Project
-33
View File
@@ -1,33 +0,0 @@
# Default Helm-Values
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
Most of our Apps also consume our "common" Helm Chart.
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| env.GRIST_DEFAULT_EMAIL | string | `"user@mydomain.com"` | |
| env.HOME_PORT | string | `"{{ .Values.service.api.ports.api.port }}"` | |
| env.PORT | string | `"{{ .Values.service.main.ports.main.port }}"` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"tccr.io/truecharts/grist"` | |
| image.tag | string | `"v0.7.5@sha256:1167922bec1f019de3cc0463f97f1bd3cad1d104ceee4d31e26d74493d6f79fc"` | |
| persistence.persist.enabled | bool | `true` | |
| persistence.persist.mountPath | string | `"/persist"` | |
| podSecurityContext.runAsGroup | int | `0` | |
| podSecurityContext.runAsUser | int | `0` | |
| securityContext.readOnlyRootFilesystem | bool | `false` | |
| securityContext.runAsNonRoot | bool | `false` | |
| service.api.enabled | bool | `true` | |
| service.api.ports.api.enabled | bool | `true` | |
| service.api.ports.api.port | int | `10164` | |
| service.api.ports.api.targetPort | int | `10164` | |
| service.main.ports.main.port | int | `10163` | |
| service.main.ports.main.targetPort | int | `10163` | |
All Rights Reserved - The TrueCharts Project
-498
View File
@@ -1,498 +0,0 @@
# Include{groups}
portals:
open:
protocols:
- "$kubernetes-resource_configmap_portal_protocol"
host:
- "$kubernetes-resource_configmap_portal_host"
ports:
- "$kubernetes-resource_configmap_portal_port"
questions:
- variable: portal
group: "Container Image"
label: "Configure Portal Button"
schema:
type: dict
hidden: true
attrs:
- variable: enabled
label: "Enable"
description: "enable the portal button"
schema:
hidden: true
editable: false
type: boolean
default: true
# Include{global}
- variable: controller
group: "Controller"
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: advanced
label: "Show Advanced Controller Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: type
description: "Please specify type of workload to deploy"
label: "(Advanced) Controller Type"
schema:
type: string
default: "deployment"
required: true
enum:
- value: "deployment"
description: "Deployment"
- value: "statefulset"
description: "Statefulset"
- value: "daemonset"
description: "Daemonset"
- variable: replicas
description: "Number of desired pod replicas"
label: "Desired Replicas"
schema:
type: int
default: 1
required: true
- variable: strategy
description: "Please specify type of workload to deploy"
label: "(Advanced) Update Strategy"
schema:
type: string
default: "Recreate"
required: true
enum:
- value: "Recreate"
description: "Recreate: Kill existing pods before creating new ones"
- value: "RollingUpdate"
description: "RollingUpdate: Create new pods and then kill old ones"
- value: "OnDelete"
description: "(Legacy) OnDelete: ignore .spec.template changes"
# Include{controllerExpert}
- variable: env
group: "Container Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: GRIST_DEFAULT_EMAIL
label: "GRIST_DEFAULT_EMAIL"
description: "If set, login as this user if no other credentials presented"
schema:
type: string
default: ""
- variable: GRIST_DOMAIN
label: "GRIST_DOMAIN"
description: "In hosted Grist, Grist is served from subdomains of this domain"
schema:
type: string
default: ""
- variable: GRIST_SUPPORT_ANON
label: "GRIST_SUPPORT_ANON"
description: "If set to true, show UI for anonymous access."
schema:
type: boolean
default: false
- variable: GRIST_THROTTLE_CPU
label: "GRIST_THROTTLE_CPU"
description: "If set, CPU throttling is enabled"
schema:
type: boolean
default: false
- variable: GRIST_BACKUP_DELAY_SECS
label: "GRIST_BACKUP_DELAY_SECS"
description: "Wait this long after a doc change before making a backup"
schema:
type: int
default: 15
- variable: ALLOWED_WEBHOOK_DOMAINS
label: "ALLOWED_WEBHOOK_DOMAINS"
description: "Comma-separated list of permitted domains to use in webhooks"
schema:
type: string
default: ""
- variable: enabledsandbox
label: "Sandbox"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: GRIST_SANDBOX_FLAVOR
label: "GRIST_SANDBOX_FLAVOR"
description: "If set, forces Grist to use the specified kind of sandbox."
schema:
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "pynbox"
description: "pynbox"
- value: "unsandboxed"
description: "unsandboxed"
- value: "docker"
description: "docker"
- value: "macSandboxExec"
description: "macSandboxExec"
- variable: GRIST_SANDBOX
label: "GRIST_SANDBOX"
description: "A program or image name to run as the sandbox. See NSandbox.ts for nerdy details."
schema:
type: string
default: ""
- variable: PYTHON_VERSION
label: "PYTHON_VERSION"
description: "If set, documents without an engine setting are assumed to use the specified version of python. Not all sandboxes support all versions."
schema:
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "2"
description: "2"
- value: "3"
description: "3"
- variable: PYTHON_VERSION_ON_CREATION
label: "PYTHON_VERSION_ON_CREATION"
description: "If set, newly created documents have an engine setting set to python2 or python3. Not all sandboxes support all versions."
schema:
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "2"
description: "2"
- value: "3"
description: "3"
- variable: enabledgdrive
label: "Google Drive Integration"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: GOOGLE_CLIENT_ID
label: "GOOGLE_CLIENT_ID"
description: "Set to the Google Client Id to be used with Google API client"
schema:
type: string
default: ""
- variable: GOOGLE_CLIENT_SECRET
label: "GOOGLE_CLIENT_SECRET"
description: "Set to the Google Client Secret to be used with Google API client"
schema:
type: string
private: true
default: ""
- variable: GOOGLE_API_KEY
label: "GOOGLE_API_KEY"
description: "Set to the Google API Key to be used with Google API client (accessing public files)"
schema:
type: string
private: true
default: ""
- variable: GOOGLE_DRIVE_SCOPE
label: "GOOGLE_DRIVE_SCOPE"
description: "Set to the scope requested for Google Drive integration (defaults to drive.file)"
schema:
type: string
private: true
default: ""
# Include{containerConfig}
- variable: service
group: "Networking and Services"
label: "Configure Service(s)"
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: "Main Service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: main
label: "Main Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 10163
required: true
- variable: advanced
label: "Show Advanced settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "HTTP"
enum:
- value: HTTP
description: "HTTP"
- value: "HTTPS"
description: "HTTPS"
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: nodePort
label: "Node Port (Optional)"
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
schema:
type: int
min: 9000
max: 65535
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 10163
- variable: api
label: "API Service"
description: "API service"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: api
label: "API Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 10164
required: true
- variable: advanced
label: "Show Advanced settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "HTTP"
enum:
- value: HTTP
description: "HTTP"
- value: "HTTPS"
description: "HTTPS"
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: nodePort
label: "Node Port (Optional)"
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
schema:
type: int
min: 9000
max: 65535
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 10164
- variable: serviceexpert
group: "Networking and Services"
label: "Show Expert Config"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostNetwork
group: "Networking and Services"
label: "Host-Networking (Complicated)"
schema:
type: boolean
default: false
# Include{serviceExpert}
# Include{serviceList}
- variable: persistence
label: "Integrated Persistent Storage"
description: "Integrated Persistent Storage"
group: "Storage and Persistence"
schema:
additional_attrs: true
type: dict
attrs:
- variable: persist
label: "App Persist Storage"
description: "Stores the Application Persist."
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: "Type of Storage"
description: "Sets the persistence type, Anything other than PVC could break rollback!"
schema:
type: string
default: "simplePVC"
enum:
- value: "simplePVC"
description: "PVC (simple)"
- value: "simpleHP"
description: "HostPath (simple)"
- value: "emptyDir"
description: "emptyDir"
- value: "pvc"
description: "pvc"
- value: "hostPath"
description: "hostPath"
# Include{persistenceBasic}
- variable: hostPath
label: "hostPath"
description: "Path inside the container the storage is mounted"
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: medium
label: "EmptyDir Medium"
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "Memory"
description: "Memory"
# Include{persistenceAdvanced}
# Include{persistenceList}
- variable: ingress
label: ""
group: "Ingress"
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: "Main Ingress"
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
# Include{ingressList}
# Include{security}
- variable: advancedSecurity
label: "Show Advanced Security Settings"
group: "Security and Permissions"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: securityContext
label: "Security Context"
schema:
additional_attrs: true
type: dict
attrs:
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: false
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: "runAsNonRoot"
schema:
type: boolean
default: false
# Include{securityContextAdvanced}
- variable: podSecurityContext
group: "Security and Permissions"
label: "Pod Security Context"
schema:
additional_attrs: true
type: dict
attrs:
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 0
- variable: runAsGroup
label: "runAsGroup"
description: The groupID this App of the user running the application"
schema:
type: int
default: 0
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 568
# Include{podSecurityContextAdvanced}
# Include{resources}
# Include{advanced}
# Include{addons}
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
{{ include "common.all" . }}
-47
View File
@@ -1,47 +0,0 @@
image:
repository: tccr.io/truecharts/grist
tag: v0.7.5@sha256:1167922bec1f019de3cc0463f97f1bd3cad1d104ceee4d31e26d74493d6f79fc
pullPolicy: IfNotPresent
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
podSecurityContext:
runAsUser: 0
runAsGroup: 0
env:
PORT: "{{ .Values.service.main.ports.main.port }}"
HOME_PORT: "{{ .Values.service.api.ports.api.port }}"
GRIST_DEFAULT_EMAIL: "user@mydomain.com"
# https://github.com/gristlabs/grist-core/issues/128
# envValueFrom:
# REDIS_URL:
# secretKeyRef:
# name: rediscreds
# key: url
service:
main:
ports:
main:
port: 10163
targetPort: 10163
api:
enabled: true
ports:
api:
enabled: true
port: 10164
targetPort: 10164
persistence:
persist:
enabled: true
mountPath: "/persist"
# redis:
# enabled: true
# existingSecret: "rediscreds"