homeserver.py 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. # -*- coding: utf-8 -*-
  2. # Copyright 2014-2016 OpenMarket Ltd
  3. # Copyright 2018 New Vector Ltd
  4. #
  5. # Licensed under the Apache License, Version 2.0 (the "License");
  6. # you may not use this file except in compliance with the License.
  7. # You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. from ._base import RootConfig
  17. from .api import ApiConfig
  18. from .appservice import AppServiceConfig
  19. from .cache import CacheConfig
  20. from .captcha import CaptchaConfig
  21. from .cas import CasConfig
  22. from .consent_config import ConsentConfig
  23. from .database import DatabaseConfig
  24. from .emailconfig import EmailConfig
  25. from .groups import GroupsConfig
  26. from .jwt_config import JWTConfig
  27. from .key import KeyConfig
  28. from .logger import LoggingConfig
  29. from .metrics import MetricsConfig
  30. from .oidc_config import OIDCConfig
  31. from .password import PasswordConfig
  32. from .password_auth_providers import PasswordAuthProviderConfig
  33. from .push import PushConfig
  34. from .ratelimiting import RatelimitConfig
  35. from .redis import RedisConfig
  36. from .registration import RegistrationConfig
  37. from .repository import ContentRepositoryConfig
  38. from .room_directory import RoomDirectoryConfig
  39. from .saml2_config import SAML2Config
  40. from .server import ServerConfig
  41. from .server_notices_config import ServerNoticesConfig
  42. from .spam_checker import SpamCheckerConfig
  43. from .sso import SSOConfig
  44. from .stats import StatsConfig
  45. from .third_party_event_rules import ThirdPartyRulesConfig
  46. from .tls import TlsConfig
  47. from .tracer import TracerConfig
  48. from .user_directory import UserDirectoryConfig
  49. from .voip import VoipConfig
  50. from .workers import WorkerConfig
  51. class HomeServerConfig(RootConfig):
  52. config_classes = [
  53. ServerConfig,
  54. TlsConfig,
  55. CacheConfig,
  56. DatabaseConfig,
  57. LoggingConfig,
  58. RatelimitConfig,
  59. ContentRepositoryConfig,
  60. CaptchaConfig,
  61. VoipConfig,
  62. RegistrationConfig,
  63. MetricsConfig,
  64. ApiConfig,
  65. AppServiceConfig,
  66. KeyConfig,
  67. SAML2Config,
  68. OIDCConfig,
  69. CasConfig,
  70. SSOConfig,
  71. JWTConfig,
  72. PasswordConfig,
  73. EmailConfig,
  74. WorkerConfig,
  75. PasswordAuthProviderConfig,
  76. PushConfig,
  77. SpamCheckerConfig,
  78. GroupsConfig,
  79. UserDirectoryConfig,
  80. ConsentConfig,
  81. StatsConfig,
  82. ServerNoticesConfig,
  83. RoomDirectoryConfig,
  84. ThirdPartyRulesConfig,
  85. TracerConfig,
  86. RedisConfig,
  87. ]