AWS CDK Construct that run a Fargate task. Stack will process only when Fargate task executed successfully and all containers exit with code 0, otherwise rollback
Project description
Waitcondition Hook for AWS Fargate task
This module will create an ECS cluster and run a Fargate task as you defined. It will pause the CloudFormation Stack until the Fargate task is complete and success.
Usage:
import * as cdk from 'aws-cdk-lib';
import { RemovalPolicy } from 'aws-cdk-lib';
import { Vpc } from 'aws-cdk-lib/aws-ec2';
import * as ecr from 'aws-cdk-lib/aws-ecr';
import * as ecs from 'aws-cdk-lib/aws-ecs';
import { LogGroup } from 'aws-cdk-lib/aws-logs';
import { Construct } from 'constructs';
import { FargateRunner } from 'fargate-runner';
import { Queue } from 'aws-cdk-lib/aws-sqs';
export class FargateRunnerTestStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
// Define the Fargate Task
const taskDefinition = new ecs.FargateTaskDefinition(this, 'MyTask', {});
// import exiting ecr repo
const repo = ecr.Repository.fromRepositoryName(this, 'MyRepo', 'RepoName');
// Add a container to the task
taskDefinition.addContainer('MyContainer', {
image: ecs.ContainerImage.fromEcrRepository(repo),
});
// Create the Fargate runner
const myFargateRunner = new FargateRunner(this, 'MyRunner', {
fargateTaskDef: taskDefinition,
timeout: `${60 * 5}`,
vpc: vpc,
});
// Create the SQS queue
const myQueue = new Queue(this, 'MyQueue', {});
// Add dependency
myQueue.node.addDependency(myFargateRunner);
}
}
const app = new cdk.App();
const env = {
account: process.env.CDK_DEFAULT_ACCOUNT,
region: process.env.CDK_DEFAULT_REGION,
};
new FargateRunnerTestStack(app, 'FargateRunnerTestStack', { env: env });
With AWS CDK script above (in typescript), it will create a AWS Faragate task and run in a ECS Cluster, with the the task definition that defined. The SQS queue which depends on the will be create only after the Fargate task execute complete and succeed (exit with EXIT CODE: 0)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file waitcondition-hook-for-aws-fargate-task-1.0.1.tar.gz.
File metadata
- Download URL: waitcondition-hook-for-aws-fargate-task-1.0.1.tar.gz
- Upload date:
- Size: 31.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ddbd176bd317938035df11f0b7a389909831720e68dbaa1e01f354058428262
|
|
| MD5 |
3125efdee7320a3ff749c28f909db881
|
|
| BLAKE2b-256 |
a9d6a97123630c4d1b2304f431b4217e1e903666bca296a64fa23259bfbddf85
|
File details
Details for the file waitcondition_hook_for_aws_fargate_task-1.0.1-py3-none-any.whl.
File metadata
- Download URL: waitcondition_hook_for_aws_fargate_task-1.0.1-py3-none-any.whl
- Upload date:
- Size: 30.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77f13d8717b2cad17d29b681d1ee4f1ba90c8a05cd671dc8d96822d6b3c405ac
|
|
| MD5 |
e97bcf95e693575a5620f05f6a2ba538
|
|
| BLAKE2b-256 |
b5a5a1fd01391ef726c5842b0223af00b7f936563aa11f49ac7db66fecd59606
|