Skip to content
Config file configuration for jenkins
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Gopkg.lock
Gopkg.toml
README.md
handlers.go
jenkins.tux
main.go
options.go
utils.go

README.md

tuxedo

Config file configuration for Jenkins instances.

Summary

Tuxedo is an HCL based configuration language used to configure Jenkins instances.

Build and Installation

Tuxedo is built using Go, and requires dep for installing dependencies.

With these installed, building the tuxedo binary is simply a matter of:

$ dep ensure
$ go build

Usage

Tuxedo runs in --dry-run mode, which does not actually apply changes but just prints out the changes it will make when it is run normally.

$ ./tuxedo --dry-run

Running tuxedo without ``-dry-run` actually applies changes to the Jenkins server you are pointed to.

$ ./tuxedo

Example configuration

Tuxedo requires there be a jenkins.tux file in the directory that you are running the tuxedo binary in.

All configurations require an ssh_settings block.

// jenkins.tux

ssh_settings {
  host_ip = "35.193.201.174"
  ssh_username = "sidshanker"
  path_to_key = "/Users/fin/.ssh/id_rsa"
}

security {
  disable_signup = true
  disable_remember_me = true
}

general {
  jenkins_dir = "/var/lib/jenkins"
  num_executors = 2
  workspace_dir = "${JENKINS_HOME}/workspace/${ITEM_FULLNAME}"
}

Status

At the moment, Tuxedo is very much a work in progress. It currently only supports making changes to basic security settings.

Future changes will include an easier framework for supporting new Jenkins features, as well as support for configuring Jenkins plugins and pipelines.

Inspiration

This is based on Hashicorp's HCL, and is very much inspired by terraform.

You can’t perform that action at this time.