You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

139 lines
4.7 KiB

  1. # Go-NEB Configuration File
  2. #
  3. # This file provides an alternative way to configure Go-NEB which does not involve HTTP APIs.
  4. #
  5. # This file can be supplied to go-neb by the environment variable `CONFIG_FILE=config.yaml`.
  6. # It will force Go-NEB to operate in "config" mode. This means:
  7. # - Go-NEB will ONLY use the data contained inside this file.
  8. # - All of Go-NEB's /admin HTTP listeners will be disabled. You will be unable to add new services at runtime.
  9. # - The environment variable `DATABASE_URL` will be ignored and an in-memory database will be used instead.
  10. #
  11. # This file is broken down into 4 sections which matches the following HTTP APIs:
  12. # - /configureClient
  13. # - /configureAuthRealm
  14. # - /configureService
  15. # - /requestAuthSession (redirects not supported)
  16. # The list of clients which Go-NEB is aware of.
  17. # Delete or modify this list as appropriate.
  18. # See the docs for /configureClient for the full list of options:
  19. # https://matrix-org.github.io/go-neb/pkg/github.com/matrix-org/go-neb/api/index.html#ClientConfig
  20. clients:
  21. - UserID: "@goneb:localhost"
  22. AccessToken: "MDASDASJDIASDJASDAFGFRGER"
  23. HomeserverURL: "http://localhost:8008"
  24. Sync: true
  25. AutoJoinRooms: true
  26. DisplayName: "Go-NEB!"
  27. - UserID: "@another_goneb:localhost"
  28. AccessToken: "MDASDASJDIASDJASDAFGFRGER"
  29. HomeserverURL: "http://localhost:8008"
  30. Sync: false
  31. AutoJoinRooms: false
  32. DisplayName: "Go-NEB!"
  33. # The list of realms which Go-NEB is aware of.
  34. # Delete or modify this list as appropriate.
  35. # See the docs for /configureAuthRealm for the full list of options:
  36. # https://matrix-org.github.io/go-neb/pkg/github.com/matrix-org/go-neb/api/index.html#ConfigureAuthRealmRequest
  37. realms:
  38. - ID: "github_realm"
  39. Type: "github"
  40. Config: {} # No need for client ID or Secret as Go-NEB isn't generating OAuth URLs
  41. # The list of *authenticated* sessions which Go-NEB is aware of.
  42. # Delete or modify this list as appropriate.
  43. # The full list of options are shown below: there is no single HTTP endpoint
  44. # which maps to this section.
  45. # https://matrix-org.github.io/go-neb/pkg/github.com/matrix-org/go-neb/api/index.html#Session
  46. sessions:
  47. - SessionID: "your_github_session"
  48. RealmID: "github_realm"
  49. UserID: "@YOUR_USER_ID:localhost"
  50. Config:
  51. # Populate these fields by generating a "Personal Access Token" on github.com
  52. AccessToken: "YOUR_GITHUB_ACCESS_TOKEN"
  53. Scopes: "admin:org_hook,admin:repo_hook,repo,user"
  54. # The list of services which Go-NEB is aware of.
  55. # Delete or modify this list as appropriate.
  56. # See the docs for /configureService for the full list of options:
  57. # https://matrix-org.github.io/go-neb/pkg/github.com/matrix-org/go-neb/api/index.html#ConfigureServiceRequest
  58. services:
  59. - ID: "giphy_service"
  60. Type: "giphy"
  61. UserID: "@goneb:localhost" # requires a Syncing client
  62. Config:
  63. api_key: "qwg4672vsuyfsfe"
  64. use_downsized: false
  65. - ID: "guggy_service"
  66. Type: "guggy"
  67. UserID: "@goneb:localhost" # requires a Syncing client
  68. Config:
  69. api_key: "2356saaqfhgfe"
  70. - ID: "google_service"
  71. Type: "google"
  72. UserID: "@goneb:localhost" # requires a Syncing client
  73. Config:
  74. api_key: "AIzaSyA4FD39m9"
  75. cx: "AIASDFWSRRtrtr"
  76. safe_search: false
  77. - ID: "imgur_service"
  78. Type: "imgur"
  79. UserID: "@imgur:localhost" # requires a Syncing client
  80. Config:
  81. api_key: "AIzaSyA4FD39m9"
  82. - ID: "wikipedia_service"
  83. Type: "wikipedia"
  84. UserID: "@goneb:localhost" # requires a Syncing client
  85. Config:
  86. - ID: "rss_service"
  87. Type: "rssbot"
  88. UserID: "@another_goneb:localhost"
  89. Config:
  90. feeds:
  91. "http://lorem-rss.herokuapp.com/feed?unit=second&interval=60":
  92. rooms: ["!qmElAGdFYCHoCJuaNt:localhost"]
  93. - ID: "github_cmd_service"
  94. Type: "github"
  95. UserID: "@goneb:localhost" # requires a Syncing client
  96. Config:
  97. RealmID: "github_realm"
  98. # Make sure your BASE_URL can be accessed by Github!
  99. - ID: "github_webhook_service"
  100. Type: "github-webhook"
  101. UserID: "@another_goneb:localhost"
  102. Config:
  103. RealmID: "github_realm"
  104. ClientUserID: "@YOUR_USER_ID:localhost" # needs to be an authenticated user so Go-NEB can create webhooks.
  105. Rooms:
  106. "!someroom:id":
  107. Repos:
  108. "matrix-org/synapse":
  109. Events: ["push", "issues"]
  110. "matrix-org/dendron":
  111. Events: ["pull_request"]
  112. "!anotherroom:id":
  113. Repos:
  114. "matrix-org/synapse":
  115. Events: ["push", "issues"]
  116. "matrix-org/dendron":
  117. Events: ["pull_request"]
  118. - ID: "slackapi_service"
  119. Type: "slackapi"
  120. UserID: "@slackapi:localhost"
  121. Config:
  122. Hooks:
  123. "hook1":
  124. RoomID: "!someroom:id"
  125. MessageType: "m.text" # default is m.text