Deploying Datahub using maven and spring boot - marklogic-9

I am trying to deploy MarkLogic datahub framework through spring boot project using maven . But not getting enough examples. Can someone please help here..
I have already downloaded the datahub java code but I also want to deploy data hub though it.
I have downloaded from
https://github.com/marklogic/marklogic-data-hub

Related

log4j2 for MULE 3 CE patch update

I need some information of log4j2 for updating our central versions of Mule CE 3.9.0 and Mule CE 3.9.5 (CE=Community Edition).
What is the best way to protect them and does downloading only jar files from Apache site https://dlcdn.apache.org/logging/log4j/2.12.3/ be useful to patch Mule CE 3.9?
Regards
As a summary you only need to find the vulnerable jars in the mule-server and in the mule flows deployed in the apps folder.
A Java project is a set of java class and libraries with complex dependencies relationship, but easy to replace one of them (manually or automated with maven), so no matter how or where log4j is being used, we just need replace the jar file.
mule community server 3.9.0
In this version, with this command find . -type f -iname "*log4j*" we will get the log4j jars:
As we can see, the version prior to the 2.14.x
log4j-jul-2.8.2.jar
log4j-jcl-2.8.2.jar
log4j-slf4j-impl-2.8.2.jar
log4j-core-2.8.2.jar
log4j-api-2.8.2.jar
log4j-1.2-api-2.8.2.jar
But according to the official maven repository, this version is affected too :(
Just the 2.17.0 is safe to use
Source: https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core
If this change breaks your mule, just delete the specific vulnerable class:
zip -q -d
log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
Source: https://www.docker.com/blog/apache-log4j-2-cve-2021-44228/
mule flow or mule app
This is not the server, is the app developed by programmers, packaged as .zip and deployed to the mule apps folder in the server.
In this layer, the app can ignore completely the server configurations and has its own jar versions.
If you don't use maven (rare), you need to search and replace the jar, app by app, similar to the server with find command but in the specific app folder:
/opt/mule_server/apps/my-mule-app
If you use maven, you could find if the jar is used with the pom.xml previewer of Eclipse Ide or with command mvn dependency:tree. Check this:
https://stackoverflow.com/a/68916675/3957754
Remember: If you not use directly this jar, you need to check if mule esb server uses it.
Here some tips from manual to automated pipelines:
mule esb monolithic with manual deployment
In this case you need to fix the server and your apps.
for the server, backup, stop, search the jar on lib folder and replace it with the 2.17 (after vulnerability fix) and start. Test if everything is working
for the mule apps, the process is the same: stop the mule server, go to your mule apps and one by one, search the jar and replace it. Start the mule server and test if everything is working
git repository , maven and one mule app by server
In this case, you don't have a big server with a big mule containing a lot of mule apps/flows. You have one light server for just one mule app.
Just search the dependency in your pom with maven and replace it.
Push your changes and in the next deploy( manual or automated) your mule app will be fixed.
Also note that this approach fix the app, not the server.
git, docker
If you are using docker, the things are easy. Just search the Dockerfile (usually in a git repository). In this file there are a lot of sentences, since the java installation until the star of mule server.
Choose the exact line between the download of mule and the start of server and put a sentence which replace the jar file
Next deploy will pick you new image version and that's all.
automated flow(devops)
Here you are using maven, gi, docker and some ci server. You just need:
update the git repository of your mule app (maven)
update the git repository of your docker image
deploy your fix using the ci server.
With this, you will not need human access to the production servers to fix your java application ( mule)

IntelliJ IDEA : Spring Boot vs JAR Application configurations

I have a Spring Boot project. I created the following two configurations:
Spring Boot Configuration
JAR Application Configuration
Can someone tell me what is the difference? They both run as expected.
Thank you.
Running via Spring Boot configuration will allow hot swapping of the changes during debugging which is very useful during development as you don't have to rebuild all the files and package the jar on every change.
Jar Application is handy when you want to verify that your production jar works as expected.

Allure2 How to integrate it with Jira Xray

I am trying to integrate Allure2 reports with Jira plugin called Xray. So far i managed to generate those reports on local machine and on Jenkins server in pipeline job with Allure plugin.
Also i see that there is an actual Allure plugin called xray-plugin on Allure Framework GitHub, however instructions how to use this plugin are not clear enough for me (for example, where one should put those Jira env variables?).
Can someone here explain in more clear manner how to integrate Allure2 with x-ray?

Trying to build project with appfuse

I building my project with app fuse but unable to create it. Can any one help me to build appfuse spring project.
Appfuse samle project creation
in this link you can create a sample appfuse project .
Create a appfuse project using the link.
Import the project to your eclipse.
Right Click the pom.xml file goto Run-As and click Maven install wait until the process completed.
Now run your project in apache tomcat server.
If you need basic spring application you can refer this link Sample Spring example
If you need appfuse spring sample Try this Appfuse github

Deploying appfuse app on cloudbees as war

I have appfuse maven project , is it better to deploy it using Click start Tomcat or as a Jenkin Maven project? I have tried both but it does not seem to be working in any ways. I have created database and bound it to the app. still it gives error for spring bean creation etc. Can anyone help in this scenario?
If I would need to deploy my appfuse maven application on CloudBees platform, I will try two different ways:
Use the Tomcat 7 Maven ClickStart as a template changing the SCM to your repo.
Use the CloudBees SDK to deploy your application.
In this last case, you just need to generate your .war file, in case you use maven, launching:
mvn clean package
And then you can deploy your application from the CLoudBees SDK using:
bees app:deploy -t tomcat7 -a APPID MYFILE.war
You say that when you deploy your application it gives error for spring bean creation. However, you don't attach any stacktrace to your question, so it is difficult to do any kind of diagnosis on our end.