Skip to content

Instantly share code, notes, and snippets.

@jamesslomka
jamesslomka / lambda-handlers.ts
Created October 16, 2022 13:39
Wrap all lambdas in the container with middleware
import { datadog } from 'datadog-lambda-js';
import { Registry } from '../../Registry';
import { TYPES } from '../../Types';
import {
AccessLoggerMiddlewareFactory,
LambdaUtils,
} from '@ssense/serverless-middlewares';
import { AccessLogger } from '@ssense/logger';
import { Handler } from 'aws-lambda';
import { LambdaHandler } from 'lambdas/LambdaHandler';
@jamesslomka
jamesslomka / sort.js
Last active March 25, 2022 18:40
Sorting filter
// Inspired by https://www.freecodecamp.org/news/supercharged-sorts-in-javascript/
const sortBy = (prop) => (a, b) => (a[prop] ? -1 : b[prop] ? 1 : 0);
const sortByPair = (prop1, prop2) => (a, b) => (a[prop1] && a[prop2] ? -1 : b[prop1] && b[prop2] ? 1 : 0);
export default function superChangedSort(addresses) {
const byDefaultPair = sortByPair('someField', 'someOtherField');
const byDefault = sortBy('default');
const byName = sortBy('name');
datadog:
image: public.ecr.aws/datadog/agent:7
labels:
com.datadoghq.ad.logs: '[{"service": "docker_service_name"}]'
volumes:
- /proc/:/host/proc/:ro
- /sys/fs/cgroup/:/host/sys/fs/cgroup:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /var/lib/docker/containers:/var/lib/docker/containers:ro
environment:
@jamesslomka
jamesslomka / presignedUrl.js
Last active February 16, 2022 01:43
Lambda function that generated a pre-signed URL for uploading to S3
const AWS = require('aws-sdk')
const s3 = new AWS.S3();
exports.handler = async (event) => {
let folderName, fileName;
try {
folderName = event['queryStringParameters']['folder'];
fileName = event['queryStringParameters']['name'];
} catch(e) {
return new Promise((reject) => {
# Important that you set the path to the folder where your docker-compose.yml lives
#
# e.g. Documents/Git/workspace
DOCKER_COMPOSE_PATH=''
# ---------------DOCKER/DOCKER COMPOSE:-------------------
# Runs a docker command of your choice from anywhere.
#
# Usage: dc <command>