Author name: Tim van Kooten Niekerk

GNU/Linux OpenShift Where is My Secret Used?

A simple bash-script for OpenShift to determine which deployment configs make use of a specific secret (within the active project).

#!/bin/bash

oc get dc -o custom-columns="Name:metadata.name,readyReplicas:status.availableReplicas,Volumes:spec.template.spec.volumes,env:spec.template.spec.containers[].env,envFrom:spec.template.spec.containers[].envFrom,Volumes:spec.template.spec.volumes" | grep -E "($1)" | grep -oE "^[a-z0-9-]{3,99}"

$ os-sec-usage.sh secretname

PowerShell Function To Add Filesystem Permissions

Recently wrote a simple function to add permission to filesystem resources. It defaults to modify permissions, but can also be another basic permission for instance: Read, Write or FullControl.

function fnAddFilesystemPermissions()
{
  param (
    [string]$sPath,
	[string]$sUserName,
	[string]$sPermission = "Modify"
  )

  # Add write permissions to a file using powershell...
  $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($sUserName,$sPermission,"Allow")
  $acl = Get-ACL -Path $sPath
  $acl.SetAccessRule($accessRule)
  $acl | Set-Acl -Path $sPath

  # Return permissions...
  return (Get-ACL -Path $sPath).Access | Format-Table 
}

PS> fnAddFilesystemPermissions -sPath “C:\Path\To\Resource” -sUserName “User-Principle-Name” [-sPermission “FullControl“]

[Other] Start DevOps Tools From Command line

Some commands I regularly use to start tools from the command line when I need them to start with elevated privileges.

My Frequently Used CLI Commands / Admin Tools (QuickRef)DescriptionCategory
dsa.msc / adsiedit.msc / virtmgmt.msc Active Directory Users & Computers / ADSI Edit / Hyper-V ManagerMSWin
start-process powershell -verb runasStart PowerShell with Elevated PrivilegesMSWin
rundll32 sysdm.cpl,EditEnvironmentVariablesEdit system environment variablesMSWin
cacls “C:\Path\To\File.TXT” /E /G username@example.com:CQuick way to add write permission to a filesystem resourceMSWin
mvn clean package -DskipTestsMavin compile (Java) code and create local packageGNU/Linux (Java)
mvn test -Dtest=JavaClassTest#specificTestRun a specific unit test from the command lineGNU/Linux (Java)
java -Djavax.net.debug=ssl:handshake -jar target/packagename-1.0.0-SNAPSHOT.jarStart package with TLS handshake debugging enabledGNU/Linux (Java)
oc create secret generic gateway1 –from-file=server.p12Create an OpenShift secret from the command lineGNU/Linux (OpenShift)
oc get pods | grep Evicted | awk ‘{print $1}’ | xargs oc delete podDelete evicted pods from current OpenShift projectGNU/Linux (OpenShift)