jdk_oracle
Version information
This version is compatible with:
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'tylerwalts-jdk_oracle', '2.0.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-jdk_oracle
Overview
Puppet module to automate fetching and installing the Oracle JDK/JRE/Server-JRE from the Oracle-hosted download site located here: http://www.oracle.com/technetwork/java/javase/downloads/index.html
Note: By using this module you will automatically accept the Oracle agreement to download Java.
There are several puppet modules available that will help install Oracle JDK/JRE/Server-JRE, but they either use the local package manager repository, or depend on the user to manually place the Oracle Java installer in the module's file directory prior to using. This module will use wget with a cookie to automatically grab the installer from Oracle.
This approach was inspired by: http://stackoverflow.com/questions/10268583/how-to-automate-download-and-instalation-of-java-jdk-on-linux
Supported Operating Systems:
- RedHat Family (RedHat, Fedora, CentOS)
- Debian Family (Ubuntu)
- SUSE
- This may work on other linux flavors but more testing is needed. Please send feedback!
Supported Java Versions:
- Java 6, 7, 8
- Build versions should be specified as parameters (see below)
Reasons you may want to use this module:
- You do not control or trust your package repository to host the version of Oracle Java that you want.
- You want to lock in the version that gets installed.
- You want to use Oracle’s CDN to host the binary instead of hosting it yourself.
Reasons why you would not want to use this module:
- If you want to use package management (.deb, .rpm) instead of extracting a generic archive.
- Consider schrepfler’s fork which does RPM without v6: https://github.com/schrepfler/puppet-jdk_oracle
- If you want to rely on your package repository to host the binary, not Oracle.
- If your target configuration server does not have access to the Internet. Assumes the server can pull it.
Installation:
A) Traditional:
- Copy this project into your puppet modules path and rename to "jdk_oracle"
B) Puppet Librarian:
- Put this in your Puppetfile: From Forge:
mod "tylerwalts/jdk_oracle"
From Source:
mod "tylerwalts/jdk_oracle",
:git => "git://github.com/tylerwalts/puppet-jdk_oracle.git"
Usage:
A) Traditional:
include jdk_oracle
or
class { 'jdk_oracle': }
B) Hiera:
config.json:
{
classes":[
"jdk_oracle"
]
}
OR config.yaml:
---
classes:
- "jdk_oracle"
jdk_oracle::version: "6"
site.pp:
hiera_include("classes", [])
Parameters:
Class jdk_oracle
- version
- Java Version to install
- version_update
- Java Version update to install
- version_build
- Java Version build to install
- version_hash
- The hash in more current Oracle download URLs
- install_dir
- Java Installation Directory
- use_cache
- Optionally host the installer file locally instead of fetching it each time, for faster dev & test
- platform
- The platform to use
- package
- The package to install. Can be one of the following: jdk, jre, server-jre
- jce
- Boolean to optionally install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files (Java 8 only)
- default_java
- Boolean to indicate if the installed java version is linked as the default java, javac etc. Defaults to true.
- ensure
- Boolean to disable anything from happening (absent/removal not supported yet)
- download_url
- string: the download base url to use. default to oracle cdn. should contain the jdk directory. eg : https://custom_host -> https://custom_host/jdk/8u11-b12/jdk-8u11-linux-x64.tar.gz
- proxy_host
- a proxy host use. Default to undef.
jdk_oracle::install
Basicaly the same option as class jdk_oracle.
- version
- Java Version to install
- version_update
- Java Version update to install
- version_build
- Java Version build to install
- version_hash
- The hash in more current Oracle download URLs
- install_dir
- Java Installation Directory
- use_cache
- Optionally host the installer file locally instead of fetching it each time, for faster dev & test
- platform
- The platform to use
- package
- The package to install. Can be one of the following: jdk, jre, server-jre
- jce
- Boolean to optionally install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files (Java 8 only)
- default_java
- Boolean to indicate if the installed java version is linked as the default java, javac etc. Defaults to true.
- create_symlink:
- Boolean to indicate if we have to create a symlink of java_home to the default java_home. Defaults to true.
- proxy
Example Usage.
to install the default jdk8u11 plus jdk8u102 as default with JCE with default parameters :
class { 'jdk_oracle':
jce => true
}
jdk_oracle::install { 'jdk_11u102':
version_update => '102',
version_build => '14',
default_java => true,
jce => true,
install_dir => '/usr/java'
}
to install only jdk8u102 as default with jce, with custom repository and proxy
class { 'jdk_oracle':
jce => true,
default => true,
download_url => 'https://nexus.corp/java',
proxy_host => 'http://proxyhost:3128',
version_update => '102',
version_build => '14',
}
Dependencies
- puppetlabs-stdlib (>= 1.0.0)
- puppet-archive (>= 1.0.0)
- puppet-alternatives (>= 1.0.0)
Copyright 2013 Tyler Walters Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.