Skip to content

Instantly share code, notes, and snippets.


Thomas Poignant thomaspoignant

View GitHub Profile
thomaspoignant / example.go
Created Oct 11, 2021
Go-feature-flag example
View example.go
rule: (role eq "devops") and (env eq "pro") and (key eq "") and (company eq "go-feature-flag")
percentage: 100
true: true
false: false
default: false
user := ffuser.NewUserBuilder("").
docker run --rm -it -p 4566:4566 -p 4571:4571 localstack/localstack
# create topic
aws --region=eu-west-1 --endpoint-url=http://localhost:4566 sns create-topic --name responseTopic
# list topic and get ARN
aws --region=eu-west-1 --endpoint-url=http://localhost:4566 sns list-topics
# create SQS queue
aws --region=eu-west-1 --endpoint-url=http://localhost:4566 sqs create-queue --queue-name test-queue

Keybase proof

I hereby claim:

  • I am thomaspoignant on github.
  • I am thomaspoignant ( on keybase.
  • I have a public key ASDtkh-5twLIZx6Ip4W7QaueOa06almAgIuHeoc3DToyXgo

To claim this, I am signing this object:

thomaspoignant / pipeline.go
Last active Aug 12, 2021
Building a pipeline system in golang
View pipeline.go
package main
import (
// PipelineConfig is the representation of a pipeline in the configuration.
thomaspoignant / pipeline.yaml
Created Apr 16, 2021
Pipeline configuration example
View pipeline.yaml
root: handler1_name
type: handlerImpl1
next: handler2_name
type: handlerImpl2
View createApiGatewayForLambda.ts
* createApiGatewayForLambda is creating a Rest API Gateway to access to your lambda function
* @param id - CDK id for this lambda
* @param handler - Lambda function to call
* @param description - Description of this endpoint
createApiGatewayForLambda(id: string, handler: lambda.Function, description: string): LambdaRestApi{
return new LambdaRestApi(this, id, {
View buildAndInstallGOLambda.ts
* buildAndInstallGOLambda build the code and create the lambda
* @param id - CDK id for this lambda
* @param lambdaPath - Location of the code
* @param handler - name of the handler to call for this lambda
buildAndInstallGOLambda(id: string, lambdaPath: string, handler: string): lambda.Function {
const environment = {
GOOS: 'linux',
View lambda_go-chi.go
var chiLambda *chiadapter.ChiLambda
// handler is the function called by the lambda.
func handler(ctx context.Context, req events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) {
return chiLambda.ProxyWithContext(ctx, req)
// main is called when a new lambda starts, so don't
// expect to have something done for every query here.
func main() {
thomaspoignant / monitor_nested.ts
Last active Feb 18, 2021
Use NestedStack to use the type
View monitor_nested.ts
import * as cdk from '@aws-cdk/core';
import {CfnResource} from "@aws-cdk/core";
export class CdkCustomResourcesStack extends cdk.Stack {
constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const monitorType = new CfnResource(this, 'datadog_monitor_id',{
type: 'AWS::CloudFormation::ResourceVersion',
thomaspoignant / monitor.ts
Last active Feb 18, 2021
Create custom resource with CDK
View monitor.ts
new CfnResource(this, 'datadog_monitor_id',{
type: 'AWS::CloudFormation::ResourceVersion',
'TypeName': 'Datadog::Monitors::Monitor',
's3://datadog-cloudformation-resources/datadog-monitors-monitor/datadog' +