The main Bubble source repository. Contains the Bubble API server, the web UI, documentation and utilities. https://getbubblenow.com
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.

activation.json 9.8 KiB

4 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
4 vuotta sitten
Introduce packer support (#18) cleanups and fixes, packer is ready to roll add errorApi endpoint initialize mitmproxy dependencies packer deployments finally working fix virtualenv call for ubuntu 20.04 WIP. update to ubuntu 20.04. fixing algo installation WIP. packer fixes remove unused constant WIP. packer basics working for ec2 Merge branch 'master' of git.bubblev.org:bubblev/bubble into cobbzilla/introduce_packer remove automation dir, all moved to resources log pg autovacuum if longer than 250ms touch install marker for algo set mitmproxy as owner of all mitmproxy files add hostname to packer image name avoid closing progress meter prematurely WIP. parallelize node startup, fix packer bugs clarify docs add missing vars, algo tweaks add missing vars, update algo hash WIP. improving algo/mitmproxy packer stuff install packer for sage, call packer from proper location Use compute driver to get regions improve comments wait longer before polling new vultr server, avoid spurious ok status unquote simple filenames WIP. Use packer key, no more instance ssh key. Change API installation. Simplify packer/ansible. rename bubble_finalizer to just finalizer, remove default_roles filter servers/images based on installType for now, consider packer image OK if bubble version matches add algo/mitm roles to packer. add installType to BubbleNode fix NODE_ROLES file templatize packer file and playbook, use same template for sage and node WIP: refactor addAllRegions WIP: do not re-create identical images WIP: packer build for vultr now working Merge branch 'master' of git.bubblev.org:bubblev/bubble into cobbzilla/introduce_packer WIP. working on vultr packer builds WIP: packer image creation working for digitalocean WIP: packer basics working for digitalocean add packer endpoints, introduce packer support to cloud compute drivers remove roles endpoints AnsibleRole is no longer an model entity. Introduce Packer. Merge branch 'sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService' of git.bubblev.org:bubblev/bubble into sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService Merge branch 'master' of git.bubblev.org:bubblev/bubble into sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService Merge branch 'master' into sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService Merge branch 'master' into sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService Merge branch 'master' into sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService Merge branch 'master' into sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService Add instance count to script Co-authored-by: Jonathan Cobb <jonathan@kyuss.org> Co-authored-by: Svitlana <sfedoriv@itekako.com> Reviewed-on: https://git.bubblev.org/bubblev/bubble/pulls/18
4 vuotta sitten
4 vuotta sitten
Introduce packer support (#18) cleanups and fixes, packer is ready to roll add errorApi endpoint initialize mitmproxy dependencies packer deployments finally working fix virtualenv call for ubuntu 20.04 WIP. update to ubuntu 20.04. fixing algo installation WIP. packer fixes remove unused constant WIP. packer basics working for ec2 Merge branch 'master' of git.bubblev.org:bubblev/bubble into cobbzilla/introduce_packer remove automation dir, all moved to resources log pg autovacuum if longer than 250ms touch install marker for algo set mitmproxy as owner of all mitmproxy files add hostname to packer image name avoid closing progress meter prematurely WIP. parallelize node startup, fix packer bugs clarify docs add missing vars, algo tweaks add missing vars, update algo hash WIP. improving algo/mitmproxy packer stuff install packer for sage, call packer from proper location Use compute driver to get regions improve comments wait longer before polling new vultr server, avoid spurious ok status unquote simple filenames WIP. Use packer key, no more instance ssh key. Change API installation. Simplify packer/ansible. rename bubble_finalizer to just finalizer, remove default_roles filter servers/images based on installType for now, consider packer image OK if bubble version matches add algo/mitm roles to packer. add installType to BubbleNode fix NODE_ROLES file templatize packer file and playbook, use same template for sage and node WIP: refactor addAllRegions WIP: do not re-create identical images WIP: packer build for vultr now working Merge branch 'master' of git.bubblev.org:bubblev/bubble into cobbzilla/introduce_packer WIP. working on vultr packer builds WIP: packer image creation working for digitalocean WIP: packer basics working for digitalocean add packer endpoints, introduce packer support to cloud compute drivers remove roles endpoints AnsibleRole is no longer an model entity. Introduce Packer. Merge branch 'sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService' of git.bubblev.org:bubblev/bubble into sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService Merge branch 'master' of git.bubblev.org:bubblev/bubble into sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService Merge branch 'master' into sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService Merge branch 'master' into sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService Merge branch 'master' into sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService Merge branch 'master' into sfedoriv/APIAddSupportForAmazonEC2ComputeCloudService Add instance count to script Co-authored-by: Jonathan Cobb <jonathan@kyuss.org> Co-authored-by: Svitlana <sfedoriv@itekako.com> Reviewed-on: https://git.bubblev.org/bubblev/bubble/pulls/18
4 vuotta sitten
5 vuotta sitten
4 vuotta sitten
4 vuotta sitten
5 vuotta sitten
5 vuotta sitten
4 vuotta sitten
5 vuotta sitten
5 vuotta sitten
4 vuotta sitten
4 vuotta sitten
5 vuotta sitten
5 vuotta sitten
4 vuotta sitten
5 vuotta sitten
5 vuotta sitten
5 vuotta sitten
4 vuotta sitten
5 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
4 vuotta sitten
5 vuotta sitten
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. // ----------------------
  2. // Bubble Activation JSON
  3. // ----------------------
  4. //
  5. // Do not edit this file directly. Copy this file somewhere else and edit the copy.
  6. //
  7. // When you are happy with your edits, activate a blank bubble using:
  8. //
  9. // ./bin/bactivate /path/to/your/activation.json
  10. //
  11. // NOTE: In this file '//' is used for comments
  12. // Normally comments are not valid JSON, but when you run `bactivate` the Bubble toolchain strips out
  13. // the comments before sending the request to the Bubble server.
  14. //
  15. {
  16. ///////////////////////
  17. // Initial Admin
  18. ///////////////////////
  19. // email, password and description of the initial admin user
  20. "name": "root@local.local", // change this to an email address only you have access to
  21. "password": "REPLACE WITH YOUR ROOT PASSWORD",
  22. "description": "root user",
  23. "cloudConfigs" : {
  24. ///////////////////////
  25. // DNS
  26. ///////////////////////
  27. // You must configure at least one of these DNS services
  28. // Comment the other one out if you're not going to use it
  29. "Route53Dns" : {
  30. "credentials" : {
  31. "AWS_ACCESS_KEY_ID": "your_aws_access_key_id",
  32. "AWS_SECRET_KEY": "your_aws_secret_key"
  33. }
  34. },
  35. "GoDaddyDns" : {
  36. "credentials" : {
  37. "GODADDY_API_KEY": "your_godaddy_api_key",
  38. "GODADDY_API_SECRET": "your_godaddy_api_secret"
  39. }
  40. },
  41. ///////////////////////
  42. // Compute
  43. ///////////////////////
  44. // You must configure at least one of these Compute services
  45. // Comment the other one out if you're not going to use it
  46. "VultrCompute": {
  47. "credentials": {"API-Key": "your_vultr_api_key"}
  48. },
  49. "DigitalOceanCompute": {
  50. "credentials": {"apiKey": "your_digitalocean_api_key"}
  51. },
  52. // EC2 driver is incomplete, use one of the above instead
  53. "AmazonEC2Driver" : {
  54. "config": {
  55. // region must be a valid value from the Regions enum: https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-core/src/main/java/com/amazonaws/regions/Regions.java
  56. "region": "your_aws_region" // for example: us-east-1
  57. },
  58. "credentials" : {
  59. "AWS_ACCESS_KEY_ID": "your_aws_access_key_id",
  60. "AWS_SECRET_KEY": "your_aws_secret_key"
  61. }
  62. },
  63. // Docker can be used for testing or for advanced use cases
  64. // Leave this out if you're not going to use it
  65. // "DockerCompute": {
  66. // "config": {},
  67. // "credentials": {
  68. // // these are the default settings, change as needed
  69. // "host": "unix:///var/run/docker.sock",
  70. // "tlsVerify": "false", // if tlsVerify is "true" then certPath must be set
  71. // "certPath": null,
  72. // "registryUrl": null,
  73. // "registryUsername": null,
  74. // "registryEmail": null,
  75. // "registryPassword": null
  76. // }
  77. // },
  78. ///////////////////////
  79. // Storage
  80. ///////////////////////
  81. // LocalStorage is required, just leave this as-is.
  82. // If you really want, you can change the baseDir
  83. "LocalStorage": {
  84. "config": { "baseDir": ".bubble_local_storage" },
  85. "credentials": {}
  86. },
  87. // You must configure the AWS S3 Storage service in order to launch new Bubbles
  88. "S3Storage" : {
  89. "config": {
  90. // region must be a valid value from the Regions enum:
  91. // https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-core/src/main/java/com/amazonaws/regions/Regions.java
  92. "region": "US_EAST_1",
  93. "bucket": "must be a valid bucket name that the credentials can read/write/list/delete",
  94. "prefix": "", // optional: all paths for S3 operations will be prefixed with this path
  95. "listFetchSize": 100
  96. },
  97. "credentials" : {
  98. "AWS_ACCESS_KEY_ID": "your_aws_access_key_id",
  99. "AWS_SECRET_KEY": "your_aws_secret_key"
  100. }
  101. },
  102. ///////////////////////
  103. // Email
  104. ///////////////////////
  105. // You must configure an email service, it is required to send emails
  106. // Comment out the other ones out if you're not going to use them
  107. "SmtpEmail": {
  108. "config": { "tlsEnabled": true },
  109. "credentials": {
  110. "user": "your_smtp_username",
  111. "password": "your_smtp_password",
  112. "host": "your_smtp_server_hostname",
  113. "port": "your_smtp_server_port"
  114. }
  115. },
  116. "SendGridEmail": {
  117. "config": {},
  118. "credentials": {
  119. "apiKey": "your_sendgrid_api_key"
  120. }
  121. },
  122. "MailgunEmail": {
  123. "config": {},
  124. "credentials": {
  125. "domain": "your_mailgun_domain",
  126. "apiKey": "your_mailgun_api_key"
  127. }
  128. },
  129. ///////////////////////
  130. // TOTP Auth
  131. ///////////////////////
  132. // Required for TOTP-based authentication. Nothing to configure, just leave this as-is
  133. "TOTPAuthenticator": {},
  134. ///////////////////////
  135. // SMS
  136. ///////////////////////
  137. // Required for sending SMS messages. Currently only Twilio is supported
  138. // Comment this out if you're not going to use it
  139. "TwilioSms": {
  140. "credentials": {
  141. "accountSID": "your_twilio_account_SID",
  142. "authToken": "your_twilio_auth_token",
  143. // text messages sent by Bubble will come "from" this phone number, must be in Twilio-compatible format
  144. "fromPhoneNumber": "your_twilio_from_number"
  145. }
  146. },
  147. ///////////////////////
  148. // GeoLocation
  149. ///////////////////////
  150. // Required for locale and "nearest compute region" auto-detection.
  151. // Currently only MaxMind and Whois are supported.
  152. // MaxMind is free, but now requires registration and an API token.
  153. // Comment this out if you're not going to use it
  154. "MaxMindGeoLocation": {
  155. "config": {
  156. // these values work for the free GeoLite database, but you still have to specify an apiKey
  157. "url": "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=[[apiKey]]&suffix=tar.gz",
  158. "file": "GeoLite2-City_20[\\\\d]{6}/GeoLite2-City\\\\.mmdb"
  159. },
  160. "credentials": {"apiKey": "your_maxmind_api_key"}
  161. },
  162. // Whois is also free, but less accurate. It's worth a try if you have nothing better.
  163. "WhoisGeoLocation": {
  164. "config": {
  165. // Normally the default 'whois' settings are used.
  166. // If you want to pass `-h` and `-p` to whois to set the host and port
  167. // of another whois server to use, set the config params below
  168. "host": null,
  169. "port": null
  170. // If you're not going to change host/port, you can reduce this
  171. // config object to an empty JSON object {}
  172. },
  173. "credentials": {},
  174. "template": true
  175. },
  176. ///////////////////////
  177. // GeoCode
  178. ///////////////////////
  179. // Required for "nearest compute region" auto-detection. Currently only Google GeoCoder is supported
  180. // Comment this out if you're not going to use it
  181. "GoogleGeoCode": {
  182. "credentials": {"apiKey": "your_google_api_key"}
  183. },
  184. ///////////////////////
  185. // GeoTime
  186. ///////////////////////
  187. // Required for timezone auto-detection. Currently only Google GeoTime is supported
  188. // Comment this out if you're not going to use it
  189. "GoogleGeoTime": {
  190. "credentials": {"apiKey": "your_google_api_key"}
  191. }
  192. },
  193. ///////////////////////
  194. // Initial Domain
  195. ///////////////////////
  196. // initial domain that new Bubbles will be launched within
  197. "domain": {
  198. "publicDns": "Route53Dns or GoDaddyDns", // name of a DNS provider configured above
  199. "name": "example.com" // a domain name that you own, that is managed by the DNS provider named in `publicDns`
  200. },
  201. ///////////////////////
  202. // Expert Settings
  203. ///////////////////////
  204. // You can safely chop off everything from here down from your copy (well, except the closing curly-brace).
  205. // The settings below should rarely be changed, and omitting them is the same as not changing them.
  206. // You really shouldn't change them unless you know what you're doing.
  207. // -----------
  208. // skipTests
  209. // -----------
  210. //
  211. // Most of the cloud services you add above have "self-test" features in their Bubble driver.
  212. // Normally, Bubble will test each cloud driver to ensure that it is working properly before
  213. // allowing activation to proceed.
  214. //
  215. // The driver test can detect a lot of configuration problems, invalid API keys, and so on.
  216. // It's a good idea to leave the tests enabled.
  217. //
  218. // If, however, this is not the first time you've run with the exact same JSON file and you KNOW that
  219. // all the clouds/credentials/configs are correct, because they've passed tests before, then setting
  220. // this to true does save a little bit of time during activation.
  221. //
  222. // NOTE: DO NOT SET THIS TO true UNLESS YOU *KNOW* ALL YOUR DRIVERS ARE OK
  223. //
  224. // If the activation.json file has no `skipTests` property, then tests will be enabled
  225. //
  226. "skipTests": false, // set this to true to skip cloud driver tests
  227. // -----------
  228. // skipPacker
  229. // -----------
  230. //
  231. // Bubble needs to ensure that packer images are available on any cloud compute service where you could
  232. // launch a new Bubble. The easiest way to ensure this happens is to check for packer images immediately after
  233. // activation. This is the default behavior.
  234. //
  235. // It's a good idea to do this, because if the images don't exist, then Bubble won't check again until you're
  236. // about to launch your Bubble -- and then you take the 20-minute delay of building the image.
  237. //
  238. // If, however, you KNOW that the images exist, or you explicitly want to create them later using the
  239. // `pack_bubble` command, you can skip the packer check during activation by setting this to true
  240. //
  241. // NOTE: DO NOT SET THIS TO true UNLESS YOU *KNOW* THE PACKER IMAGES ARE VALID FOR YOUR CLOUD PROVIDER
  242. //
  243. // If the activation.json file has no `skipPacker` property, then packer images will be created during activation,
  244. // if not already present.
  245. //
  246. "skipPacker": false // set this to true to skip checking/creating packer images
  247. }