Skip to content

Instantly share code, notes, and snippets.

View kmcquade's full-sized avatar

Kinnaird McQuade kmcquade

View GitHub Profile
@kmcquade
kmcquade / keep-jenkins-plugins-uptodate.groovy
Created May 27, 2019 22:44 — forked from alecharp/keep-jenkins-plugins-uptodate.groovy
Simple groovy script to upgrade active plugins when new versions are available
jenkins.model.Jenkins.getInstance().getUpdateCenter().getSites().each { site ->
site.updateDirectlyNow(hudson.model.DownloadService.signatureCheck)
}
hudson.model.DownloadService.Downloadable.all().each { downloadable ->
downloadable.updateNow();
}
def plugins = jenkins.model.Jenkins.instance.pluginManager.activePlugins.findAll {
it -> it.hasUpdate()
@kmcquade
kmcquade / remove_plugins.sh
Last active May 29, 2019 17:39
Remove plugins from pre-baked Jenkins docker image
#!/usr/bin/env bash
set -x
#JENKINS_PLUGINS_PATH="${JENKINS_PLUGINS_PATH:-/usr/share/jenkins/ref/plugins}"
JENKINS_PLUGINS_PATH="${JENKINS_PLUGINS_PATH:-/usr/share/jenkins/ref/plugins}"
REMOVE_PLUGINS_LIST_PATH="${REMOVE_PLUGINS_LIST_PATH:-/usr/share/jenkins/ref/remove_plugins_list.txt}"
echo $JENKINS_PLUGINS_PATH
echo $REMOVE_PLUGINS_LIST_PATH
for line in `cat ${REMOVE_PLUGINS_LIST_PATH}`
@kmcquade
kmcquade / jenkins-list-pending-script-approvals.groovy
Created May 29, 2019 17:15
List pending script approvals in Jenkins
import org.jenkinsci.plugins.scriptsecurity.scripts.*
ScriptApproval sa = ScriptApproval.get();
//list pending approvals
for (ScriptApproval.PendingScript pending : sa.getPendingScripts()) {
println "Pending Approved : " + pending.script
}
//list pending signatures
for (ScriptApproval.PendingSignature pending : sa.getPendingSignatures()) {
println "Pending Signature : " + pending.signature
@kmcquade
kmcquade / remove-useless-log-messages.sh
Last active May 29, 2019 17:44
Filter out useless messages using rsyslog
#!/usr/bin/env bash
set -x
cat <<EOF > /etc/rsyslog.d/01_filters.conf
if \$programname == 'systemd' and \$msg contains "Started Session" then stop
if \$programname == 'systemd' and \$msg contains "Starting Session" then stop
if \$programname == 'systemd' and \$msg contains "Created slice" then stop
if \$programname == 'systemd' and \$msg contains "Starting user-" then stop
if \$programname == 'systemd' and \$msg contains "Stopping user-" then stop

A few cleanup scripts for use in packer AMI builds.

@kmcquade
kmcquade / packer-ami-id
Created June 19, 2019 21:31 — forked from danrigsby/packer-ami-id
Get AMI ID from a packer build
packer build packer.json 2>&1 | sudo tee output.txt
tail -2 output.txt | head -2 | awk 'match($0, /ami-.*/) { print substr($0, RSTART, RLENGTH) }' > sudo ami.txt
@kmcquade
kmcquade / members.sh
Created June 21, 2019 14:02
List members of a group on a Mac
#!/usr/bin/env bash
set -e
# members
# List the members of a group on Mac
# Usage: members mygroupname
members () { dscl . -list /Users | while read user; do printf "$user "; dsmemberutil checkmembership -U "$user" -G "$*"; done | grep "is a member" | cut -d " " -f 1; };
@kmcquade
kmcquade / run_pip_env_shell.sh
Created June 21, 2019 14:11
Automatically run pipenv shell if we enter a pipenv project subdirectory
#!/usr/bin/env bash
set -e
# source: ethanj's script under https://github.com/pypa/pipenv/wiki/Run-pipenv-shell-automatically#zsh
# automatically run "pipenv shell" if we enter a pipenv project subdirectory
# if opening a new terminal, preserve the source directory
PROMPT_COMMAND='prompt'
precmd() { eval "$PROMPT_COMMAND" }
function prompt()
{
#!/bin/bash
# virtualenv-auto-activate.sh
#
# Installation:
# Add this line to your .bashrc or .bash-profile:
#
# source /path/to/virtualenv-auto-activate.sh
#
# Go to your project folder, run "virtualenv .venv", so your project folder
# has a .venv folder at the top level, next to your version control directory.
@kmcquade
kmcquade / openscap-exception-files.md
Last active June 29, 2019 02:29
openscap-exception-files

See below