Compare commits
	
		
			1 Commits
		
	
	
		
			ea43a1018f
			...
			feature/ma
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 563f85bc6b | 
							
								
								
									
										16
									
								
								apps/dendrite/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								apps/dendrite/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | apiVersion: kustomize.config.k8s.io/v1beta1 | ||||||
|  | kind: Kustomization | ||||||
|  | resources:  | ||||||
|  |   - namespace.yaml | ||||||
|  |   - postgres.yaml | ||||||
|  |   - postgres-user.secret.yaml | ||||||
|  |   - ingress.yaml | ||||||
|  |  | ||||||
|  | namespace: dendrite | ||||||
|  |  | ||||||
|  | helmCharts: | ||||||
|  |   - name: dendrite | ||||||
|  |     releaseName: dendrite | ||||||
|  |     version: 0.13.5 | ||||||
|  |     valuesFile: values.yaml | ||||||
|  |     repo: https://matrix-org.github.io/dendrite/ | ||||||
							
								
								
									
										4
									
								
								apps/dendrite/namespace.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								apps/dendrite/namespace.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | apiVersion: v1 | ||||||
|  | kind: Namespace | ||||||
|  | metadata: | ||||||
|  |   name: placeholder | ||||||
							
								
								
									
										25
									
								
								apps/dendrite/postgres.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								apps/dendrite/postgres.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | |||||||
|  | apiVersion: postgresql.cnpg.io/v1 | ||||||
|  | kind: Cluster | ||||||
|  | metadata: | ||||||
|  |   name: dendrite-postgres | ||||||
|  | spec: | ||||||
|  |   instances: 1 | ||||||
|  |   imageName: ghcr.io/cloudnative-pg/postgresql:16.4 | ||||||
|  |   bootstrap: | ||||||
|  |     initdb: | ||||||
|  |       owner: dendrite | ||||||
|  |       database: dendrite | ||||||
|  |       secret: | ||||||
|  |         name: postgres-password | ||||||
|  |  | ||||||
|  |   # Persistent storage configuration | ||||||
|  |   storage: | ||||||
|  |     size: 2Gi | ||||||
|  |     pvcTemplate: | ||||||
|  |       accessModes: | ||||||
|  |         - ReadWriteOnce | ||||||
|  |       resources: | ||||||
|  |         requests: | ||||||
|  |           storage: 2Gi | ||||||
|  |       storageClassName: nfs-client | ||||||
|  |       volumeMode: Filesystem | ||||||
							
								
								
									
										287
									
								
								apps/dendrite/values.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										287
									
								
								apps/dendrite/values.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,287 @@ | |||||||
