Confluence Cloud Settings
The final part is to Install the BCP Controller App on your site. We provide a private link, a special type of App installation for Atlassian Cloud.
We provide a dedicated one-time link that installs the app on your site. Please contact us for further information, or how to start a trial. bcp@self-hosted.io
Installing the App requires a site administrator.
Settings
Navigate to your Confluence Site > Settings > BCP Controller
Configure the following settings:
BCP Controller URL
Input the full URL of your BCP Controller deployed in earlier steps. This is your public facing URL or API Gateway.
Example: https://bcp-controller-01.mycompany.com
Note
The App will only allow HTTPS connectivity for security. Whilst information sent is not highly classified, we want to ensure that all connectivity is secured and no plain HTTP is ever used.
Secret Key
Input your secret key from earlier in the preparation steps. This value is masked and stored securely on Atlassian's App Platform.
Spaces
Select which spaces you want replica content of stored in your BCP Controller. By default, all spaces are checked, so uncheck those that you don't want copied!
Migrate All Existing
Select this if you wish to migrate all existing content in your site. This triggers a large volume of API requests and can take several hours depending on your content and size.
Validate controller logs for connectivity
{"Product":"BCPController","level":"info","msg":"Starting router on port: 8080","time":"2022-07-12T00:13:49+10:00"}
{"Product":"BCPController","level":"info","msg":"NewPostgresClient connected","time":"2022-07-12T00:13:49+10:00"}
{"Product":"BCPController","level":"info","msg":"HealthCheckHandler :: HealthCheck OK","time":"2022-07-12T00:14:47+10:00"}
{"Product":"BCPController","level":"info","msg":"DeepHealthCheckHandler :: HealthCheck OK","time":"2022-07-12T00:14:47+10:00"}
{"Product":"BCPController","level":"info","msg":"Inside ConfluenceService.GetAndMigrateAllConfluenceContent","time":"2022-07-12T21:22:41+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI https://bcp-solutions.atlassian.net/wiki/rest/api/space/BCP/content/page?limit=50\u0026start=0","time":"2022-07-12T21:22:41+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI found all content. start 0 Limit 50 size 14","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI https://bcp-solutions.atlassian.net/wiki/rest/api/space/BCFD/content/page?limit=50\u0026start=0","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI found all content. start 0 Limit 50 size 6","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI https://bcp-solutions.atlassian.net/wiki/rest/api/space/BCPLEAD/content/page?limit=50\u0026start=0","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI found all content. start 0 Limit 50 size 3","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI https://bcp-solutions.atlassian.net/wiki/rest/api/space/BCPSUP/content/page?limit=50\u0026start=0","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI found all content. start 0 Limit 50 size 3","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI https://bcp-solutions.atlassian.net/wiki/rest/api/space/CUS/content/page?limit=50\u0026start=0","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI found all content. start 0 Limit 50 size 3","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI https://bcp-solutions.atlassian.net/wiki/rest/api/space/TEST/content/page?limit=50\u0026start=0","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI found all content. start 0 Limit 50 size 50","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI https://bcp-solutions.atlassian.net/wiki/rest/api/space/TEST/content/page?limit=50\u0026start=50","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI found all content. start 50 Limit 50 size 50","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI https://bcp-solutions.atlassian.net/wiki/rest/api/space/TEST/content/page?limit=50\u0026start=100","time":"2022-07-12T21:22:42+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI found all content. start 100 Limit 50 size 50","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI https://bcp-solutions.atlassian.net/wiki/rest/api/space/TEST/content/page?limit=50\u0026start=150","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI found all content. start 150 Limit 50 size 50","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI https://bcp-solutions.atlassian.net/wiki/rest/api/space/TEST/content/page?limit=50\u0026start=200","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI found all content. start 200 Limit 50 size 2","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI https://bcp-solutions.atlassian.net/wiki/rest/api/space/TES3/content/page?limit=50\u0026start=0","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI found all content. start 0 Limit 50 size 9","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI https://bcp-solutions.atlassian.net/wiki/rest/api/space/TES1/content/page?limit=50\u0026start=0","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetLimitedConfluenceContentFromAPI found all content. start 0 Limit 50 size 4","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetAndMigrateAllConfluenceContent found all content. 244 pages","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetConfluenceContentByID https://bcp-solutions.atlassian.net/wiki/rest/api/content/262351","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetConfluenceContentByID https://bcp-solutions.atlassian.net/wiki/rest/api/content/294913","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetConfluenceContentByID https://bcp-solutions.atlassian.net/wiki/rest/api/content/524296","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetConfluenceContentByID https://bcp-solutions.atlassian.net/wiki/rest/api/content/524289","time":"2022-07-12T21:22:43+10:00"}
{"Product":"BCPController","level":"info","msg":"ConfluenceContentService.GetConfluenceContentByID https://bcp-solutions.atlassian.net/wiki/rest/api/content/622593","time":"2022-07-12T21:22:43+10:00"}
worker 5 started job pageID 262351
worker 2 started job pageID 294913
worker 1 started job pageID 524289
worker 3 started job pageID 524296
worker 4 started job pageID 622593
Security and Privacy
The BCP Controller ( Forge App ) leverages Atlassian's platform called Forge for runtime and configuration. The app only stores your secret key and configuration using Forge components. The controller app is only sending "events" to your on-premise controller informing it of changes and instructing it what to do.
No personal or sensitive data is stored in the Forge/Cloud and it only communicates with your nominated BCP controller URL.
We do not use any telemetry or send back-to-base data other than licensing which is documented here: https://docs.self-hosted.io/Platforms/Supported_Platforms/