Skip to content

Commit

Permalink
oracle jdk
Browse files Browse the repository at this point in the history
  • Loading branch information
kosarko committed Jun 25, 2015
1 parent 33f1bb0 commit 1c15119
Show file tree
Hide file tree
Showing 14 changed files with 1,023 additions and 2 deletions.
9 changes: 8 additions & 1 deletion manifests/first.pp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
ensure => latest,
}

$my_dirs = [ "/opt/installations", "/opt/sources" ]
$my_dirs = [ "/opt/installations", "/opt/sources", "/opt/sources/dspace", "/opt/installations/dspace" ]
file { $my_dirs:
ensure => directory,
}
Expand All @@ -24,3 +24,10 @@
target => '/opt/sources',
require => File['/opt/sources'],
}

class { 'jdk_oracle':
ensure => installed,
version => '8',
install_dir => '/installations/java',
require => File['/installations'],
}
13 changes: 13 additions & 0 deletions modules/jdk_oracle/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
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.
8 changes: 8 additions & 0 deletions modules/jdk_oracle/Modulefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name 'tylerwalts-jdk_oracle'
version '1.3.3'
source 'https://github.com/tylerwalts/puppet-jdk_oracle'
author 'tylerwalts'
license 'Apache License, Version 2.0'
summary 'Module for automating Oracle JDK download and installation'
description 'Module for automating Oracle JDK download and installation, which does not have a dependency on a human download task, file share or centralized architecture design. It fetches the installer binary from the target server, for the target server. This approach assumes that automation is more valuable than bandwidth.'
project_page 'https://github.com/tylerwalts/puppet-jdk_oracle'
113 changes: 113 additions & 0 deletions modules/jdk_oracle/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# puppet-jdk_oracle

[![Build Status](https://travis-ci.org/tylerwalts/puppet-jdk_oracle.png?branch=master)](https://travis-ci.org/tylerwalts/puppet-jdk_oracle)

## Overview

Puppet module to automate fetching and installing the Oracle JDK 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, 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:

1. You do not control or trust your package repository to host the version of Oracle Java that you want.
1. You want to lock in the version that gets installed.
1. 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:

1. If you want to use package management (.deb, .rpm) instead of extracting a generic archive.
1. Consider schrepfler’s fork which does RPM without v6: https://github.com/schrepfler/puppet-jdk_oracle
1. If you want to rely on your package repository to host the binary, not Oracle.
1. 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 "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:

* version
* Java Version to install
* version_update
* Java Version update to install
* version_build
* Java Version build to install
* 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
* default_java
* Boolean to indicate if the installed java version is linked as the default java, javac etc...
* ensure
* Boolean to disable anything from happening (absent/removal not supported yet)


4 changes: 4 additions & 0 deletions modules/jdk_oracle/Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
require 'rubygems'
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-lint'
PuppetLint.configuration.send("disable_80chars")
12 changes: 12 additions & 0 deletions modules/jdk_oracle/checksums.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"LICENSE": "04710a89087f7051fd6f26539353f14d",
"Modulefile": "0dccf1e4c4e1e234ebe7e1a44211283e",
"README.md": "6217d334dc8d8f0eb493886d9a4499fb",
"Rakefile": "4617b1db6b164cda36fa92014ffa4950",
"manifests/init.pp": "ae545989954a58b3611ff508bdd8f106",
"manifests/init.pp.bak": "33b6f5a5bda248a56aeba5bcb9708518",
"manifests/suse.pp": "7823cbadaa002f42c54f04adbff8063d",
"metadata.json": "891fbfbec7f6ae8b43245e258528af26",
"spec/classes/jdk_oracle_init_spec.rb": "976ef32821f12cd95e7878094843e2f8",
"spec/spec_helper.rb": "e2557d7a809dccb72606febaf0757c50"
}
2 changes: 2 additions & 0 deletions modules/jdk_oracle/files/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
jdk-*-linux-*.tar.gz

Loading

0 comments on commit 1c15119

Please sign in to comment.