apps:mastodon:description:|[link=https://joinmastodon.org/]Mastodon[/link] is an open source self hosted social media network.smol-k8s-lab supports initializing mastodon, by setting up your hostname, SMTP credentials, valkey credentials, postgresql credentials, libretranslate, and an admin user credentials. We pass all credentials as Secrets in the namespace and optionally save them to Bitwarden.smol-k8s-lab also creates a local s3 endpoint and as well as S3 bucket and credentials if you enable set mastodon.argo.secret_keys.s3_provider to "minio" or "seaweedfs". Both seaweedfs and minio require you to specify a remote s3 endpoint, bucket, region, and accessID/secretKey so that we can make sure you have remote backups.To provide sensitive values via environment variables to smol-k8s-lab use:- MASTODON_SMTP_PASSWORD- MASTODON_S3_BACKUP_ACCESS_ID- MASTODON_S3_BACKUP_SECRET_KEY- MASTODON_RESTIC_REPO_PASSWORD- MASTODON_LIBRETRANSLATE_API_KEYenabled:falseinit:enabled:truerestore:enabled:falsecnpg_restore:truerestic_snapshot_ids:seaweedfs_volume:latestseaweedfs_filer:latestmastodon_valkey_primary:latestmastodon_valkey_replica:latestvalues:# admin useradmin_user:"tootadmin"# admin user's emailadmin_email:""# api key for mastodon to do translations through libretranslatelibretranslate_api_key:value_from:env:MASTODON_LIBRETRANSLATE_API_KEY# mail server to send verification and notification emailssmtp_host:"change@me-to-enable.mail"# mail user for smtp hostsmtp_user:"changemetoenablemail"smtp_password:value_from:env:MASTODON_SMTP_PASSWORDbackups:# cronjob syntax schedule to run mastodon pvc backupspvc_schedule:10 0 * * *# cronjob syntax (with SECONDS field) for mastodon postgres backups# must happen at least 10 minutes before pvc backups, to avoid corruption# due to missing files. This is because the backup shows as completed before# it actually ispostgres_schedule:0 0 0 * * *s3:# these are for pushing remote backups of your local s3 storage, for speed and cost optimizationendpoint:s3.eu-central-003.backblazeb2.combucket:my-mastodon-backupsregion:eu-central-003secret_access_key:value_from:env:MASTODON_S3_BACKUP_SECRET_KEYaccess_key_id:value_from:env:MASTODON_S3_BACKUP_ACCESS_IDrestic_repo_password:value_from:env:MASTODON_RESTIC_REPO_PASSWORDargo:# secrets keys to make available to Argo CD ApplicationSetssecret_keys:## optional toleration and affinity settings# toleration_key: dedicated# toleration_operator: Equal# toleration_value: somekey# toleration_effect: NoSchedule# affinity_key: dedicated# affinity_value: somekey# smtp port on your mail serversmtp_port:'25'# admin user for your mastodon instanceadmin_user:tootadmin# endpoint for libretranslate translationslibretranslate_hostname:""# hostname that users go to in the browserhostname:""# set the local s3 provider for mastodon's public data in one bucket# and private database backups in another. can be minio or seaweedfss3_provider:seaweedfs# how large the backing pvc's capacity should be for minio or seaweedfss3_pvc_capacity:120Gi# s3 storage classs3_pvc_storage_class:local-path# local s3 endpoint for postgresql backups, backed up constantlys3_endpoint:""s3_region:eu-west-1# enable persistence for valkey - recommendedvalkey_pvc_enabled:'true'# size of valkey pvc storage settingsvalkey_storage:3Givalkey_storage_class:local-pathvalkey_access_mode:ReadWriteOnce# git repo to install the Argo CD app fromrepo:https://github.com/small-hack/argocd-apps# path in the argo repo to point to. Trailing slash very important!# to use tolerations/affinity switch this to mastodon/small-hack/app_of_apps_with_tolerations/path:mastodon/small-hack/app_of_apps/# either the branch or tag to point at in the argo repo aboverevision:main# kubernetes cluster to install the k8s app into, defaults to Argo CD defaultcluster:https://kubernetes.default.svc# namespace to install the k8s app innamespace:mastodon# recurse directories in the git repodirectory_recursion:false# source repos for Argo CD App Project (in addition to argo.repo)project:name:mastodon# depending on if you use seaweedfs or minio, you can remove the other source reposource_repos:-registry-1.docker.io-https://small-hack.github.io/cloudnative-pg-cluster-chart-https://operator.min.io/-https://seaweedfs.github.io/seaweedfs/helm-https://small-hack.github.io/mastodon-helm-chartdestination:# automatically includes the app's namespace and argocd's namespacenamespaces:[]