Guest User

containers.tf

a guest
Oct 14th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.97 KB | None | 0 0
  1.  
  2. resource "azurerm_container_group" "jitsigroup" {
  3. name = "${var.prefix}-containers"
  4. location = azurerm_resource_group.rg.location
  5. resource_group_name = azurerm_resource_group.rg.name
  6. ip_address_type = "public"
  7. dns_name_label = "${var.prefix}-jitsi"
  8. os_type = "linux"
  9. // restart_policy = var.restart_policy
  10.  
  11. image_registry_credential {
  12. username = data.azurerm_key_vault_secret.acr_pull_user.value
  13. password = data.azurerm_key_vault_secret.acr_pull_password.value
  14. server = var.acr_server
  15. }
  16.  
  17. // need to create an identity to grant access to the shares
  18. identity {
  19. type = "SystemAssigned"
  20. }
  21.  
  22. container {
  23. name = "web"
  24. image = "${var.acr_server}/jitsi-web"
  25. cpu = "0.5"
  26. memory = "0.5"
  27.  
  28. ports {
  29. port = var.http_port
  30. }
  31.  
  32. ports {
  33. port = var.https_port
  34. }
  35.  
  36. environment_variables = {
  37. TZ = var.tz
  38. JICOFO_AUTH_USER = var.jicofo_auth_user
  39. XMPP_DOMAIN = var.xmpp_domain
  40. XMPP_AUTH_DOMAIN = var.xmpp_auth_domain
  41. XMPP_BOSH_URL_BASE = var.xmpp_bosh_url_base
  42. XMPP_MUC_DOMAIN = var.xmpp_muc_domain
  43. ENABLE_LETSENCRYPT = var.enable_letsencrypt
  44. LETSENCRYPT_DOMAIN = var.letsencrypt_domain
  45. LETSENCRYPT_EMAIL = var.letsencrypt_email
  46. PUBLIC_URL = var.public_url
  47. }
  48.  
  49. volume {
  50. name = azurerm_storage_share.config_web.name
  51. mount_path = "/config"
  52. storage_account_name = azurerm_storage_account.config.name
  53. storage_account_key = data.azurerm_key_vault_secret.storage_account_key.value
  54. share_name = azurerm_storage_share.config_web.name
  55. }
  56.  
  57. volume {
  58. name = azurerm_storage_share.letsencrypt_web.name
  59. mount_path = "/etc/letsencrypt"
  60. storage_account_name = azurerm_storage_account.config.name
  61. storage_account_key = data.azurerm_key_vault_secret.storage_account_key.value
  62. share_name = azurerm_storage_share.letsencrypt_web.name
  63. }
  64.  
  65. volume {
  66. name = "logs-web"
  67. mount_path = "/var/log"
  68. storage_account_name = azurerm_storage_account.config.name
  69. storage_account_key = data.azurerm_key_vault_secret.storage_account_key.value
  70. share_name = azurerm_storage_share.logs.name
  71. }
  72. }
  73.  
  74. container {
  75. name = "prosody"
  76. image = "${var.acr_server}/jitsi-prosody"
  77.  
  78. cpu = "0.5"
  79. memory = "0.5"
  80.  
  81. ports {
  82. port = 5222
  83. }
  84.  
  85. ports {
  86. port = 5347
  87. }
  88.  
  89. ports {
  90. port = 5280
  91. }
  92.  
  93. environment_variables = {
  94. JICOFO_AUTH_USER = var.jicofo_auth_user
  95. JVB_AUTH_USER = var.jvb_auth_user
  96. XMPP_DOMAIN = var.xmpp_domain
  97. XMPP_AUTH_DOMAIN = var.xmpp_auth_domain
  98. XMPP_MUC_DOMAIN = var.xmpp_muc_domain
  99. XMPP_INTERNAL_MUC_DOMAIN = var.xmpp_internal_muc_domain
  100. TZ = var.tz
  101. }
  102.  
  103.  
  104. secure_environment_variables = {
  105. JICOFO_COMPONENT_SECRET = data.azurerm_key_vault_secret.jicofo_component_secret.value
  106. JVB_AUTH_PASSWORD = data.azurerm_key_vault_secret.jvb_auth_password.value
  107. }
  108.  
  109. volume {
  110. name = azurerm_storage_share.prosody_config.name
  111. mount_path = "/config"
  112. storage_account_name = azurerm_storage_account.config.name
  113. storage_account_key = data.azurerm_key_vault_secret.storage_account_key.value
  114. share_name = azurerm_storage_share.prosody_config.name
  115. }
  116. volume {
  117. name = "prosody-log"
  118. mount_path = "/var/log"
  119. storage_account_name = azurerm_storage_account.config.name
  120. storage_account_key = data.azurerm_key_vault_secret.storage_account_key.value
  121. share_name = azurerm_storage_share.logs.name
  122. }
  123. }
  124.  
  125. container {
  126. name = "jicofo"
  127. image = "${var.acr_server}/jitsi-jicofo"
  128.  
  129. memory = 0.5
  130. cpu = 0.5
  131.  
  132. environment_variables = {
  133. JICOFO_AUTH_USER = var.jicofo_auth_user
  134. XMPP_DOMAIN = var.xmpp_domain
  135. XMPP_AUTH_DOMAIN = var.xmpp_auth_domain
  136. XMPP_INTERNAL_MUC_DOMAIN = var.xmpp_internal_muc_domain
  137. XMPP_SERVER = var.xmpp_server
  138. JVB_BREWERY_MUC = var.jvb_brewery_muc
  139. TZ = var.tz
  140. }
  141.  
  142. secure_environment_variables = {
  143. JICOFO_AUTH_PASSWORD = data.azurerm_key_vault_secret.jicofo_auth.value
  144. JICOFO_COMPONENT_SECRET = data.azurerm_key_vault_secret.jicofo_component_secret.value
  145. }
  146.  
  147. volume {
  148. name = azurerm_storage_share.jicofo_config.name
  149. mount_path = "/config"
  150. storage_account_name = azurerm_storage_account.config.name
  151. storage_account_key = data.azurerm_key_vault_secret.storage_account_key.value
  152. share_name = azurerm_storage_share.jicofo_config.name
  153. }
  154. volume {
  155. name = "jicofo-log"
  156. mount_path = "/var/log"
  157. storage_account_name = azurerm_storage_account.config.name
  158. storage_account_key = data.azurerm_key_vault_secret.storage_account_key.value
  159. share_name = azurerm_storage_share.logs.name
  160. }
  161. // depends on prosody
  162. }
  163.  
  164. container {
  165. name = "jvb"
  166. image = "${var.acr_server}/jitsi-jvb"
  167.  
  168. cpu = "0.5"
  169. memory = "0.5"
  170.  
  171. ports {
  172. port = var.jvb_port
  173. protocol = "UDP"
  174. }
  175.  
  176. ports {
  177. port = var.jvb_tcp_port
  178. protocol = "TCP"
  179. }
  180.  
  181. environment_variables = {
  182. XMPP_AUTH_DOMAIN = var.xmpp_auth_domain
  183. XMPP_INTERNAL_MUC_DOMAIN = var.xmpp_internal_muc_domain
  184. XMPP_SERVER = var.xmpp_server
  185. JVB_AUTH_USER = var.jvb_auth_user
  186. JVB_BREWERY_MUC = var.jvb_brewery_muc
  187. JVB_PORT = var.jvb_port
  188. JVB_TCP_HARVESTER_DISABLED = var.jvb_tcp_harvester_disabled
  189. JVB_STUN_SERVERS = var.jvb_stun_servers
  190. TZ = var.tz
  191. }
  192.  
  193. secure_environment_variables = {
  194. JVB_AUTH_PASSWORD = data.azurerm_key_vault_secret.jvb_auth_password.value
  195. }
  196.  
  197. volume {
  198. name = azurerm_storage_share.jvb_config.name
  199. mount_path = "/config"
  200. storage_account_name = azurerm_storage_account.config.name
  201. storage_account_key = data.azurerm_key_vault_secret.storage_account_key.value
  202. share_name = azurerm_storage_share.jvb_config.name
  203. }
  204.  
  205. volume {
  206. name = "jvb-log"
  207. mount_path = "/var/log"
  208. storage_account_name = azurerm_storage_account.config.name
  209. storage_account_key = data.azurerm_key_vault_secret.storage_account_key.value
  210. share_name = azurerm_storage_share.logs.name
  211. }
  212. }
  213. }
  214.  
Add Comment
Please, Sign In to add comment