forked from taiidani/terraform-provider-jenkins
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Ryan Nixon
committed
Dec 24, 2018
1 parent
5ef7df6
commit 4a95674
Showing
9 changed files
with
446 additions
and
1 deletion.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
.DS_Store | ||
.sass-cache | ||
_site | ||
.bundles |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
source 'https://rubygems.org' do | ||
gem "github-pages", group: :jekyll_plugins | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,248 @@ | ||
GEM | ||
remote: https://rubygems.org/ | ||
specs: | ||
activesupport (4.2.10) | ||
i18n (~> 0.7) | ||
minitest (~> 5.1) | ||
thread_safe (~> 0.3, >= 0.3.4) | ||
tzinfo (~> 1.1) | ||
addressable (2.5.2) | ||
public_suffix (>= 2.0.2, < 4.0) | ||
coffee-script (2.4.1) | ||
coffee-script-source | ||
execjs | ||
coffee-script-source (1.11.1) | ||
colorator (1.1.0) | ||
commonmarker (0.17.13) | ||
ruby-enum (~> 0.5) | ||
concurrent-ruby (1.1.4) | ||
dnsruby (1.61.2) | ||
addressable (~> 2.5) | ||
em-websocket (0.5.1) | ||
eventmachine (>= 0.12.9) | ||
http_parser.rb (~> 0.6.0) | ||
ethon (0.11.0) | ||
ffi (>= 1.3.0) | ||
eventmachine (1.2.7) | ||
execjs (2.7.0) | ||
faraday (0.15.4) | ||
multipart-post (>= 1.2, < 3) | ||
ffi (1.9.25) | ||
forwardable-extended (2.6.0) | ||
gemoji (3.0.0) | ||
github-pages (193) | ||
activesupport (= 4.2.10) | ||
github-pages-health-check (= 1.8.1) | ||
jekyll (= 3.7.4) | ||
jekyll-avatar (= 0.6.0) | ||
jekyll-coffeescript (= 1.1.1) | ||
jekyll-commonmark-ghpages (= 0.1.5) | ||
jekyll-default-layout (= 0.1.4) | ||
jekyll-feed (= 0.11.0) | ||
jekyll-gist (= 1.5.0) | ||
jekyll-github-metadata (= 2.9.4) | ||
jekyll-mentions (= 1.4.1) | ||
jekyll-optional-front-matter (= 0.3.0) | ||
jekyll-paginate (= 1.1.0) | ||
jekyll-readme-index (= 0.2.0) | ||
jekyll-redirect-from (= 0.14.0) | ||
jekyll-relative-links (= 0.5.3) | ||
jekyll-remote-theme (= 0.3.1) | ||
jekyll-sass-converter (= 1.5.2) | ||
jekyll-seo-tag (= 2.5.0) | ||
jekyll-sitemap (= 1.2.0) | ||
jekyll-swiss (= 0.4.0) | ||
jekyll-theme-architect (= 0.1.1) | ||
jekyll-theme-cayman (= 0.1.1) | ||
jekyll-theme-dinky (= 0.1.1) | ||
jekyll-theme-hacker (= 0.1.1) | ||
jekyll-theme-leap-day (= 0.1.1) | ||
jekyll-theme-merlot (= 0.1.1) | ||
jekyll-theme-midnight (= 0.1.1) | ||
jekyll-theme-minimal (= 0.1.1) | ||
jekyll-theme-modernist (= 0.1.1) | ||
jekyll-theme-primer (= 0.5.3) | ||
jekyll-theme-slate (= 0.1.1) | ||
jekyll-theme-tactile (= 0.1.1) | ||
jekyll-theme-time-machine (= 0.1.1) | ||
jekyll-titles-from-headings (= 0.5.1) | ||
jemoji (= 0.10.1) | ||
kramdown (= 1.17.0) | ||
liquid (= 4.0.0) | ||
listen (= 3.1.5) | ||
mercenary (~> 0.3) | ||
minima (= 2.5.0) | ||
nokogiri (>= 1.8.2, < 2.0) | ||
rouge (= 2.2.1) | ||
terminal-table (~> 1.4) | ||
github-pages-health-check (1.8.1) | ||
addressable (~> 2.3) | ||
dnsruby (~> 1.60) | ||
octokit (~> 4.0) | ||
public_suffix (~> 2.0) | ||
typhoeus (~> 1.3) | ||
html-pipeline (2.9.1) | ||
activesupport (>= 2) | ||
nokogiri (>= 1.4) | ||
http_parser.rb (0.6.0) | ||
i18n (0.9.5) | ||
concurrent-ruby (~> 1.0) | ||
jekyll (3.7.4) | ||
addressable (~> 2.4) | ||
colorator (~> 1.0) | ||
em-websocket (~> 0.5) | ||
i18n (~> 0.7) | ||
jekyll-sass-converter (~> 1.0) | ||
jekyll-watch (~> 2.0) | ||
kramdown (~> 1.14) | ||
liquid (~> 4.0) | ||
mercenary (~> 0.3.3) | ||
pathutil (~> 0.9) | ||
rouge (>= 1.7, < 4) | ||
safe_yaml (~> 1.0) | ||
jekyll-avatar (0.6.0) | ||
jekyll (~> 3.0) | ||
jekyll-coffeescript (1.1.1) | ||
coffee-script (~> 2.2) | ||
coffee-script-source (~> 1.11.1) | ||
jekyll-commonmark (1.2.0) | ||
commonmarker (~> 0.14) | ||
jekyll (>= 3.0, < 4.0) | ||
jekyll-commonmark-ghpages (0.1.5) | ||
commonmarker (~> 0.17.6) | ||
jekyll-commonmark (~> 1) | ||
rouge (~> 2) | ||
jekyll-default-layout (0.1.4) | ||
jekyll (~> 3.0) | ||
jekyll-feed (0.11.0) | ||
jekyll (~> 3.3) | ||
jekyll-gist (1.5.0) | ||
octokit (~> 4.2) | ||
jekyll-github-metadata (2.9.4) | ||
jekyll (~> 3.1) | ||
octokit (~> 4.0, != 4.4.0) | ||
jekyll-mentions (1.4.1) | ||
html-pipeline (~> 2.3) | ||
jekyll (~> 3.0) | ||
jekyll-optional-front-matter (0.3.0) | ||
jekyll (~> 3.0) | ||
jekyll-paginate (1.1.0) | ||
jekyll-readme-index (0.2.0) | ||
jekyll (~> 3.0) | ||
jekyll-redirect-from (0.14.0) | ||
jekyll (~> 3.3) | ||
jekyll-relative-links (0.5.3) | ||
jekyll (~> 3.3) | ||
jekyll-remote-theme (0.3.1) | ||
jekyll (~> 3.5) | ||
rubyzip (>= 1.2.1, < 3.0) | ||
jekyll-sass-converter (1.5.2) | ||
sass (~> 3.4) | ||
jekyll-seo-tag (2.5.0) | ||
jekyll (~> 3.3) | ||
jekyll-sitemap (1.2.0) | ||
jekyll (~> 3.3) | ||
jekyll-swiss (0.4.0) | ||
jekyll-theme-architect (0.1.1) | ||
jekyll (~> 3.5) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-theme-cayman (0.1.1) | ||
jekyll (~> 3.5) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-theme-dinky (0.1.1) | ||
jekyll (~> 3.5) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-theme-hacker (0.1.1) | ||
jekyll (~> 3.5) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-theme-leap-day (0.1.1) | ||
jekyll (~> 3.5) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-theme-merlot (0.1.1) | ||
jekyll (~> 3.5) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-theme-midnight (0.1.1) | ||
jekyll (~> 3.5) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-theme-minimal (0.1.1) | ||
jekyll (~> 3.5) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-theme-modernist (0.1.1) | ||
jekyll (~> 3.5) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-theme-primer (0.5.3) | ||
jekyll (~> 3.5) | ||
jekyll-github-metadata (~> 2.9) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-theme-slate (0.1.1) | ||
jekyll (~> 3.5) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-theme-tactile (0.1.1) | ||
jekyll (~> 3.5) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-theme-time-machine (0.1.1) | ||
jekyll (~> 3.5) | ||
jekyll-seo-tag (~> 2.0) | ||
jekyll-titles-from-headings (0.5.1) | ||
jekyll (~> 3.3) | ||
jekyll-watch (2.1.2) | ||
listen (~> 3.0) | ||
jemoji (0.10.1) | ||
gemoji (~> 3.0) | ||
html-pipeline (~> 2.2) | ||
jekyll (~> 3.0) | ||
kramdown (1.17.0) | ||
liquid (4.0.0) | ||
listen (3.1.5) | ||
rb-fsevent (~> 0.9, >= 0.9.4) | ||
rb-inotify (~> 0.9, >= 0.9.7) | ||
ruby_dep (~> 1.2) | ||
mercenary (0.3.6) | ||
mini_portile2 (2.4.0) | ||
minima (2.5.0) | ||
jekyll (~> 3.5) | ||
jekyll-feed (~> 0.9) | ||
jekyll-seo-tag (~> 2.1) | ||
minitest (5.11.3) | ||
multipart-post (2.0.0) | ||
nokogiri (1.9.1) | ||
mini_portile2 (~> 2.4.0) | ||
octokit (4.13.0) | ||
sawyer (~> 0.8.0, >= 0.5.3) | ||
pathutil (0.16.2) | ||
forwardable-extended (~> 2.6) | ||
public_suffix (2.0.5) | ||
rb-fsevent (0.10.3) | ||
rb-inotify (0.10.0) | ||
ffi (~> 1.0) | ||
rouge (2.2.1) | ||
ruby-enum (0.7.2) | ||
i18n | ||
ruby_dep (1.5.0) | ||
rubyzip (1.2.2) | ||
safe_yaml (1.0.4) | ||
sass (3.7.2) | ||
sass-listen (~> 4.0.0) | ||
sass-listen (4.0.0) | ||
rb-fsevent (~> 0.9, >= 0.9.4) | ||
rb-inotify (~> 0.9, >= 0.9.7) | ||
sawyer (0.8.1) | ||
addressable (>= 2.3.5, < 2.6) | ||
faraday (~> 0.8, < 1.0) | ||
terminal-table (1.8.0) | ||
unicode-display_width (~> 1.1, >= 1.1.1) | ||
thread_safe (0.3.6) | ||
typhoeus (1.3.1) | ||
ethon (>= 0.9.0) | ||
tzinfo (1.2.5) | ||
thread_safe (~> 0.1) | ||
unicode-display_width (1.4.1) | ||
|
||
PLATFORMS | ||
ruby | ||
|
||
DEPENDENCIES | ||
github-pages! | ||
|
||
BUNDLED WITH | ||
1.17.2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
title: "Provider: Jenkins" | ||
|
||
theme: jekyll-theme-slate |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
--- | ||
title: {{site.title}} | ||
description: |- | ||
The Amazon Web Services (AWS) provider is used to interact with the many resources supported by AWS. The provider needs to be configured with the proper credentials before it can be used. | ||
--- | ||
|
||
The Jenkins provider is used to interact with the Jenkins API. The provider needs to be configured with the proper credentials before it can be used. | ||
|
||
## Available Resources | ||
|
||
* [jenkins_folder](resource_jenkins_folder.md) | ||
* [jenkins_job](resource_jenkins_job.md) | ||
|
||
## Example Usage | ||
|
||
```hcl | ||
# Configure the Jenkins Provider | ||
provider "jenkins" { | ||
server_url = "https://jenkins.url" | ||
username = "username" | ||
password = "password" | ||
} | ||
# Create a Jenkins job | ||
resource "jenkins_job" "example" { | ||
# ... | ||
} | ||
``` | ||
|
||
## Authentication | ||
|
||
Jenkins uses a user/password challenge for authentication. It requires a username & password for determining identity and permissions. This method also supports Jenkins' various authentication plugins, such as GitHub OAuth (through the use of Personal Access Tokens). | ||
|
||
### Static credentials ### | ||
|
||
Static credentials can be provided by adding a `username` and `password` in-line in the Jenkins provider block: | ||
|
||
Usage: | ||
|
||
```hcl | ||
provider "jenkins" { | ||
server_url = "https://jenkins.url" | ||
username = "username" | ||
password = "password" | ||
} | ||
``` | ||
|
||
### Environment variables | ||
|
||
You can provide your credentials via the `JENKINS_USERNAME` and `JENKINS_PASSWORD`, environment variables. `JENKINS_URL` is also available which will assign the `server_url` property. | ||
|
||
```hcl | ||
provider "jenkins" {} | ||
``` | ||
|
||
Usage: | ||
|
||
```sh | ||
$ export JENKINS_SERVER_URL="https://jenkins.url" | ||
$ export JENKINS_USERNAME="username" | ||
$ export JENKINS_PASSWORD="password" | ||
$ terraform plan | ||
``` | ||
|
||
## Argument Reference | ||
|
||
In addition to [generic `provider` arguments](https://www.terraform.io/docs/configuration/providers.html) (e.g. `alias` and `version`), the following arguments are supported in the Jenkins `provider` block: | ||
|
||
* `server_url` - (Required) This is the Jenkins server URL. It should be fully qualified (e.g. `https://...`) and point to the root of the Jenkins server location. | ||
|
||
* `username` - (Required) This is Jenkins username for authentication. | ||
|
||
* `password` - (Required) This is the Jenkins password for authentication. If you are using the GitHub OAuth authentication method, enter your Personal Access Token here. | ||
|
||
* `ca_cert` - (Optional) This is the path to the self-signed certificate that may be required in order to authenticate to your Jenkins instance. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
build: | ||
docker run --rm -it \ | ||
--volume "$(shell pwd):/srv/jekyll" \ | ||
--volume "$(shell pwd)/.bundles:/usr/local/bundle" \ | ||
--env PAGES_REPO_NWO="taiidani/terraform-provider-jenkins" \ | ||
-p "4000:4000" \ | ||
jekyll/jekyll jekyll serve --watch |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
--- | ||
--- | ||
|
||
# jenkins_folder | ||
|
||
Manages a folder within Jenkins. | ||
|
||
## Example Usage | ||
|
||
```hcl | ||
resource "jenkins_folder" "example" { | ||
name = "folder-name" | ||
} | ||
resource "jenkins_folder" "example-child" { | ||
name = "${jenkins_folder.example.name}/child-name" | ||
} | ||
``` | ||
|
||
## Argument Reference | ||
|
||
The following arguments are supported: | ||
|
||
* `name` - (Required) The name of the folder being created. If creating in a subfolder separate folder names with `/`, such as `parent/child`. This name cannot be changed once the folder has been created, and all parent folders must be created in advance. | ||
* `description` - (Optional) A block of text describing the folder's purpose. | ||
* `template` - (Optional) A Jenkins-compatible XML template to describe the folder. You can retrieve an existing folder's XML by appending `/config.xml` to its URL and viewing the source in your browser. The `template` property is rendered using a Golang template that takes the other resource arguments as variables. Do not include the XML prolog in the definition. If `template` is not provided this will default to a "best-guess" folder definition. | ||
* `permissions` - (Optional) A list of strings containing Jenkins permissions assigments to users and groups for the folder. For example: | ||
|
||
```hcl | ||
permissions = [ | ||
"hudson.model.Item.Build:username", | ||
"hudson.model.Item.Cancel:username", | ||
"hudson.model.Item.Configure:username", | ||
"hudson.model.Item.Create:username", | ||
"hudson.model.Item.Delete:username", | ||
] | ||
``` | ||
|
||
## Attribute Reference | ||
|
||
All arguments above are exported. |
Oops, something went wrong.