Infrastructures are often configured in a manner where multiple files providing the same binary exists, and we configure alternatives to set the correct file that should provide the required binary and they are known as alternatives. In this recipe, we will learn how to configure alternatives in Salt.
We will use the same minion as the previous recipe. We will assume that there is a local web server in our environment, which provides an archived file containing a hotspot version of Java from Oracle:
Create a new state directory called
alternatives
.Create and edit the
/opt/salt-cookbook/staging/alternatives/init.sls
file to have the following entries:extract_jdk_archive: archive: - extracted - name: /opt/ - source: http://reposerver/jdk-7u71-linux-x64.gz - source_hash: md5=22761b214b1505f1a9671b124b0f44f4 - archive_format: tar - if_missing: /opt/jdk1.7.0_71 /opt/java: file.symlink: - target: jdk1.7.0_71 - require:...