Skip to content

Instantly share code, notes, and snippets.

View Duologic's full-sized avatar

Jeroen Op 't Eynde Duologic

View GitHub Profile
@Duologic
Duologic / export.jsonnet
Last active June 7, 2022 00:26
Pure jsonnet implementation of `tanka export` (POC)
{
local this = self,
local clusterWideKinds = [
'APIService',
'CertificateSigningRequest',
'ClusterRole',
'ClusterRoleBinding',
'ComponentStatus',
'CSIDriver',
@Duologic
Duologic / dashboard-as-json.yaml
Created April 7, 2022 08:38
Represent dashboard as json (crossplane-provider-grafana)
apiVersion: grafana.jet.crossplane.io/v1alpha1
kind: Dashboard
metadata:
annotations:
crossplane.io/composition-resource-name: dashboard
creationTimestamp: "2022-04-03T22:43:56Z"
generateName: flux-mixin-6ab3a093b9e4c6d1297daf5e42988330-6m6qh-
generation: 1
labels:
crossplane.io/claim-name: flux-mixin-6ab3a093b9e4c6d1297daf5e42988330
@Duologic
Duologic / dashboard-as-yaml.yaml
Created April 7, 2022 08:32
Represent dashboard in line as yaml
apiVersion: grafana.com/v1alpha1
kind: Dashboard
metadata:
name: my-app-dashboards
namespace: default
spec:
dashboard:
<dashboard-as-yaml-here>
folder: App
@Duologic
Duologic / dashboard-oci.yaml
Last active April 7, 2022 08:25
Read dashboard from OCI registry
apiVersion: grafana.com/v1
kind: Dashboards
metadata:
name: my-app-dashboards
namespace: default
spec:
containers:
- name: app-dashboards
image: app-dashboard-image:v1.3
imagePullPolicy: IfNotPresent
function! GetJsonnetPath()
let output=system("tk tool jpath " . shellescape(expand('%')))
if !v:shell_error
let $JSONNET_PATH=output
call lsp#stop_server('jsonnet-language-server')
sleep 100m
set filetype=jsonnet
endif
endfunction
local environments = [
{
apiVersion: 'tanka.dev/v1alpha1',
kind: 'Environment',
metadata: {
labels: {
team: 'infra',
},
name: 'default',
namespace: 'environments/default/main.jsonnet',
#!/bin/bash
set -euo pipefail
#set -x
IFS=$'\n\t'
DIRNAME=$(dirname $0)
if [ "$#" -lt 1 ]; then
echo "Usage: `basename $0` <context> [<namespace>]"
exit 1
@Duologic
Duologic / diff.sh
Last active October 29, 2020 15:18
cleaner diff with tanka/kubectl
#!/usr/bin/env sh
# Usage: export KUBECTL_EXTERNAL_DIFF=/path/to/diff.sh
function warning() {
ORANGE='\033[0;33m'
NC='\033[0m' # No Color
>&2 printf "${ORANGE}WARNING: ${1}${NC}\n"
}
warning "last-applied-configuration <redacted>"
package main
import (
"bufio"
"encoding/json"
"fmt"
"log"
"os"
"github.com/grafana/tanka/pkg/kubernetes/manifest"