Skip to content

Instantly share code, notes, and snippets.

View logemann's full-sized avatar

Marc Logemann logemann

View GitHub Profile
@logemann
logemann / demoroute53.js
Created October 12, 2018 17:54
Route53 updater in conjunction with ECS
let AWS = require('aws-sdk');
let ec2 = new AWS.EC2();
let ecs = new AWS.ECS();
let route53 = new AWS.Route53();
/**
* expects an environment variable with name "entryparam" and the following value / structure:
* [{
* "cluster": "mycluster1",
* "domain": "demo.mydomain.com",
npm install -g aws-cdk
cdk --version
@logemann
logemann / cont_deploy_docker-stack.ts
Last active May 4, 2020 11:50
complete stack source code
import { Stack, StackProps, Construct, SecretValue } from '@aws-cdk/core';
import { Vpc } from '@aws-cdk/aws-ec2';
import * as ecr from '@aws-cdk/aws-ecr';
import * as ecs from '@aws-cdk/aws-ecs';
import * as ecspatterns from '@aws-cdk/aws-ecs-patterns';
import * as codebuild from '@aws-cdk/aws-codebuild';
import { ManagedPolicy } from '@aws-cdk/aws-iam';
import { Artifact, Pipeline } from '@aws-cdk/aws-codepipeline';
import { GitHubSourceAction, CodeBuildAction, EcsDeployAction} from '@aws-cdk/aws-codepipeline-actions';
import { PipelineProject, LocalCacheMode } from '@aws-cdk/aws-codebuild';
@logemann
logemann / cont_deploy_docker.ts
Created April 30, 2020 21:54
entry code for CDK project
#!/usr/bin/env node
import 'source-map-support/register';
import * as cdk from '@aws-cdk/core';
import { ContDeployDockerStack } from '../lib/cont_deploy_docker-stack';
const app = new cdk.App();
new ContDeployDockerStack(app, 'ContDeployDockerStack');
@logemann
logemann / vpnStack.ts
Last active April 8, 2022 18:43
VpnStack example for AWS CDK
import { Construct, Stack, Tag, ConcreteDependable} from '@aws-cdk/core';
import { CfnClientVpnTargetNetworkAssociation, CfnClientVpnEndpoint, CfnClientVpnAuthorizationRule, CfnClientVpnRoute, Vpc } from '@aws-cdk/aws-ec2'
import { ISecret } from '@aws-cdk/aws-secretsmanager';
import { ExtendedStackProps } from '../model/ExtendedStackProps';
import * as certManager from '@aws-cdk/aws-certificatemanager';
import * as logs from '@aws-cdk/aws-logs';
export class VpnStack extends Stack {
readonly secret: ISecret;
@logemann
logemann / startStopVpn.js
Created June 7, 2020 20:06
Start Stop Lambda
var AWS = require('aws-sdk');
exports.handler = async (event) => {
var cloudformation = new AWS.CloudFormation();
console.log(`Invoking StartStop Script with Parameter: ${event}`);
if (event == "startup") {
// ==============
@logemann
logemann / changeCName.js
Created June 7, 2020 20:15
change CName lambda
var AWS = require('aws-sdk');
var route53 = new AWS.Route53();
exports.handler = async (event) => {
console.log("Invoking CName change Script");
var ec2 = new AWS.EC2();
let vpnUrl;
var data = await ec2.describeClientVpnEndpoints({}).promise();
@logemann
logemann / lambdaStack.ts
Last active March 5, 2021 13:49
LambdaStack as typescript code for CDK project
import { Construct, Stack } from '@aws-cdk/core';
import { ExtendedStackProps } from '../model/ExtendedStackProps';
import * as lambda from '@aws-cdk/aws-lambda';
import * as iam from '@aws-cdk/aws-iam';
import * as path from 'path';
import * as eventTargets from '@aws-cdk/aws-events-targets';
import { Route53Stack } from './route53Stack';
import { Rule, Schedule, RuleTargetInput } from '@aws-cdk/aws-events';
import * as logs from '@aws-cdk/aws-logs';
@logemann
logemann / clamAvStack.ts
Last active July 6, 2021 22:59
clamAv Ecs Stack
import {Construct, RemovalPolicy, Stack} from "@aws-cdk/core";
import * as ecs from '@aws-cdk/aws-ecs';
import {LogDriver} from '@aws-cdk/aws-ecs';
import {Peer, Port, SecurityGroup, SubnetType} from '@aws-cdk/aws-ec2';
import {ExtendedStackProps} from "../model/ExtendedStackProps";
import * as logs from "@aws-cdk/aws-logs";
/**
* This stack contains an ECS cluster/service with ClamAv inside
import * as cdk from '@aws-cdk/core';
import * as lambda from '@aws-cdk/aws-lambda';
import * as lambdanode from '@aws-cdk/aws-lambda-nodejs';
import * as logs from '@aws-cdk/aws-logs';
import * as iam from '@aws-cdk/aws-iam';
import {EndpointType, LambdaRestApi, DomainName, SecurityPolicy} from "@aws-cdk/aws-apigateway";
import {Certificate} from "@aws-cdk/aws-certificatemanager";
import * as route53 from '@aws-cdk/aws-route53';
import * as sns from '@aws-cdk/aws-sns';
import * as targets from '@aws-cdk/aws-route53-targets';