One of our newly built Confluence stacks failed to start, and the error message is as below: BootstrapException: Unable to bootstrap application: Failed to parse config file: Error on line 19 of document : The reference to entity "k" must end with the ';' delimiter. Nested exception: The reference to entity "k" must end with … Continue reading Confluence BootstrapException: Unable to bootstrap application: Failed to parse config file
CICD Design for Atlassian Suites in AWS
I have been working on a project of migrating Atlassian suites (Confluence/Jira/...) to AWS. This is not a simple lift and shift migration. We actually redesigned everything from ground up. Here is the CICD that I designed. The source codes are stored in on-premise BitBucket, the build tools is AWS Dev Tools (mainly CodeBuild). Development … Continue reading CICD Design for Atlassian Suites in AWS
Use New Relic Java Agent with Jira
While setup New Relic Java agent in Jira, I found out that there is an extra option '-Datlassian.org.osgi.framework.bootdelegation.extra=com.newrelic.*' that you need to add into JVM parameters to make New Relic Java Agent to work with Jira. This is due to Jira uses OSGI framework, and the default boot class loader does not load the extra … Continue reading Use New Relic Java Agent with Jira
AWS CodeBuild has no CloudWatch logs
AWS Codebuild can work inside or outside a VPC now, it used to be outside VPC only. If your VPC requires a proxy to access Internet, then you need to set it up properly in the Codebuild project, otherwise you may notice that the project is unable to output logs to CloudWatch (Here let's assume … Continue reading AWS CodeBuild has no CloudWatch logs
Use AWS Secret Manager to handle credentials
AWS Secret Manager is a great solution for secret management. It is similar to HarshiCorp Vault, but with better integrations with other AWS services, e.g. IAM, RDS, Redshift, DocumentDB. As illustrated above, I created a database in RDS and a credential in Secret Manager, then attached the credential to the database for dynamic reference. The … Continue reading Use AWS Secret Manager to handle credentials


