How can I know the Keycloak version? - keycloak

In the older KeyCloak versions, we could use:
/opt/jboss/keycloak/bin/standalone.sh -version
This would print the version info.
But in newer versions it seems that this standalone.sh is removed.
How can I get the version in newer versions?

You can do:
cat version.txt
in the root folder that contains Keycloak.
Or
./bin/kc.sh --version
and get as an output for example:
Keycloak 20.0.3
(..)

Related

Run different ActiveMQ Artemis versions with separate JDK's

quick question; is it possible and reasonable to run different Artemis ActiveMQ versions with different JDK versions?
There are currently two separate Artemis-Services on my VM running different Artemis versions (2.4.0 not cool, I know :/ and 2.16.0).
Now I want to upgrade the 2.16.0 to 2.21.0 which would mean, that I also need a new JDK version. The problem is I still have to provide a customer with the 2.4.0 version.
Can I run the 2.21.0 with JDK 17 and the 2.4.0 still with JDK 8?
The Java-Version seems to be referenced in the artemis-service.xml as %JAVA_HOME% which is a windows environment variable and outputs either JDK 17 or JDK 8.
Could I just switch this variable to a local env, similar to ARTEMIS_INSTANCE in the artemis-service.xml or is this not an intended use?
So the new artemis-service.xml would look something like this:
...
<env name="ARTEMIS_INSTANCE_ETC_URI" value="file:/C:/ApacheMQ/BROKER/etc/"/>
<env name="ARTEMIS_DATA_DIR" value="C:\ApacheMQ\BROKER\data"/>
<env name="JAVA_V17" value="C:\PATH_TO_JDK_17"/>
<logpath>C:\ApacheMQ\BROKER\log</logpath>
<logmode>roll</logmode>
<executable>%JAVA_V17%\bin\java.exe</executable>
...
Obviously one of the JDK versions wouldn't be properly installed but just residing in a folder.
Yes, I know this is more of a dirty workaround, but would it be an option in principle?
Your solution will works, an alternative could be to use the full path to define the executable element, i.e.
<executable>C:\PATH_TO_JDK_17\bin\java.exe</executable>

Jfrog Upgrade from 6.17 to 7.x

I am working on upgrading Jfrog 6.17 Pro to the closest Jfrog 7.X version. Any idea if I can directly upgrade to latest version 7.6 available.
My current installation is done using .zip file on Linux OS. For the latest release I don't see a .zip package download option for Linux, can I use .tar file instead?.
Also the directory layout has been changed in 7.x version.
I have looked at the documentation provided by Jfrog and its not very clear how I can upgrade. Any suggestions please.
#syed You can upgrade from 6.17 to latest. But you need to manually copy some folders into the new structure as mentioned in the upgrade documentation here
If you felt documentation steps are unclear please raise them here, and we can help.
Make sure these three are set correctly while running those copy commands:
export ARTIFACTORY_HOME=<Path to your current Artifactory installation>
export JFROG_HOME=<Full path to jfrog directory of new version, for example: /opt/jfrog>
export JF_PRODUCT_HOME=$JFROG_HOME/artifactory

Jboss version with single line command in unix

Can you please let me know how can i Jboss version running in my servers, i am not able to find standalone.sh script file in some of the servers. is there any log or single command to find out Jboss.
Thanks
To find out which version of EAP you have installed on machine, grep jboss-modules.jar. Called as $JBOSS_HOME. Once you location of EAP installer i.e $JBOSS_HOME, you will find version.txt at same location which will tell you exact version of EAP.
If you already know location of EAP, chekc version.txt to know the exact version of EAP or grep server.log file present in $JBOSS_HOME/standalone/log

How to continously deploy a feature to karaf?

I want to continously deploy a feature to ServiceMix 6.0, which is based on Karaf 3.0.4.
I first tried this using the karaf console. However there are some problems. It is for a standard karaf installation not possible to determine on the karaf console if a feature is already installed (see my other question on this). The other problem with the karaf console is that it doesn't support exit codes. So it is not possible to determine reliably if a feature installation was successfully finished.
I then installed hawtio and tried to use the exposed JMX beans via jolokia/REST that is bundled with hawtio. The problem here is that karaf 3.0.x is unable to update a feature. Therefore features must be uninstalled first. However the FeatureService only offers the possibility to uninstall an explicitly specified feature. But when a previous version of the feature was installed, subfeatures were installed with it. They also need an upgrade and therefore be uninstalled first. So I would need a way to iterate over the subfeatures of a feature, which I do not have.
So how can continous deployment of features to karaf 3.0.x be done?
The first try we have implemented is a bash script. The biggest problem is uninstalling the old version. Therefore we have set up a convention for the names of the feature and it's subfeatures. So we can use the following to find already installed features:
features=$(echo "feature:list" | ssh -p $smx_ssh_port $smx_user#$smx_host | grep -h "<feature-name-convention-regex>.*|.*x.*|" | cut -f1 -d" " | tr '\n' ' ')
This can then be passed to feature:uninstall and can also be used for detecting if features were installed after the call to feature:repo-add -i.
The remaining problem is that we are unable to reference 3rd-party subfeatures because they won't be uninstalled when an updated version needs to be installed and we can't be sure if all of the subfeatures have been successfully installed.
For karaf 3 there is no good way to update features.
This is already a little better for karaf 4. It allows to update a feature repo and you can then simply install the feature again. It will detect that the feature has changed and do the necessary changes in bundles.

Is there a difference between joshcooper-powershell and puppetlabs-powershell?

I tried to install puppetlabs-powershell v1.0.1 on my puppet master, but it complained that joshcooper-powershell v0.0.6 is already installed.
Are they the same? Compatible?
Which version is newer?
I have the opportunity to force the install using 'puppet module install --force'. Good or bad idea?
For reference, this is the command I used:
sudo puppet module install puppetlabs-powershell --version 1.0.1
TL;DR use puppetlabs-powershell in favor of joshcooper-powershell.
The git repository for both modules is puppetlabs/puppetlabs-powershell.
Note that Josh is (now) a PuppetLabs employee and likely moved his module to the official supported ones. His module has not seen a release since 2013, so it's safe to assume that it's been superseded by PuppetLabs' module.