Skip to content

Instantly share code, notes, and snippets.

View thomaspoignant's full-sized avatar

Thomas Poignant thomaspoignant

View GitHub Profile
@thomaspoignant
thomaspoignant / scim-scenario.json
Last active June 12, 2020 11:04
A scenario to test your SCIM integration
{
"trigger_url": "https://api.runscope.com/radar/e9283ad0-af77-45b4-81ee-0e59bd5ff932/trigger",
"name": "SCIM 2.0 SPEC Test",
"version": "1.0",
"steps": [
{
"url": "{{SCIMBaseURL}}/Users?count=1&startIndex=1",
"variables": [
{
"source": "response_json",
language: python
python: "3.8"
stages:
- test
before_install:
- npm i -g aws-cdk@1.76.0 # Install CDK
- pip install -r requirements.txt --use-feature=2020-resolver # Download CDK python depedencies
function open_pull_requests() {
if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
STAGES=( dev pre pro )
for STAGE in "${STAGES[@]}"; do
# Run CDK diff
cdk diff -c stage=${STAGE} | tee cdk_diff_${STAGE}.txt
# Prepare PR message
read -r -d '' MESSAGE <<-EOM
> :warning: **Please review this changes before merging.**
language: python
python: "3.8"
env:
global:
# GITHUB_TOKEN to open PR
- secure: "XXX"
# AWS ACCESS KEY
- secure: "XXX"
# AWS SECRET KEY
@thomaspoignant
thomaspoignant / ticker.go
Last active July 17, 2023 23:27
GO periodically refreshing Cache implementation
package main
import (
"fmt"
"sync"
"time"
)
var mutex sync.RWMutex
var cache map[string]interface{}
ticker = time.NewTicker(3 * time.Second)
defer ticker.Stop() // stop the ticker
//...
case <- ticker.C:
// update cache
// ...
var cache map[string]interface{}
func main() {
ticker = time.NewTicker(3 * time.Second)
defer ticker.Stop() // stop the ticker
updaterChan = make(chan struct{})
defer close(updaterChan) // close the channel
// ...
@thomaspoignant
thomaspoignant / Makefile
Last active April 5, 2024 08:50
My ultimate Makefile for Golang Projects
GOCMD=go
GOTEST=$(GOCMD) test
GOVET=$(GOCMD) vet
BINARY_NAME=example
VERSION?=0.0.0
SERVICE_PORT?=3000
DOCKER_REGISTRY?= #if set it should finished by /
EXPORT_RESULT?=false # for CI please set EXPORT_RESULT to true
GREEN := $(shell tput -Txterm setaf 2)
@thomaspoignant
thomaspoignant / monitor.ts
Last active February 18, 2021 09:57
Create custom resource with CDK
new CfnResource(this, 'datadog_monitor_id',{
type: 'AWS::CloudFormation::ResourceVersion',
properties:{
'TypeName': 'Datadog::Monitors::Monitor',
'SchemaHandlerPackage':
's3://datadog-cloudformation-resources/datadog-monitors-monitor/datadog' +
'-monitors-monitor-2.1.0.zip'
}
})
@thomaspoignant
thomaspoignant / monitor_nested.ts
Last active February 18, 2021 09:59
Use NestedStack to use the type
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',
properties:{