Skip to content

Instantly share code, notes, and snippets.

View cardil's full-sized avatar

Chris Suszynski cardil

View GitHub Profile
Fact.new(:databases) do
setcode do
output = Facter::Util::Resolution.exec('pgsql listdb')
if $?.success?
{
status: :ok,
list: output.split("\n")
}
else:
raise output
@cardil
cardil / Installation.sh
Last active September 5, 2018 09:46
Linux NVidia Optimus with external monitor - enable/disable scripts tested on Ubuntu. Source article: http://www.unixreich.com/blog/2013/linux-nvidia-optimus-on-thinkpad-w520w530-with-external-monitor-finally-solved
# You will need latest NVIDIA drivers installed. At the time of writing, version is 331.20.
# On ubuntu 13.10, it looks like this:
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install nvidia-331
# Now we need to install bumblebee:
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get install bumblebee bumblebee-nvidia bbswitch-dkms
@cardil
cardil / BOM_JS.md
Last active January 15, 2019 23:43
Bill of Materials (BOM) dla JS [PL]

Chciałem opisać koncept pracy nad dużym projektem. Wyobraźmy sobie duży projekt, wiele osób, wiele zakresów biznesowych, wiele osobnych backendów, wszystko powinno być zintegrowane do jednej spójnej aplikacji. Przy takim projekcie proponowałbym pracę w z użyciem projektu BOM (Bill of Materials).

Ten koncept wywodzi się z skomplikowanych projektów ze świata Java.

Poniżej graf przedstawiający taką strukturę.

@cardil
cardil / knative-serving-operator.log
Created November 26, 2019 18:09
knative-serving-operator.log
{"level":"info","ts":1574791351.2938538,"logger":"cmd","msg":"Go Version: go1.13.4"}
{"level":"info","ts":1574791351.2938857,"logger":"cmd","msg":"Go OS/Arch: linux/amd64"}
{"level":"info","ts":1574791351.2938917,"logger":"cmd","msg":"Version of operator-sdk: v0.8.0"}
{"level":"info","ts":1574791351.2943332,"logger":"leader","msg":"Trying to become the leader."}
{"level":"info","ts":1574791351.4278533,"logger":"leader","msg":"No pre-existing lock was found."}
{"level":"info","ts":1574791351.4339006,"logger":"leader","msg":"Became the leader."}
{"level":"info","ts":1574791351.5361984,"logger":"cmd","msg":"Registering Components."}
{"level":"info","ts":1574791351.536406,"logger":"manifestival","msg":"Reading file","name":"deploy/resources"}
{"level":"info","ts":1574791351.552737,"logger":"openshift","msg":"Detected","gvk":"route.openshift.io/v1, Kind=route"}
{"level":"info","ts":1574791351.5529993,"logger":"openshift","msg":"Dropping APIService for v1beta1.custom.metrics.k8s.io"}
2020/01/03 14:36:38 Registering 5 clients
2020/01/03 14:36:38 Registering 2 informer factories
2020/01/03 14:36:38 Registering 3 informers
{"level":"info","ts":"2020-01-03T14:36:38.541Z","caller":"logging/config.go:108","msg":"Successfully created the logger.","knative.dev/jsonconfig":"{\n \"level\": \"info\",\n \"development\": false,\n \"outputPaths\": [\"stdout\"],\n \"errorOutputPaths\": [\"stderr\"],\n \"encoding\": \"json\",\n \"encoderConfig\": {\n \"timeKey\": \"ts\",\n \"levelKey\": \"level\",\n \"nameKey\": \"logger\",\n \"callerKey\": \"caller\",\n \"messageKey\": \"msg\",\n \"stacktraceKey\": \"stacktrace\",\n \"lineEnding\": \"\",\n \"levelEncoder\": \"\",\n \"timeEncoder\": \"iso8601\",\n \"durationEncoder\": \"\",\n \"callerEncoder\": \"\"\n }\n}"}
{"level":"info","ts":"2020-01-03T14:36:38.541Z","caller":"logging/config.go:109","msg":"Logging level set to info"}
{"level":"info","ts":"2020-01-03T14:36:38.541Z","caller":"logging/config.go:76","msg":"Fetch
@cardil
cardil / README.md
Last active January 17, 2020 17:51
Eventing #2388 manual reproduction

Eventing knative/eventing#2388 manual reproduction

I've manage to reproduce errors on a GCP Kubernetes cluster identical to the one used in Prow.

Below are test results. There ware 10 lost events, 505 total.

In other files are errors that I've noticed, and fetched with Stackdriver Log Viewer UI.

020-01-17T17:47:26.585+0100	INFO	prober/verify.go:35	Fetched receiver report. Events propagated: 495. State: failed
@cardil
cardil / stress-revisions.sh
Last active May 5, 2020 17:02
Test that stress large number of Serverless revisions
#!/bin/bash
set -Eeuo pipefail
readonly START="${START:-1}"
readonly LIMIT="${LIMIT:-1200}"
for NUM in $(seq "${START}" "$LIMIT"); do
oc apply -f - <<EOF
apiVersion: serving.knative.dev/v1
@cardil
cardil / cumbersome.sh
Last active October 21, 2020 17:27
Invalid & convoluted Bash scripting fixed
#!/usr/bin/env bash
set -Eeuo pipefail
function testing.of() {
local what
what="${1:?Pass what as arg[1]}"
echo "Testing of ${what}..."
eval "non-existing-showcase-command ${what}"
@cardil
cardil / remote-sleep.go
Created January 29, 2021 12:51
Reporduction for Wathola sender is affected by Coordinated Omission Problem
package main
import (
"fmt"
"html"
"log"
"net/http"
"time"
)
@cardil
cardil / aws-vpc-limits.groovy
Last active April 14, 2021 11:25
A littple script that fetches VPC releated AWS quotas
import groovy.json.JsonSlurper
def regions = ["us-west-1", "us-west-2", "us-east-1", "us-east-2", "eu-west-1"]
def vpcService = 'vpc'
def vpcCode = 'L-F678F1CE'
def natCode = 'L-FE5A380F'
def elasticIpService = 'ec2'
def elasticIpCode = 'L-0263D0A3'
println "Current AWS limits"