Skip to content

Commit

Permalink
Modified 5 nodes:
Browse files Browse the repository at this point in the history
Added objectStore node rg-stackery-video-files
Added objectStore node rg-stackery-thumbnails
Added dockerTask node stackery-video-to-thumb-task-def
Added function node triggerOnUploadVideoStackery
Added function node triggerOnThumbnailCreationStackery
  • Loading branch information
rupakg committed Sep 27, 2018
1 parent 54aa56b commit 3057430
Show file tree
Hide file tree
Showing 7 changed files with 179 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/triggerOnThumbnailCreationStackery/README.md
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,13 @@

This Stackery function node was generated by [Stackery.io](https://www.stackery.io).

We recommend updating this readme with your own function specific documentation.

# Dependencies
You can add dependencies on other files and packages.
Within this directory, local dependencies can be added as individual files and
package dependencies can be added to [package.json](https://docs.npmjs.com/files/package.json).
Package dependencies will be installed when the stack is deployed.

# Stackery Documentation
Documentation for Stackery function nodes can be found at [https://docs.stackery.io/nodes/Function/](https://docs.stackery.io/nodes/Function/).
5 changes: 5 additions & 0 deletions src/triggerOnThumbnailCreationStackery/index.js
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,5 @@
exports.handler = async message => {
console.log(message);

return {};
}
6 changes: 6 additions & 0 deletions src/triggerOnThumbnailCreationStackery/package.json
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"private": true,
"dependencies": {
"aws-sdk": "~2"
}
}
13 changes: 13 additions & 0 deletions src/triggerOnUploadVideoStackery/README.md
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,13 @@

This Stackery function node was generated by [Stackery.io](https://www.stackery.io).

We recommend updating this readme with your own function specific documentation.

# Dependencies
You can add dependencies on other files and packages.
Within this directory, local dependencies can be added as individual files and
package dependencies can be added to [package.json](https://docs.npmjs.com/files/package.json).
Package dependencies will be installed when the stack is deployed.

# Stackery Documentation
Documentation for Stackery function nodes can be found at [https://docs.stackery.io/nodes/Function/](https://docs.stackery.io/nodes/Function/).
5 changes: 5 additions & 0 deletions src/triggerOnUploadVideoStackery/index.js
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,5 @@
exports.handler = async message => {
console.log(message);

return {};
}
6 changes: 6 additions & 0 deletions src/triggerOnUploadVideoStackery/package.json
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"private": true,
"dependencies": {
"aws-sdk": "~2"
}
}
131 changes: 131 additions & 0 deletions template.yaml
Original file line number Original file line Diff line number Diff line change
@@ -1,3 +1,134 @@
AWSTemplateFormatVersion: 2010-09-09 AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31 Transform: AWS::Serverless-2016-10-31
Description: Video processing app with AWS Fargate using Stackery Description: Video processing app with AWS Fargate using Stackery
Resources:
objectStore6A12D98C:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub ${AWS::StackName}-objectstore6a12d98c
Metadata:
StackeryName: rg-stackery-video-files
objectStore3B0DC7B6:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub ${AWS::StackName}-objectstore3b0dc7b6
Metadata:
StackeryName: rg-stackery-thumbnails
dockerTask4259BAF6:
Type: AWS::ECS::TaskDefinition
Properties:
ContainerDefinitions:
- Image: rupakg/docker-ffmpeg-thumb:latest
LogConfiguration:
LogDriver: awslogs
Options:
awslogs-group: !Ref dockerTask4259BAF6LogGroup
awslogs-region: !Ref AWS::Region
awslogs-stream-prefix: rupakg-docker-ffmpeg-thumb-latest
Name: 0
Environment:
- Name: AWS_REGION
Value: us-east-1
- Name: INPUT_VIDEO_FILE_URL
Value: https://s3.amazonaws.com/your-s3-bucket-name/test.mp4
- Name: OUTPUT_S3_PATH
Value: your-s3-bucket-name/your-thumbnail-folder-name
- Name: OUTPUT_THUMBS_FILE_NAME
Value: test.png
- Name: POSITION_TIME_DURATION
Value: 00:01
Cpu: 256
ExecutionRoleArn: !GetAtt dockerTask4259BAF6ExecutionRole.Arn
Memory: 512
NetworkMode: awsvpc
RequiresCompatibilities:
- FARGATE
TaskRoleArn: !GetAtt dockerTask4259BAF6TaskRole.Arn
Volumes: []
DependsOn: dockerTask4259BAF6LogGroup
Metadata:
StackeryName: stackery-video-to-thumb-task-def
dockerTask4259BAF6LogGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: !Sub /stackery/task/${AWS::StackName}-dockerTask4259BAF6/rupakg-docker-ffmpeg-thumb-latest
dockerTask4259BAF6ExecutionRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Sub ${AWS::StackName}-DockerTaskExecutionRole
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
Effect: Allow
Principal:
Service: ecs-tasks.amazonaws.com
Action: sts:AssumeRole
Policies:
- PolicyName: DownloadDockerImagesFromECR
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- logs:CreateLogStream
- logs:PutLogEvents
Resource: !Sub arn:aws:logs:*:*:log-group:/stackery/task/${AWS::StackName}-*
- Effect: Allow
Action:
- ecr:GetAuthorizationToken
- ecr:BatchCheckLayerAvailability
- ecr:GetDownloadUrlForLayer
- ecr:BatchGetImage
Resource: '*'
dockerTask4259BAF6TaskRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Sub ${AWS::StackName}-DockerTaskTaskRole
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
Effect: Allow
Principal:
Service: ecs-tasks.amazonaws.com
Action: sts:AssumeRole
function17279F64:
Type: AWS::Serverless::Function
Properties:
FunctionName: !Sub ${AWS::StackName}-function17279F64
Description: !Sub
- Stackery Stack ${StackeryStackTagName} Environment ${StackeryEnvironmentTagName} Function ${ResourceName}
- ResourceName: triggerOnUploadVideoStackery
CodeUri: src/triggerOnUploadVideoStackery
Handler: index.handler
Runtime: nodejs8.10
MemorySize: 512
Timeout: 30
Tracing: Active
Policies:
- AWSXrayWriteOnlyAccess
Metadata:
StackeryName: triggerOnUploadVideoStackery
functionF9A32476:
Type: AWS::Serverless::Function
Properties:
FunctionName: !Sub ${AWS::StackName}-functionF9A32476
Description: !Sub
- Stackery Stack ${StackeryStackTagName} Environment ${StackeryEnvironmentTagName} Function ${ResourceName}
- ResourceName: triggerOnThumbnailCreationStackery
CodeUri: src/triggerOnThumbnailCreationStackery
Handler: index.handler
Runtime: nodejs8.10
MemorySize: 512
Timeout: 30
Tracing: Active
Policies:
- AWSXrayWriteOnlyAccess
Metadata:
StackeryName: triggerOnThumbnailCreationStackery
Parameters:
StackeryStackTagName:
Type: String
Description: Stack Name (injected by Stackery at deployment time)
StackeryEnvironmentTagName:
Type: String
Description: Environment Name (injected by Stackery at deployment time)

0 comments on commit 3057430

Please sign in to comment.