Compare commits
	
		
			1 Commits
		
	
	
		
			fcb03b1120
			...
			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