**Description** The `ingressclassname` `entrypoint` and `tls` sections should only be used in very specific usecases. IngressClass: Only when having multiple ingress providers Entrypoint: only when having multiple traefik entrypoints tls: only when not using the clusterissuer setting on ingresslevel or using scale certs which are deprecated. fixes: #9142 **⚙️ Type of change** - [x] ⚙️ Feature/App addition - [ ] 🪛 Bugfix - [x] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [x] 🔃 Refactor of current code **🧪 How Has This Been Tested?** <!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration --> **📃 Notes:** <!-- Please enter any other relevant information here --> **✔️ Checklist:** - [ ] ⚖️ My code follows the style guidelines of this project - [ ] 👀 I have performed a self-review of my own code - [ ] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made corresponding changes to the documentation - [ ] ⚠️ My changes generate no new warnings - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [ ] ⬆️ I increased versions for any altered app according to semantic versioning **➕ App addition** If this PR is an app addition please make sure you have done the following. - [ ] 🪞 I have opened a PR on [truecharts/containers](https://github.com/truecharts/containers) adding the container to TrueCharts mirror repo. - [ ] 🖼️ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._
624 lines
38 KiB
YAML
624 lines
38 KiB
YAML
# Include{groups}
|
|
portals:
|
|
open:
|
|
# Include{portalLink}
|
|
questions:
|
|
# Include{global}
|
|
# Include{workload}
|
|
# Include{workloadDeployment}
|
|
|
|
# Include{replicas1}
|
|
# Include{podSpec}
|
|
# Include{containerMain}
|
|
|
|
|
|
- variable: env
|
|
group: "App Configuration"
|
|
label: "Image Environment"
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
- variable: APP_URL
|
|
label: "APP_URL"
|
|
description: "This is the url to your application, beginning with http:// or https:// (if you're running Snipe-IT over SSL). This should not have a trailing slash."
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: APP_FORCE_TLS
|
|
label: "APP_FORCE_TLS"
|
|
description: "Force use of HTTPS"
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: APP_TRUSTED_PROXIES
|
|
label: "APP_TRUSTED_PROXIES"
|
|
description: "APP_TRUSTED_PROXIES"
|
|
schema:
|
|
type: string
|
|
default: "172.16.0.0/16"
|
|
required: true
|
|
- variable: APP_LOCALE
|
|
label: "APP_LOCALE"
|
|
description: "Set this to reflect the two-letter or 5-letter abbreviation for the language you'd like to use for Snipe-IT"
|
|
schema:
|
|
type: string
|
|
default: "en"
|
|
required: true
|
|
enum:
|
|
- value: "en"
|
|
description: "English (US)"
|
|
- value: "en-GB"
|
|
description: "English (UK)"
|
|
- value: "af"
|
|
description: "Afrikaans"
|
|
- value: "ar"
|
|
description: "Arabic"
|
|
- value: "bg"
|
|
description: "Bulgarian"
|
|
- value: "zh-CN"
|
|
description: "Chinese Simplified"
|
|
- value: "zh-TW"
|
|
description: "Chinese Traditional"
|
|
- value: "hr"
|
|
description: "Croatian"
|
|
- value: "cs"
|
|
description: "Czech"
|
|
- value: "da"
|
|
description: "Danish"
|
|
- value: "nl"
|
|
description: "Dutch"
|
|
- value: "et"
|
|
description: "Estonian"
|
|
- value: "fi"
|
|
description: "Finnish"
|
|
- value: "fr"
|
|
description: "French"
|
|
- value: "de"
|
|
description: "German"
|
|
- value: "el"
|
|
description: "Greek"
|
|
- value: "he"
|
|
description: "Hebrew"
|
|
- value: "hu"
|
|
description: "Hungarian"
|
|
- value: "id"
|
|
description: "Indonesian"
|
|
- value: "en-ID"
|
|
description: "English, Indonesia"
|
|
- value: "ga-IE"
|
|
description: "Irish"
|
|
- value: "it"
|
|
description: "Italian"
|
|
- value: "ja"
|
|
description: "Japanese"
|
|
- value: "ko"
|
|
description: "Korean"
|
|
- value: "lv"
|
|
description: "Latvian"
|
|
- value: "lt"
|
|
description: "Lithuanian"
|
|
- value: "ms"
|
|
description: "Malay"
|
|
- value: "mi"
|
|
description: "Maori"
|
|
- value: "mn"
|
|
description: "Mongolian"
|
|
- value: "no"
|
|
description: "Norwegian"
|
|
- value: "fa"
|
|
description: "Persian"
|
|
- value: "pl"
|
|
description: "Polish"
|
|
- value: "pt-PT"
|
|
description: "Portuguese"
|
|
- value: "pt-BR"
|
|
description: "Portuguese, Brazilian"
|
|
- value: "ro"
|
|
description: "Romanian"
|
|
- value: "ru"
|
|
description: "Russian"
|
|
- value: "es-ES"
|
|
description: "Spanish"
|
|
- value: "es-CO"
|
|
description: "Spanish, Colombia"
|
|
- value: "sv-SE"
|
|
description: "Swedish"
|
|
- value: "ta"
|
|
description: "Tamil"
|
|
- value: "tr"
|
|
description: "Turkish"
|
|
- value: "vi"
|
|
description: "Vietnamese"
|
|
- value: "zu"
|
|
description: "Zulu"
|
|
- variable: IMAGE_LIB
|
|
label: "IMAGE_LIB"
|
|
description: "GD Library or Imagemagick are required to generate barcodes for Snipe-IT"
|
|
schema:
|
|
type: string
|
|
default: "gd"
|
|
required: true
|
|
enum:
|
|
- value: "gd"
|
|
description: "GD Library"
|
|
- value: "imagick"
|
|
description: "ImageMagick"
|
|
- variable: sessionsettings
|
|
label: "Session Settings"
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: SESSION_LIFETIME
|
|
label: "SESSION_LIFETIME"
|
|
description: "Specify the time in minutes that the session should remain valid."
|
|
schema:
|
|
type: int
|
|
default: 30
|
|
required: true
|
|
- variable: EXPIRE_ON_CLOSE
|
|
label: "EXPIRE_ON_CLOSE"
|
|
description: "Specify whether or not the logged in session should be expired when the user closes their browser window."
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: ENCRYPT
|
|
label: "ENCRYPT"
|
|
description: "Specify whether you wish to use encrypted cookies for your Snipe-IT sessions."
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: COOKIE_NAME
|
|
label: "COOKIE_NAME"
|
|
description: "If you are running multiple Snipe-IT installs, you should probably set this to a unique name for each one so that your browser doesn't get sessions confused."
|
|
schema:
|
|
type: string
|
|
default: "snipeit_session"
|
|
required: true
|
|
- variable: COOKIE_DOMAIN
|
|
label: "COOKIE_DOMAIN"
|
|
description: "Specify what domain name Snipe-IT should honor cookies from.should be set to whatever the domain name is of your Snipe-IT installation if you choose to use it."
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: SECURE_COOKIES
|
|
label: "SECURE_COOKIES"
|
|
description: "By setting this option to true, session cookies will only be sent back to the server if the browser has a HTTPS connection."
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: API_TOKEN_EXPIRATION_YEARS
|
|
label: "API_TOKEN_EXPIRATION_YEARS"
|
|
description: "This sets how long the API tokens should be valid for."
|
|
schema:
|
|
type: int
|
|
default: 40
|
|
required: true
|
|
- variable: loginsettings
|
|
label: "Login Settings"
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: LOGIN_MAX_ATTEMPTS
|
|
label: "LOGIN_MAX_ATTEMPTS"
|
|
description: "The maximum number of failed attempts allowed before the user is throttled."
|
|
schema:
|
|
type: int
|
|
default: 5
|
|
required: true
|
|
- variable: LOGIN_LOCKOUT_DURATION
|
|
label: "LOGIN_LOCKOUT_DURATION"
|
|
description: " The duration (in seconds) that the user should be blocked from attempting to authenticate again."
|
|
schema:
|
|
type: int
|
|
default: 60
|
|
required: true
|
|
- variable: miscsettings
|
|
label: "Misc Settings"
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: ALLOW_IFRAMING
|
|
label: "ALLOW_IFRAMING"
|
|
description: "Set this to true if you need to run Snipe-IT within an iframe."
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: APP_ALLOW_INSECURE_HOSTS
|
|
label: "APP_ALLOW_INSECURE_HOSTS"
|
|
description: "Set this to this to true ONLY if you if you cannot make your APP_URL match the actual URL of your application, and your hosting environment is secure and not accessible to the outside world."
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: GOOGLE_MAPS_API
|
|
label: "GOOGLE_MAPS_API"
|
|
description: "Include your Google Maps API key here if you'd like Snipe-IT to load maps from Google on your locations and suppliers pages."
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: LDAP_MEM_LIM
|
|
label: "LDAP_MEM_LIM"
|
|
description: "Memory limit for LDAP execution"
|
|
schema:
|
|
type: string
|
|
default: "500M"
|
|
required: true
|
|
- variable: LDAP_TIME_LIM
|
|
label: "LDAP_TIME_LIM"
|
|
description: "Time limit for LDAP execution"
|
|
schema:
|
|
type: int
|
|
default: 600
|
|
required: true
|
|
- variable: API_THROTTLE_PER_MINUTE
|
|
label: "API_THROTTLE_PER_MINUTE"
|
|
description: "Number of requests to allow per minute."
|
|
schema:
|
|
type: int
|
|
default: 120
|
|
required: true
|
|
- variable: ENABLE_HSTS
|
|
label: "ENABLE_HSTS"
|
|
description: "HSTS is a web security policy mechanism that helps to protect websites against man-in-the-middle attacks such as protocol downgrade attacks and cookie hijacking."
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: ENABLE_CSP
|
|
label: "ENABLE_CSP"
|
|
description: "Disable the content security policy that restricts what scripts, images and styles can load."
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: CORS_ALLOWED_ORIGINS
|
|
label: "CORS_ALLOWED_ORIGINS"
|
|
schema:
|
|
type: string
|
|
default: "null"
|
|
- variable: REFERRER_POLICY
|
|
label: "REFERRER_POLICY"
|
|
description: "This is an additional security header that browsers use to determine whether they should report back URL referrer information."
|
|
schema:
|
|
type: string
|
|
default: "same-origin"
|
|
- variable: mailsettings
|
|
label: "Mail Settings"
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: MAIL_DRIVER
|
|
label: "MAIL_DRIVER"
|
|
description: "Specify the driver you would like to use."
|
|
schema:
|
|
type: string
|
|
default: "log"
|
|
enum:
|
|
- value: "log"
|
|
description: "log"
|
|
- value: "smtp"
|
|
description: "smtp"
|
|
- value: "mail"
|
|
description: "mail"
|
|
- value: "sendmail"
|
|
description: "sendmail"
|
|
- variable: MAIL_HOST
|
|
label: "MAIL_HOST"
|
|
description: "Specify the hostname for your outgoing mail server. Keep in mind that this server must be accessible from the server you're running Snipe-IT on."
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: MAIL_PORT
|
|
label: "MAIL_PORT"
|
|
description: "Set the port number that your mail server expects to send from."
|
|
schema:
|
|
type: int
|
|
default: 587
|
|
- variable: MAIL_USERNAME
|
|
label: "MAIL_USERNAME"
|
|
description: "Set the username of the authenticated user you'll be sending email as."
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: MAIL_PASSWORD
|
|
label: "MAIL_PASSWORD"
|
|
description: "Set the password for the authenticated user you'll be sending as."
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
private: true
|
|
- variable: MAIL_ENCRYPTION
|
|
label: "MAIL_ENCRYPTION"
|
|
description: "Here you may specify the encryption protocol that should be used when the application sends e-mail messages."
|
|
schema:
|
|
type: string
|
|
default: "null"
|
|
enum:
|
|
- value: "null"
|
|
description: "null"
|
|
- value: "tls"
|
|
description: "tls"
|
|
- value: "ssl"
|
|
description: "ssl"
|
|
- variable: MAIL_FROM_ADDR
|
|
label: "MAIL_FROM_ADDR"
|
|
description: "Specify an email address that is used globally for all e-mails that are sent by your application."
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: MAIL_FROM_NAME
|
|
label: "MAIL_FROM_NAME"
|
|
description: "Specify the name that should show up in the recipient's inbox when they receive email from your Snipe-IT instance."
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: MAIL_REPLYTO_ADDR
|
|
label: "MAIL_REPLYTO_ADDR"
|
|
description: " Specify the address that should be the reply:to on emails from your Snipe-IT instance. This can be the same as your MAIL_FROM_ADDR, but it is required."
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: MAIL_REPLYTO_NAME
|
|
label: "MAIL_REPLYTO_NAME"
|
|
description: "Specify the name that should be the reply:to on emails from your Snipe-IT instance. This can be the same as your MAIL_FROM_NAME , but it is required."
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: MAIL_AUTO_EMBED
|
|
label: "MAIL_AUTO_EMBED"
|
|
description: "Whether or not to embed images in emails (via CID or base64) versus linking to them."
|
|
schema:
|
|
type: boolean
|
|
default: true
|
|
- variable: MAIL_AUTO_EMBED_METHOD
|
|
label: "MAIL_AUTO_EMBED_METHOD"
|
|
description: "Method that should be used for attaching inline images. Options are attachment (for CID) or base64."
|
|
schema:
|
|
type: string
|
|
default: "base64"
|
|
enum:
|
|
- value: "base64"
|
|
description: "base64"
|
|
- value: "attachment"
|
|
description: "attachment"
|
|
- variable: publicawssettings
|
|
label: "Public AWS S3 Settings"
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: PUBLIC_AWS_SECRET_ACCESS_KEY
|
|
label: "PUBLIC_AWS_SECRET_ACCESS_KEY"
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
private: true
|
|
- variable: PUBLIC_AWS_ACCESS_KEY_ID
|
|
label: "PUBLIC_AWS_ACCESS_KEY_ID"
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
private: true
|
|
- variable: PUBLIC_AWS_DEFAULT_REGION
|
|
label: "PUBLIC_AWS_DEFAULT_REGION"
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: PUBLIC_AWS_BUCKET
|
|
label: "PUBLIC_AWS_BUCKET"
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: PUBLIC_AWS_URL
|
|
label: "PUBLIC_AWS_URL"
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: PUBLIC_AWS_BUCKET_ROOT
|
|
label: "PUBLIC_AWS_BUCKET_ROOT"
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: privateawssettings
|
|
label: "Private AWS S3 Settings"
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: PRIVATE_AWS_SECRET_ACCESS_KEY
|
|
label: "PRIVATE_AWS_SECRET_ACCESS_KEY"
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
private: true
|
|
- variable: PRIVATE_AWS_ACCESS_KEY_ID
|
|
label: "PRIVATE_AWS_ACCESS_KEY_ID"
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
private: true
|
|
- variable: PRIVATE_AWS_DEFAULT_REGION
|
|
label: "PRIVATE_AWS_DEFAULT_REGION"
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: PRIVATE_AWS_BUCKET
|
|
label: "PRIVATE_AWS_BUCKET"
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: PRIVATE_AWS_URL
|
|
label: "PRIVATE_AWS_URL"
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: PRIVATE_AWS_BUCKET_ROOT
|
|
label: "PRIVATE_AWS_BUCKET_ROOT"
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
- variable: loggingsettings
|
|
label: "Logging Settings"
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_subquestions_if: true
|
|
subquestions:
|
|
- variable: LOG
|
|
label: "LOG"
|
|
description: "Whether to use a single log file, or multiple date-based log files for your app error logs."
|
|
schema:
|
|
type: string
|
|
default: "daily"
|
|
required: true
|
|
enum:
|
|
- value: "single"
|
|
description: "Single File"
|
|
- value: "daily"
|
|
description: "Daily Files"
|
|
- variable: APP_LOG_MAX_FILES
|
|
label: "APP_LOG_MAX_FILES"
|
|
description: "Max number of daily app log files to retain."
|
|
schema:
|
|
type: int
|
|
default: 10
|
|
required: true
|
|
- variable: APP_DEBUG
|
|
label: "APP_DEBUG"
|
|
description: "Enables App Debug."
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- variable: APP_LOG_LEVEL
|
|
label: "APP_LOG_LEVEL"
|
|
description: "Laravel will log all levels greater than or equal to the specified severity."
|
|
schema:
|
|
type: string
|
|
default: "error"
|
|
required: true
|
|
enum:
|
|
- value: "debug"
|
|
description: "debug"
|
|
- value: "info"
|
|
description: "info"
|
|
- value: "notice"
|
|
description: "notice"
|
|
- value: "warning"
|
|
description: "warning"
|
|
- value: "error"
|
|
description: "error"
|
|
- value: "critical"
|
|
description: "critical"
|
|
- value: "alert"
|
|
description: "alert"
|
|
- value: "emergency"
|
|
description: "emergency"
|
|
# Include{containerBasic}
|
|
# Include{containerAdvanced}
|
|
# Include{containerConfig}
|
|
# Include{podOptions}
|
|
# Include{serviceRoot}
|
|
- 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{serviceSelectorLoadBalancer}
|
|
# Include{serviceSelectorExtras}
|
|
- 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: 10120
|
|
required: true
|
|
# Include{serviceExpertRoot}
|
|
# Include{serviceExpert}
|
|
# Include{serviceList}
|
|
# Include{persistenceRoot}
|
|
- variable: data
|
|
label: "App Data Storage"
|
|
description: "Stores the Application Data."
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{persistenceBasic}
|
|
- variable: logs
|
|
label: "App Logs Storage"
|
|
description: "Stores the Application Logs."
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{persistenceBasic}
|
|
- variable: backups
|
|
label: "App Backups Storage"
|
|
description: "Stores the Application Backups."
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{persistenceBasic}
|
|
# Include{persistenceList}
|
|
# Include{ingressRoot}
|
|
- variable: main
|
|
label: "Main Ingress"
|
|
schema:
|
|
additional_attrs: true
|
|
type: dict
|
|
attrs:
|
|
# Include{ingressDefault}
|
|
# Include{ingressTLS}
|
|
# Include{ingressTraefik}
|
|
# Include{ingressAdvanced}
|
|
# Include{ingressList}
|
|
# Include{securityContextRoot}
|
|
|
|
- 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 of the user running the application"
|
|
schema:
|
|
type: int
|
|
default: 1000
|
|
# Include{securityContextContainer}
|
|
# Include{securityContextAdvanced}
|
|
# Include{securityContextPod}
|
|
- variable: fsGroup
|
|
label: "fsGroup"
|
|
description: "The group that should own ALL storage."
|
|
schema:
|
|
type: int
|
|
default: 50
|
|
|
|
# Include{resources}
|
|
# Include{advanced}
|
|
# Include{addons}
|
|
# Include{codeserver}
|
|
# Include{netshoot}
|
|
# Include{vpn}
|
|
# Include{documentation}
|