Skip to content

Instantly share code, notes, and snippets.

View sscovil's full-sized avatar

Shaun Scovil sscovil

View GitHub Profile
erDiagram
    SUBJECT_TYPE {
        any id PK
        string name
    }
    SUBJECT {
        any id PK
        any subject_type_id FK
 }
@sscovil
sscovil / docker-compose.yml
Created December 2, 2023 18:42
Minio (S3 alternative) w/ Docker Compose
services:
minio:
image: minio/minio:latest
command: server /data --console-address ":9001"
ports:
- 9000:9000
- 9001:9001
environment:
- MINIO_ROOT_USER=root
- MINIO_ROOT_PASSWORD=password
@sscovil
sscovil / until.js
Created February 20, 2018 19:30
A simple utility for Node.js to wait until a predicate function returns truthy before moving on; for use with ES6 async/await syntax.
/**
* Utility that waits for @predicate function to return truthy, testing at @interval until @timeout is reached.
*
* Example: await until(() => spy.called);
*
* @param {Function} predicate
* @param {Number} interval
* @param {Number} timeout
*
* @return {Promise}
@sscovil
sscovil / lambda_function.py
Last active November 30, 2022 04:07
Python Keyphrase Extraction (PKE) AWS Lambda Docker Image (1/3)
#!/usr/bin/env python
import json
import pke
extractor = pke.unsupervised.TopicRank()
def lambda_handler(event, context):
body = event["body"] if "body" in event else event
if isinstance(body, str):
@sscovil
sscovil / requirements.txt
Created November 30, 2022 02:03
Python Keyphrase Extraction (PKE) AWS Lambda Docker Image (2/3)
attrs==22.1.0
blis==0.7.9
catalogue==2.0.8
certifi==2022.9.24
charset-normalizer==2.1.1
click==8.1.3
confection==0.0.3
cymem==2.0.7
en-core-web-sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.4.1/en_core_web_sm-3.4.1-py3-none-any.whl
exceptiongroup==1.0.4
@sscovil
sscovil / Dockerfile
Created November 30, 2022 02:03
Python Keyphrase Extraction (PKE) AWS Lambda Docker Image (3/3)
FROM amazon/aws-lambda-python:3.9
COPY lambda_function.py requirements.txt ${LAMBDA_TASK_ROOT}/
RUN pip install -U pip setuptools wheel
RUN pip install -r requirements.txt
CMD [ "lambda_function.lambda_handler" ]
@sscovil
sscovil / mailer.py
Last active November 28, 2022 04:59
Terraform CDK Python example of AWS SES configuration
#!/usr/bin/env python
from cdktf import App, Fn, TerraformStack
from cdktf_cdktf_provider_aws.provider import AwsProvider
from cdktf_cdktf_provider_aws.route53_record import Route53Record
from cdktf_cdktf_provider_aws.route53_zone import Route53Zone
from cdktf_cdktf_provider_aws.ses_configuration_set import \
SesConfigurationSet, \
SesConfigurationSetDeliveryOptions
from cdktf_cdktf_provider_aws.ses_domain_dkim import SesDomainDkim
from cdktf_cdktf_provider_aws.ses_domain_identity import SesDomainIdentity
@sscovil
sscovil / example.py
Last active November 26, 2022 19:02
Terraform CDK example of an AWS Route 53 hosted zone and DNS records.
#!/usr/bin/env python
from cdktf import TerraformStack
from cdktf_cdktf_provider_aws.provider import AwsProvider
from cdktf_cdktf_provider_aws.route53_record import Route53Record
from cdktf_cdktf_provider_aws.route53_zone import Route53Zone
from constructs import Construct
class ExampleDnsStack(TerraformStack):
def __init__(self, scope: Construct, ns: str, aws_helper: AwsHelper):
@sscovil
sscovil / main.py
Last active November 20, 2022 02:10
Example usage of HttpLambda CDKTF construct (https://gist.github.com/sscovil/537de0e58aef59a60d49fddc4662ed81)
#!/usr/bin/env python
from cdktf import App, TerraformStack, TerraformOutput
from cdktf_cdktf_provider_aws.lambda_function_url import LambdaFunctionUrlCors
from cdktf_cdktf_provider_aws.provider import AwsProvider
from constructs import Construct
from http_lambda import HttpLambda
class ExampleStack(TerraformStack):
@sscovil
sscovil / http_lambda.py
Last active November 20, 2022 02:09
HttpLambda CDKTF construct
#!/usr/bin/env python
import os
from cdktf import AssetType, TerraformAsset
from cdktf_cdktf_provider_aws.iam_role import IamRole
from cdktf_cdktf_provider_aws.iam_role_policy_attachment import IamRolePolicyAttachment
from cdktf_cdktf_provider_aws.lambda_function import LambdaFunction, LambdaFunctionEnvironment
from cdktf_cdktf_provider_aws.lambda_function_url import LambdaFunctionUrl, LambdaFunctionUrlCors
from constructs import Construct