Skip to content

Instantly share code, notes, and snippets.

View coryodaniel's full-sized avatar
☘️
O'Internets

Cory O'Daniel coryodaniel

☘️
O'Internets
View GitHub Profile
@coryodaniel
coryodaniel / task.json
Created April 23, 2020 00:29
calling an extensions command from a vs code task
{
"version": "2.0.0",
"tasks": [
{
"label": "plantuml.export",
"command": "${command:plantuml.exportCurrent}"
},
{
"label": "generate diagrams",
"type": "shell",
@coryodaniel
coryodaniel / Makefile
Created April 15, 2020 22:30
Make all targets w/ extension
DIAGRAMS:=$(shell ls *.py)
all: clean $(DIAGRAMS)
.PHONY:
clean:
rm -f *.{png,jpg}
.PHONY: $(DIAGRAMS)
$(DIAGRAMS):
@coryodaniel
coryodaniel / scanner.sh
Created March 10, 2020 03:32 — forked from andyrbell/scanner.sh
Make a pdf look scanned using ImageMagick
# use ImageMagick convert
# the order is important. the density argument applies to input.pdf and resize and rotate to output.pdf
convert -density 90 input.pdf -rotate 0.5 -attenuate 0.2 +noise Multiplicative -colorspace Gray output.pdf
@coryodaniel
coryodaniel / typesafeish.exs
Created December 18, 2019 19:03
Elixir `func` type safe-ish
ExUnit.start()
defmodule TypeSafeish do
defmacro func({:"::", _metadata, func_head}, do: block) do
[method_spec, return_spec] = func_head
{func_name, _metadata, [args_specs]} = method_spec
args = for {arg, _spec} <- args_specs, do: Macro.var(arg, nil)
specs = for {_arg, {spec, _metadata, _addl}} <- args_specs, do: Macro.var(spec, nil)
@coryodaniel
coryodaniel / block.tf
Last active June 24, 2023 04:17
Optional dynamic blocks in terraform
variable "gpu" {
description = "Enable and configure node GPUs"
type = object({
type = string
count = number
})
default = null
# or...
@coryodaniel
coryodaniel / resume.yaml
Created November 26, 2019 22:15
resume.yaml
kind: Resume
apiVersion: fancy.coryodaniel.com/v1alpha1
metadata:
name: cory-odaniel
namespace: engineers
labels: {}
annotations: {}
spec: {}
status: WIP
@coryodaniel
coryodaniel / kubeflow.txt
Created November 20, 2019 21:28
kubeflow.lol.installer
customresourcedefinition.apiextensions.k8s.io/applications.app.k8s.io created
serviceaccount/application-controller-service-account created
clusterrole.rbac.authorization.k8s.io/application-controller-cluster-role created
clusterrolebinding.rbac.authorization.k8s.io/application-controller-cluster-role-binding created
configmap/application-controller-parameters created
service/application-controller-service created
statefulset.apps/application-controller-stateful-set created
application.app.k8s.io/kubeflow created
customresourcedefinition.apiextensions.k8s.io/certificaterequests.cert-manager.io created
customresourcedefinition.apiextensions.k8s.io/certificates.cert-manager.io created
@coryodaniel
coryodaniel / generate_name.tf
Created November 11, 2019 21:18
Make terraform respect "generate_name" kubernetes_*
provider "kubernetes" {
config_context = "docker-desktop"
}
resource "kubernetes_job" "demo" {
metadata {
generate_name = "demo-"
}
spec {
template {
@coryodaniel
coryodaniel / namespace-destroyer.sh
Created October 28, 2019 18:49
Destroy a namespace
NAMESPACE=monitoring
kubectl proxy &
kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' >temp.json
curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8001/api/v1/namespaces/$NAMESPACE/finalize
@coryodaniel
coryodaniel / patch.json
Created October 14, 2019 19:16
Kustomize JSON Patch container args
---
[
{
"op": "add",
"path": "/spec/template/spec/containers/0/args/-",
"value": "--dns01-self-check-nameservers"
},
{
"op": "add",
"path": "/spec/template/spec/containers/0/args/-",