Skip to content

Instantly share code, notes, and snippets.

View razbomi's full-sized avatar

Mitko Razboynikov razbomi

  • Sydney, Australia
View GitHub Profile
@razbomi
razbomi / gulpfile.js
Created November 16, 2016 23:19
Gulp pipe function
'use strict';
var gulp = require('gulp');
var through = require('through2');
// https://gulp.readme.io/docs
gulp.task('default', () => {
gulp.src('src/**/*')
.pipe(pipeFunction())
.pipe(gulp.dest('dist'))
@razbomi
razbomi / Jenkinsfile-pimpMyStage.groovy
Created January 5, 2017 08:00
Jenkinsfile pipeline closure
pimpMyStage('build') { stage ->
echo "Body of stage ${stage}"
}
def pimpMyStage(name,Closure body) {
node(name) {
stage name
timestamps {
colours {
keys {
@razbomi
razbomi / Jenkinsfile.groovy
Last active June 19, 2023 11:00
Create Jenkins pipeline job parameters from yaml
def myText = '''
properties:
- param: booleanParam
args:
name: ENABLE_AAT
defaultValue: true
description: "Should we run AATs"
- param: stringParam
args:
name: NEXT_BUILD
@razbomi
razbomi / aws-to-cloudflare-records.mjs
Last active August 25, 2023 01:43
Export AWS Route53 domain records to Cloudflare as a terraform module
#!/usr/bin/env zx
# npm install -g zx
# ./aws-to-cloudflare-records.mjs my-amazing-zone.com
const domain = process.argv[3]
const recordName = (n) => n.replace("\\052","*").replace(`.${process.argv[3]}.`, "")
const resourceName = (n) => recordName(n).replace(/-/g,"_")
const toString = ({name, type, ttl, value}) => `resource "cloudflare_record" ${JSON.stringify(resourceName(name))} {