An open API service indexing awesome lists of open source software.

https://github.com/mlabouardy/alldaydevops-2018

AllDayDevOps 2018 :cloud:
https://github.com/mlabouardy/alldaydevops-2018

alexa aws cloud containers devops lambda serverless

Last synced: about 1 year ago
JSON representation

AllDayDevOps 2018 :cloud:

Awesome Lists containing this project

README

          



# Talk

[![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/lXU2GbstE_4/0.jpg)](https://youtu.be/lXU2GbstE_4?t=5414)

# Setup

```
$ ./build.sh
$ cd terrafrom && terraform init && terraform apply
```

# Lambda Functions

## Create Infrastructure

### Environment Variables

- AMI
- KEYPAIR
- SSM_ROLE_NAME
- SECURITY_GROUP_ID
- SQS_URL
- TABLE_NAME

### IAM Policy

```
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Action": [
"iam:PassRole",
"dynamodb:PutItem",
"dynamodb:Scan",
"sqs:SendMessage",
"sqs:SetQueueAttributes"
],
"Resource": [
"arn:aws:sqs:AWS_REGION:ACCOUNT_ID:clusters",
"arn:aws:iam::ACCOUNT_ID:role/SwarmClusterSSMRole",
"arn:aws:dynamodb:AWS_REGION:ACCOUNT_ID:table/clusters"
]
},
{
"Sid": "2",
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"ec2:CreateTags",
"ec2:RunInstances",
"logs:CreateLogGroup",
"logs:PutLogEvents",
"ssm:SendCommand",
"ssm:GetCommandInvocation"
],
"Resource": "*"
}
]
}
```

## Provision Infrastructure

### Environment Variables

- SQS_URL
- TABLE_NAME

### IAM Policy

```
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Action": [
"sqs:*",
"dynamodb:UpdateItem"
],
"Resource": [
"arn:aws:sqs:AWS_REGION:ACCOUNT_ID:clusters",
"arn:aws:dynamodb:AWS_REGION:ACCOUNT_ID:table/clusters"
]
},
{
"Sid": "2",
"Effect": "Allow",
"Action": [
"ssm:SendCommand",
"logs:CreateLogStream",
"logs:CreateLogGroup",
"logs:PutLogEvents",
"ssm:GetCommandInvocation"
],
"Resource": "*"
}
]
}
```

# Maintainers

Mohamed Labouardy