Skip to content

Instantly share code, notes, and snippets.

View Stivi7's full-sized avatar

Stivi Ndoni Stivi7

  • Softup Technologies
View GitHub Profile
version: '3.5'
services:
web1:
image: yeasy/simple-web
environment:
VIRTUAL_HOST: domain.com
LETSENCRYPT_HOST: domain.com
web2:
import * as cdk from '@aws-cdk/core';
import { MyVpc } from './vpc';
export class DemoCdkStack extends cdk.Stack {
constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const myVpc = new MyVpc(this, 'DemoVpc', {
vpcCidr: '10.0.0.0/16',
maxAzs: 2,
import * as cdk from '@aws-cdk/core';
import * as ec2 from '@aws-cdk/aws-ec2';
export interface VpcProps {
vpcCidr: string;
maxAzs?: number;
publicSubnetsNo: number;
privateSubnetsNo?: number;
isolatedSubnetsNo?: number;
}
image: node:10.15.3
fetch_ssh_key: &fetch_ssh_key
step:
name: Fetch ssh key from S3
script:
- apt-get update && apt-get install -y python3-pip
- pip3 install -U awscli
- aws --version
- export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID
image: node:10.15.3
fetch_ssh_key: &fetch_ssh_key
step:
name: Fetch ssh key from S3
script:
- apt-get update && apt-get install -y python3-pip
- pip3 install -U awscli
- aws --version
- export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID
---
- name: Deploy with docker stack
docker_stack:
state: present
name: test
compose:
- ~/{{ dir_name }}/docker-compose.yml
environment:
NODE_ENV: "{{ NODE_ENV }}"
PORT: "{{ PORT }}"
---
- hosts: production
become: true
roles:
- install_docker
- init_swarm
tasks:
- include_role:
name: copy_compose_src
vars:
- include_role:
name: deploy_prod_stack
vars:
dir_name: compose.production
NODE_ENV: "{{ lookup('env', 'PRODUCTION')}}"
PORT: "{{ lookup('env', 'PORT') }}"
DB_HOST: "{{ lookup('env', 'DB_PRODUCTION') }}"
DH_USERNAME: "{{ lookup('env', 'DH_USERNAME') }}"
IMAGE_BASE_NAME: "{{ lookup('env', 'IMAGE_BASE_NAME') }}"
PROXY_IMAGE_NAME: "{{ lookup('env', 'PROXY_IMAGE_NAME') }}"
---
- name: Copy compose source
copy:
src: ../../../../{{ dir_name }}/docker-compose.yml
dest: ~/{{ dir_name }}/
owner: root
group: root
mode: '0644'
register: copy_status
---
- name: Pull latest images
docker_compose:
project_src: ~/{{ dir_name }}
pull: yes
state: present
environment:
NODE_ENV: "{{ NODE_ENV }}"
PORT: "{{ PORT }}"
DB_HOST: "{{ DB_HOST }}"