To perform this activity using the chef client we will create new cookbook display_certificates.
First go to the chef cookbook location and create below directories
cd cookbooks
mkdir -p display_certificates/recipes
mkdir -p display_certificates/files/default
Once we create the default directories. We need to create a sh script in default directory and rb script in recipes directory.
our directory structure will now looks like this
~/cookbooks
display_certifies
recipes
display_certificates.sh
files
default
display_certificates.rb
Copy the below content into the display_certificates.sh. change keystore path and password as per keystore location. aliasname is certificatename which can be used to delete certificate from keystore.
#!/bin/bash
KEYSTORE_PATH="/opt/sw/keystore/keystore.jks"
KEYSTORE_PASSWORD="changeit"
keytool -list -v -keystore "$KEYSTORE_PATH" -storepass "$KEYSTORE_PASSWORD" | grep -E "Alias|Valid"
keytool -delete -alias "aliasname" -keystore "$KEYSTORE_PATH" -storepass "$KEYSTORE_PASSWORD"
Copy the below content into the display_certificates.rb
#recipes/display_certificates.rb
cookbook_file '/tmp/display_certificates.sh' do
source 'display_certificates.sh'
mode '0755'
owner 'root'
group 'root'
action :create
end
execute 'display_certificates' do
command 'bash /tmp/display_certificates.sh'
live_stream true
end
Save the files and run the chef client using the below code
chef-client -zr recipe[display_certificates::display_certificates]
It will display the certificates in the keystore file with certificatename and its expiry date.
No comments:
Post a Comment