AWS ARN:
/^arn:aws\w*:\w+:\w*:(?:\d{12})?:(?:\w+\/(?:\w+|\*)|\w+:(?:\w+|\*)|\w+|\*)/| /** | |
| * A recursive deep-cloning utility, specifically for KO ViewModels. | |
| * @author Nir Azuelos | |
| * @param {object} input | |
| * @returns {object} output | |
| */ | |
| ko.utils.clone = function(input) { | |
| var mapped = ko.mapping.fromJS(input, { | |
| create: function (options) { | |
| return ko.mapping.visitModel(options.data, function (value, parent) { |
| { | |
| "rules": { | |
| "keyword-spacing": ["error", { before: true, after: false }], | |
| "key-spacing": ["error", { "beforeColon": false, "afterColon": true, "align": "value" }], | |
| "object-curly-spacing": ["error", "always"], | |
| "one-var": ["error", "always"], | |
| "padded-blocks": ["off"], | |
| "max-len": ["error", 100], | |
| "indent": ["error", 3, { "VariableDeclarator": 2 }] | |
| } |
| function interpolateStringLiteral (template, tokens, input) { | |
| const dict = input[input.length - 1] || {}; | |
| return template.reduce((accumulator, part, i) => { | |
| const key = tokens[i]; | |
| const value = Number.isInteger(key) ? input[key] : dict[key]; | |
| accumulator.push(part); | |
| accumulator.push(value); | |
| return accumulator; | |
| }, []); | |
| } |
| 0x00004e1e movw r2, #0xc977 | |
| 0x00004e26 movw r1, #0xc977 | |
| 0x00004e3e movw r2, #0xc977 | |
| 0x00004e46 movw r1, #0xc977 | |
| 0x00004e5c movw r3, #0xc977 |
| job "dummy-batch-job" { | |
| datacenters = ["us-east-1"] | |
| type = "batch" | |
| periodic { | |
| cron = "*/1 * * * * *" | |
| prohibit_overlap = true | |
| } | |
| group "monitor" { |
This gist is how I personally deploy an arm64 version of unbound (for running on Raspberry Pi) configured as a recursive DNS resolver.
Use case is setting this up as the upstream resolver in PiHole (also running in K8S) in order to eliminate the need of a 3rd-party resolver (i.e. Cloudflare, Quad9), potentially avoiding DNS spoofing / poisoning / etc.
Service is exposed with a ClusterIP under 10.43.0.53 listening to both TCP/UDP on port 53.
TODO / Considerations: