java_ng

More parametrized Java installation

CESNET

cesnet

10,417 downloads

5,115 latest version

5.0 quality score

Version information

  • 2.1.2 (latest)
  • 2.1.1
  • 2.1.0
  • 2.0.0
  • 1.0.1
  • 1.0.0
released Nov 18th 2017
This version is compatible with:
  • Puppet Enterprise 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.2.0
  • CentOS
    ,
    Debian
    ,
    Fedora
    ,
    RedHat
    ,
    Scientific
    ,
    Ubuntu

Start using this module

Tags: java, headless, jre, jdk

Documentation

cesnet/java_ng — version 2.1.2 Nov 18th 2017

Java Headless Puppet Module - java_ng

Build Status

Table of Contents

  1. Module Description - What the module does and why it is useful
  2. Setup - The basics of getting started with java_ng
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Module Description

This puppet module performs more parametrized Java installation. Various options may be specified:

  • major version: 7, 8
  • flavor: headless, jdk, jre
  • repositories: native, ppa:openjdk, ppa:oracle

By default the headless flavor is installed, default version depends on the platform (8 or 7), and native repository is preferred.

Setup

What java_ng affects

  • Packages: Java (JRE/JDK, JCE policy, CA certificates)
  • Files:
  • ppa repository if enabled and needed (Debian, Ubuntu) + apt keys

No changes to the alternatives are done (only a switching in the package triggers).

Usage

Example: basic usage (using defaults or values from hiera)

include ::java_ng

Example: specify version and flavor

class { '::java_ng':
  flavor  => 'jdk',
  version => 8,
}

Example: lock the package version (Debian, Ubuntu)

class { '::java_ng':
  ensure  => 'held',
  version => 8,
}

Example: Oracle Java 8 (by selecting the PPA repository instead of preferred native OS repository)

class { '::java_ng':
  repo    => 'ppa:oracle',
  version => 8,
}

Reference

Classes

  • java_ng: Install Java
  • java_ng::install: Setup repositories and install packages
  • java_ng::params: Parameters and default values according to platform

java_ng class

Parameters

#####ensure

ensure parameter for the Java packages. Default: undef.

Set to held, if the Java version is held in Debian or Ubuntu.

#####flavor

Java flavor. Default: 'headless'.

Values:

  • headless
  • jdk
  • jre

#####version

Java major version. Default: [8, 7].

It may be array or single value.

#####repo

Repository to use. Default: ['native', 'ppa:openjdk', 'ppa:oracle'].

It may be array or single value.

Values:

  • native: native OS repository (mostly with OpenJDK Java)
  • ppa:openjdk: openjdk-r Ubuntu PPA repository (with the OpenJDK Java)
  • ppa:oracle: webupd8 Ubuntu PPA repository (with the Oracle Java)

#####prefer_version

Sets the heuristic to prefer Java version over the repository. Default: false.

It is used only when more Java versions and repositories are specified.

When true: the first specified version is used, if available in any repository.

When false: the repositories ordering is considered first (by default the native OS is the first).

#####set_default

Sets installed Java as default. Default: undef.

Used only with ppa:oracle.

Functions

  • java_ng_avail: Scans available Java versions and return matching version and repository

Limitations

PPA repository is permitted also on Debian, there is always used the Ubuntu 14/trusty version.

Alternatives are not touched, set_default parameter is used only with ppa:oracle repository.

Development