- replicaCount: 1
-
- image:
- repository: tootsuite/mastodon
- # https://hub.docker.com/r/tootsuite/mastodon/tags
- #
- # alternatively, use `latest` for the latest release or `edge` for the image
- # built from the most recent commit
- #
- # tag: latest
- tag: v3.5.2
- # use `Always` when using `latest` tag
- pullPolicy: IfNotPresent
-
- mastodon:
- # create an initial administrator user; the password is autogenerated and will
- # have to be reset
- createAdmin:
- enabled: false
- username: not_gargron
- email: not@example.com
- cron:
- # run `tootctl media remove` every week
- removeMedia:
- enabled: true
- schedule: "0 0 * * 0"
- # available locales: https://github.com/tootsuite/mastodon/blob/master/config/application.rb#L43
- locale: en
- local_domain: mastodon.local
- # Use of WEB_DOMAIN requires careful consideration: https://docs.joinmastodon.org/admin/config/#federation
- # You must redirect the path LOCAL_DOMAIN/.well-known/ to WEB_DOMAIN/.well-known/ as described
- # web_domain: mastodon.example.com
- persistence:
- assets:
- # ReadWriteOnce is more widely supported than ReadWriteMany, but limits
- # scalability, since it requires the Rails and Sidekiq pods to run on the
- # same node.
- accessMode: ReadWriteOnce
- resources:
- requests:
- storage: 10Gi
- system:
- accessMode: ReadWriteOnce
- resources:
- requests:
- storage: 100Gi
- s3:
- enabled: false
- access_key: ""
- access_secret: ""
- # you can also specify the name of an existing Secret
- # with keys AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
- existingSecret: ""
- bucket: ""
- endpoint: https://us-east-1.linodeobjects.com
- hostname: us-east-1.linodeobjects.com
- region: ""
- # If you have a caching proxy, enter its base URL here.
- alias_host: ""
- # these must be set manually; autogenerated keys are rotated on each upgrade
- secrets:
- secret_key_base: ""
- otp_secret: ""
- vapid:
- private_key: ""
- public_key: ""
- # you can also specify the name of an existing Secret
- # with keys SECRET_KEY_BASE and OTP_SECRET and
- # VAPID_PRIVATE_KEY and VAPID_PUBLIC_KEY
- existingSecret: ""
- sidekiq:
- concurrency: 25
- smtp:
- auth_method: plain
- ca_file: /etc/ssl/certs/ca-certificates.crt
- delivery_method: smtp
- domain:
- enable_starttls_auto: true
- from_address: notifications@example.com
- openssl_verify_mode: peer
- port: 587
- reply_to:
- server: smtp.mailgun.org
- tls: false
- login:
- password:
- # you can also specify the name of an existing Secret
- # with the keys login and password
- existingSecret:
- streaming:
- port: 4000
- # this should be set manually since os.cpus() returns the number of CPUs on
- # the node running the pod, which is unrelated to the resources allocated to
- # the pod by k8s
- workers: 1
- # The base url for streaming can be set if the streaming API is deployed to
- # a different domain/subdomain.
- # base_url: wws://streaming.example.com
- web:
- port: 3000
-
- ingress:
- enabled: true
- annotations:
- kubernetes.io/ingress.class: nginx
- kubernetes.io/tls-acme: "true"
- # cert-manager.io/cluster-issuer: "letsencrypt"
- #
- # ensure that NGINX's upload size matches Mastodon's
- # for the K8s ingress controller:
- # nginx.ingress.kubernetes.io/proxy-body-size: 40m
- # for the NGINX ingress controller:
- # nginx.org/client-max-body-size: 40m
- hosts:
- - host: mastodon.local
- paths:
- - path: '/'
- tls:
- - secretName: mastodon-tls
- hosts:
- - mastodon.local
-
- # https://github.com/bitnami/charts/tree/master/bitnami/elasticsearch#parameters
- elasticsearch:
- # `false` will disable full-text search
- #
- # if you enable ES after the initial install, you will need to manually run
- # RAILS_ENV=production bundle exec rake chewy:sync
- # (https://docs.joinmastodon.org/admin/optional/elasticsearch/)
- enabled: true
- image:
- tag: 7
-
- # https://github.com/bitnami/charts/tree/master/bitnami/postgresql#parameters
- postgresql:
- # disable if you want to use an existing db; in which case the values below
- # must match those of that external postgres instance
- enabled: true
- # postgresqlHostname: preexisting-postgresql
- auth:
- database: mastodon_production
- username: postgres
- # you must set a password; the password generated by the postgresql chart will
- # be rotated on each upgrade:
- # https://github.com/bitnami/charts/tree/master/bitnami/postgresql#upgrade
- password: ""
- # you can also specify the name of an existing Secret
- # with a key of postgres-password set to the password you want
- existingSecret: ""
-
- # https://github.com/bitnami/charts/tree/master/bitnami/redis#parameters
- redis:
- # you must set a password; the password generated by the redis chart will be
- # rotated on each upgrade:
- password: ""
- # you can also specify the name of an existing Secret
- # with a key of redis-password set to the password you want
- # auth:
- # existingSecret: ""
-
- service:
- type: ClusterIP
- port: 80
-
- externalAuth:
- oidc:
- # OpenID Connect support is proposed in PR #16221 and awaiting merge.
- enabled: false
- # display_name: "example-label"
- # issuer: https://login.example.space/auth/realms/example-space
- # discovery: true
- # scope: "openid,profile"
- # uid_field: uid
- # client_id: mastodon
- # client_secret: SECRETKEY
- # redirect_uri: https://example.com/auth/auth/openid_connect/callback
- # assume_email_is_verified: true
- # client_auth_method:
- # response_type:
- # response_mode:
- # display:
- # prompt:
- # send_nonce:
- # send_scope_to_token_endpoint:
- # idp_logout_redirect_uri:
- # http_scheme:
- # host:
- # port:
- # jwks_uri:
- # auth_endpoint:
- # token_endpoint:
- # user_info_endpoint:
- # end_session_endpoint:
- saml:
- enabled: false
- # acs_url: http://mastodon.example.com/auth/auth/saml/callback
- # issuer: mastodon
- # idp_sso_target_url: https://login.example.com/auth/realms/example/protocol/saml
- # idp_cert: '-----BEGIN CERTIFICATE-----[your_cert_content]-----END CERTIFICATE-----'
- # idp_cert_fingerprint:
- # name_identifier_format: urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
- # cert:
- # private_key:
- # want_assertion_signed: true
- # want_assertion_encrypted: true
- # assume_email_is_verified: true
- # uid_attribute: "urn:oid:0.9.2342.19200300.100.1.1"
- # attributes_statements:
- # uid: "urn:oid:0.9.2342.19200300.100.1.1"
- # email: "urn:oid:1.3.6.1.4.1.5923.1.1.1.6"
- # full_name: "urn:oid:2.16.840.1.113730.3.1.241"
- # first_name: "urn:oid:2.5.4.42"
- # last_name: "urn:oid:2.5.4.4"
- # verified:
- # verified_email:
- oauth_global:
- # Force redirect local login to CAS. Does not function with SAML or LDAP.
- oauth_redirect_at_sign_in: false
- cas:
- enabled: false
- # url: https://sso.myserver.com
- # host: sso.myserver.com
- # port: 443
- # ssl: true
- # validate_url:
- # callback_url:
- # logout_url:
- # login_url:
- # uid_field: 'user'
- # ca_path:
- # disable_ssl_verification: false
- # assume_email_is_verified: true
- # keys:
- # uid: 'user'
- # name: 'name'
- # email: 'email'
- # nickname: 'nickname'
- # first_name: 'firstname'
- # last_name: 'lastname'
- # location: 'location'
- # image: 'image'
- # phone: 'phone'
- pam:
- enabled: false
- # email_domain: example.com
- # default_service: rpam
- # controlled_service: rpam
- ldap:
- enabled: false
- # host: myservice.namespace.svc
- # port: 389
- # method: simple_tls
- # base:
- # bind_on:
- # password:
- # uid: cn
- # mail: mail
- # search_filter: "(|(%{uid}=%{email})(%{mail}=%{email}))"
- # uid_conversion:
- # enabled: true
- # search: "., -"
- # replace: _
-
- # https://github.com/tootsuite/mastodon/blob/master/Dockerfile#L88
- #
- # if you manually change the UID/GID environment variables, ensure these values
- # match:
- podSecurityContext:
- runAsUser: 991
- runAsGroup: 991
- fsGroup: 991
-
- securityContext: {}
-
- serviceAccount:
- # Specifies whether a service account should be created
- create: true
- # Annotations to add to the service account
- annotations: {}
- # The name of the service account to use.
- # If not set and create is true, a name is generated using the fullname template
- name: ""
-
- podAnnotations: {}
-
- resources: {}
- # We usually recommend not to specify default resources and to leave this as a conscious
- # choice for the user. This also increases chances charts run on environments with little
- # resources, such as Minikube. If you do want to specify resources, uncomment the following
- # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
- # limits:
- # cpu: 100m
- # memory: 128Mi
- # requests:
- # cpu: 100m
- # memory: 128Mi
-
- autoscaling:
- enabled: false
- minReplicas: 1
- maxReplicas: 100
- targetCPUUtilizationPercentage: 80
- # targetMemoryUtilizationPercentage: 80
-
- nodeSelector: {}
-
- tolerations: []
-
- affinity: {}
|