|  |  | ||||||
|  | # signing key to use | ||||||
|  | signing_key: | ||||||
|  |   # -- Create a new signing key, if not exists | ||||||
|  |   create: true | ||||||
|  |  | ||||||
|  | persistence: | ||||||
|  |   jetstream: | ||||||
|  |     # -- PVC Storage Request for the jetstream volume | ||||||
|  |     capacity: "1Gi" | ||||||
|  |     # -- The storage class to use for volume claims. | ||||||
|  |     storageClass: "nfs-client" | ||||||
|  |   media: | ||||||
|  |     # -- PVC Storage Request for the media volume | ||||||
|  |     capacity: "1Gi" | ||||||
|  |     # -- The storage class to use for volume claims. | ||||||
|  |     storageClass: "nfs-client" | ||||||
|  |   search: | ||||||
|  |     # -- PVC Storage Request for the search volume | ||||||
|  |     capacity: "1Gi" | ||||||
|  |     # -- The storage class to use for volume claims. | ||||||
|  |     storageClass: "nfs-client" | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | dendrite_config: | ||||||
|  |   version: 2 | ||||||
|  |   global: | ||||||
|  |     # -- **REQUIRED** Servername for this Dendrite deployment. | ||||||
|  |     server_name: "dendrite.kluster.moll.re" | ||||||
|  |  | ||||||
|  |     # -- The server name to delegate server-server communications to, with optional port | ||||||
|  |     # e.g. localhost:443 | ||||||
|  |     well_known_server_name: "" | ||||||
|  |  | ||||||
|  |     # -- The server name to delegate client-server communications to, with optional port | ||||||
|  |     # e.g. localhost:443 | ||||||
|  |     well_known_client_name: "" | ||||||
|  |  | ||||||
|  |     # -- Lists of domains that the server will trust as identity servers to verify third | ||||||
|  |     # party identifiers such as phone numbers and email addresses. | ||||||
|  |     trusted_third_party_id_servers: | ||||||
|  |       - matrix.org | ||||||
|  |       - vector.im | ||||||
|  |  | ||||||
|  |     # -- The paths and expiry timestamps (as a UNIX timestamp in millisecond precision) | ||||||
|  |     # to old signing keys that were formerly in use on this domain name. These | ||||||
|  |     # keys will not be used for federation request or event signing, but will be | ||||||
|  |     # provided to any other homeserver that asks when trying to verify old events. | ||||||
|  |     old_private_keys: | ||||||
|  |     #  If the old private key file is available: | ||||||
|  |     #  - private_key: old_matrix_key.pem | ||||||
|  |     #    expired_at: 1601024554498 | ||||||
|  |     #  If only the public key (in base64 format) and key ID are known: | ||||||
|  |     #  - public_key: mn59Kxfdq9VziYHSBzI7+EDPDcBS2Xl7jeUdiiQcOnM= | ||||||
|  |     #    key_id: ed25519:mykeyid | ||||||
|  |     #    expired_at: 1601024554498 | ||||||
|  |  | ||||||
|  |     # -- Disable federation. Dendrite will not be able to make any outbound HTTP requests | ||||||
|  |     # to other servers and the federation API will not be exposed. | ||||||
|  |     disable_federation: false | ||||||
|  |  | ||||||
|  |     key_validity_period: 168h0m0s | ||||||
|  |  | ||||||
|  |     database: | ||||||
|  |       # -- The connection string for connections to Postgres. | ||||||
|  |       # This will be set automatically if using the Postgres dependency | ||||||
|  |       connection_string: "postgresql://dendrite:supersecretpassword!@dendrite-postgres-rw/dendrite" | ||||||
|  |       # -- Default database maximum open connections | ||||||
|  |       max_open_conns: 90 | ||||||
|  |       # -- Default database maximum idle connections | ||||||
|  |       max_idle_conns: 5 | ||||||
|  |       # -- Default database maximum lifetime | ||||||
|  |       conn_max_lifetime: -1 | ||||||
|  |  | ||||||
|  |     jetstream: | ||||||
|  |       # -- Persistent directory to store JetStream streams in. | ||||||
|  |       storage_path: "/data/jetstream" | ||||||
|  |       # -- NATS JetStream server addresses if not using internal NATS. | ||||||
|  |       addresses: [] | ||||||
|  |       # -- The prefix for JetStream streams | ||||||
|  |       topic_prefix: "Dendrite" | ||||||
|  |       # -- Keep all data in memory. (**NOTE**: This is overriden in Helm to `false`) | ||||||
|  |       in_memory: false | ||||||
|  |       # -- Disables TLS validation. This should **NOT** be used in production. | ||||||
|  |       disable_tls_validation: true | ||||||
|  |  | ||||||
|  |     cache: | ||||||
|  |       # -- The estimated maximum size for the global cache in bytes, or in terabytes, | ||||||
|  |       # gigabytes, megabytes or kilobytes when the appropriate 'tb', 'gb', 'mb' or | ||||||
|  |       # 'kb' suffix is specified. Note that this is not a hard limit, nor is it a | ||||||
|  |       # memory limit for the entire process. A cache that is too small may ultimately | ||||||
|  |       # provide little or no benefit. | ||||||
|  |       max_size_estimated: 1gb | ||||||
|  |       # -- The maximum amount of time that a cache entry can live for in memory before | ||||||
|  |       # it will be evicted and/or refreshed from the database. Lower values result in | ||||||
|  |       # easier admission of new cache entries but may also increase database load in | ||||||
|  |       # comparison to higher values, so adjust conservatively. Higher values may make | ||||||
|  |       # it harder for new items to make it into the cache, e.g. if new rooms suddenly | ||||||
|  |       # become popular. | ||||||
|  |       max_age: 1h | ||||||
|  |  | ||||||
|  |     report_stats: | ||||||
|  |       # -- Configures phone-home statistics reporting. These statistics contain the server | ||||||
|  |       # name, number of active users and some information on your deployment config. | ||||||
|  |       # We use this information to understand how Dendrite is being used in the wild. | ||||||
|  |       enabled: false | ||||||
|  |  | ||||||
|  |     presence: | ||||||
|  |       # -- Controls whether we receive presence events from other servers | ||||||
|  |       enable_inbound: false | ||||||
|  |       # -- Controls whether we send presence events for our local users to other servers. | ||||||
|  |       # (_May increase CPU/memory usage_) | ||||||
|  |       enable_outbound: false | ||||||
|  |  | ||||||
|  |     server_notices: | ||||||
|  |       # -- Server notices allows server admins to send messages to all users on the server. | ||||||
|  |       enabled: false | ||||||
|  |       # -- The local part for the user sending server notices. | ||||||
|  |       local_part: "_server" | ||||||
|  |       # -- The display name for the user sending server notices. | ||||||
|  |       display_name: "Server Alerts" | ||||||
|  |       # -- The avatar URL (as a mxc:// URL) name for the user sending server notices. | ||||||
|  |       avatar_url: "" | ||||||
|  |       # The room name to be used when sending server notices. This room name will | ||||||
|  |       # appear in user clients. | ||||||
|  |       room_name: "Server Alerts" | ||||||
|  |  | ||||||
|  |     # prometheus metrics | ||||||
|  |     metrics: | ||||||
|  |       # -- Whether or not Prometheus metrics are enabled. | ||||||
|  |       enabled: false | ||||||
|  |       # HTTP basic authentication to protect access to monitoring. | ||||||
|  |       basic_auth: | ||||||
|  |         # -- HTTP basic authentication username | ||||||
|  |         user: "metrics" | ||||||
|  |         # -- HTTP basic authentication password | ||||||
|  |         password: metrics | ||||||
|  |  | ||||||
|  |   app_service_api: | ||||||
|  |     # -- Disable the validation of TLS certificates of appservices. This is | ||||||
|  |     # not recommended in production since it may allow appservice traffic | ||||||
|  |     # to be sent to an insecure endpoint. | ||||||
|  |     disable_tls_validation: false | ||||||
|  |     # -- Appservice config files to load on startup. (**NOTE**: This is overriden by Helm, if a folder `./appservices/` exists) | ||||||
|  |     config_files: [] | ||||||
|  |  | ||||||
|  |   client_api: | ||||||
|  |     # -- Prevents new users from being able to register on this homeserver, except when | ||||||
|  |     # using the registration shared secret below. | ||||||
|  |     registration_disabled: true | ||||||
|  |  | ||||||
|  |     # Prevents new guest accounts from being created. Guest registration is also | ||||||
|  |     # disabled implicitly by setting 'registration_disabled' above. | ||||||
|  |     guests_disabled: true | ||||||
|  |  | ||||||
|  |     # -- If set, allows registration by anyone who knows the shared secret, regardless of | ||||||
|  |     # whether registration is otherwise disabled. | ||||||
|  |     registration_shared_secret: "supersecretpassword" | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     # TURN server information that this homeserver should send to clients. | ||||||
|  |     turn: | ||||||
|  |       # -- Duration for how long users should be considered valid ([see time.ParseDuration](https://pkg.go.dev/time#ParseDuration) for more) | ||||||
|  |       turn_user_lifetime: "24h" | ||||||
|  |       turn_uris: [] | ||||||
|  |       turn_shared_secret: "" | ||||||
|  |       # -- The TURN username | ||||||
|  |       turn_username: "" | ||||||
|  |       # -- The TURN password | ||||||
|  |       turn_password: "" | ||||||
|  |  | ||||||
|  |     rate_limiting: | ||||||
|  |       # -- Enable rate limiting | ||||||
|  |       enabled: true | ||||||
|  |       # -- After how many requests a rate limit should be activated | ||||||
|  |       threshold: 20 | ||||||
|  |       # -- Cooloff time in milliseconds | ||||||
|  |       cooloff_ms: 500 | ||||||
|  |       # -- Users which should be exempt from rate limiting | ||||||
|  |       exempt_user_ids: | ||||||
|  |  | ||||||
|  |   federation_api: | ||||||
|  |     # -- Federation failure threshold. How many consecutive failures that we should | ||||||
|  |     # tolerate when sending federation requests to a specific server. The backoff | ||||||
|  |     # is 2**x seconds, so 1 = 2 seconds, 2 = 4 seconds, 3 = 8 seconds, etc. | ||||||
|  |     # The default value is 16 if not specified, which is circa 18 hours. | ||||||
|  |     send_max_retries: 16 | ||||||
|  |     # -- Disable TLS validation. This should **NOT** be used in production. | ||||||
|  |     disable_tls_validation: false | ||||||
|  |     prefer_direct_fetch: false | ||||||
|  |     # -- Prevents Dendrite from keeping HTTP connections | ||||||
|  |     # open for reuse for future requests. Connections will be closed quicker | ||||||
|  |     # but we may spend more time on TLS handshakes instead. | ||||||
|  |     disable_http_keepalives: false | ||||||
|  |     # -- Perspective keyservers, to use as a backup when direct key fetch | ||||||
|  |     # requests don't succeed. | ||||||
|  |     # @default -- See value.yaml | ||||||
|  |     key_perspectives: | ||||||
|  |       - server_name: matrix.org | ||||||
|  |         keys: | ||||||
|  |           - key_id: ed25519:auto | ||||||
|  |             public_key: Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw | ||||||
|  |           - key_id: ed25519:a_RXGa | ||||||
|  |             public_key: l8Hft5qXKn1vfHrg3p4+W8gELQVo8N13JkluMfmn2sQ | ||||||
|  |  | ||||||
|  |   media_api: | ||||||
|  |     # -- The path to store media files (e.g. avatars) in | ||||||
|  |     base_path: "/data/media_store" | ||||||
|  |     # -- The max file size for uploaded media files | ||||||
|  |     max_file_size_bytes: 10485760 | ||||||
|  |     # Whether to dynamically generate thumbnails if needed. | ||||||
|  |     dynamic_thumbnails: false | ||||||
|  |     # -- The maximum number of simultaneous thumbnail generators to run. | ||||||
|  |     max_thumbnail_generators: 10 | ||||||
|  |     # -- A list of thumbnail sizes to be generated for media content. | ||||||
|  |     # @default -- See value.yaml | ||||||
|  |     thumbnail_sizes: | ||||||
|  |       - width: 32 | ||||||
|  |         height: 32 | ||||||
|  |         method: crop | ||||||
|  |       - width: 96 | ||||||
|  |         height: 96 | ||||||
|  |         method: crop | ||||||
|  |       - width: 640 | ||||||
|  |         height: 480 | ||||||
|  |         method: scale | ||||||
|  |  | ||||||
|  |   sync_api: | ||||||
|  |     # -- This option controls which HTTP header to inspect to find the real remote IP | ||||||
|  |     # address of the client. This is likely required if Dendrite is running behind | ||||||
|  |     # a reverse proxy server. | ||||||
|  |     real_ip_header: X-Real-IP | ||||||
|  |     # -- Configuration for the full-text search engine. | ||||||
|  |     search: | ||||||
|  |       # -- Whether fulltext search is enabled. | ||||||
|  |       enabled: true | ||||||
|  |       # -- The path to store the search index in. | ||||||
|  |       index_path: "/data/search" | ||||||
|  |       # -- The language most likely to be used on the server - used when indexing, to | ||||||
|  |       # ensure the returned results match expectations. A full list of possible languages | ||||||
|  |       # can be found [here](https://github.com/matrix-org/dendrite/blob/76db8e90defdfb9e61f6caea8a312c5d60bcc005/internal/fulltext/bleve.go#L25-L46) | ||||||
|  |       language: "en" | ||||||
|  |  | ||||||
|  |   user_api: | ||||||
|  |     # -- bcrypt cost to use when hashing passwords. | ||||||
|  |     # (ranges from 4-31; 4 being least secure, 31 being most secure; _NOTE: Using a too high value can cause clients to timeout and uses more CPU._) | ||||||
|  |     bcrypt_cost: 10 | ||||||
|  |     # -- OpenID Token lifetime in milliseconds. | ||||||
|  |     openid_token_lifetime_ms: 3600000 | ||||||
|  |     # - Disable TLS validation when hitting push gateways. This should **NOT** be used in production. | ||||||
|  |     push_gateway_disable_tls_validation: false | ||||||
|  |     # -- Rooms to join users to after registration | ||||||
|  |     auto_join_rooms: [] | ||||||
|  |  | ||||||
|  |   # -- Default logging configuration | ||||||
|  |   logging: | ||||||
|  |   - type: std | ||||||
|  |     level: info | ||||||
|  |  | ||||||
|  | postgresql: | ||||||
|  |   # -- Enable and configure postgres as the database for dendrite. | ||||||
|  |   # @default -- See value.yaml | ||||||
|  |   enabled: false | ||||||
|  |  | ||||||
|  | ingress: | ||||||
|  |   # -- Create an ingress for the deployment | ||||||
|  |   enabled: false | ||||||
|  |  | ||||||
|  | service: | ||||||
|  |   type: ClusterIP | ||||||
|  |   port: 8008 | ||||||
|  |  | ||||||
|  | prometheus: | ||||||
|  |   servicemonitor: | ||||||
|  |     # -- Enable ServiceMonitor for Prometheus-Operator for scrape metric-endpoint | ||||||
|  |     enabled: false | ||||||
|  |     # -- Extra Labels on ServiceMonitor for selector of Prometheus Instance | ||||||
|  |     labels: {} | ||||||
|  |   rules: | ||||||
|  |     # -- Enable PrometheusRules for Prometheus-Operator for setup alerting | ||||||
|  |     enabled: false | ||||||
|  |     # -- Extra Labels on PrometheusRules for selector of Prometheus Instance | ||||||
|  |     labels: {} | ||||||
|  |     # -- additional alertrules (no default alertrules are provided) | ||||||
|  |     additionalRules: [] | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user