2.14.1 • Published 1 year ago

@cfn-modules/fargate-service v2.14.1

Weekly downloads
33
License
Apache-2.0
Repository
github
Last release
1 year ago

cfn-modules: Fargate service

Fargate service.

:books: Check out our new book Rapid Docker on AWS

  • Written for DevOps engineers and web developers who want to run dockerized web applications on AWS.
  • Prior knowledge of Docker and AWS is not required.
  • Continuous Deployment of your Web Application and Infrastructure as Code.

Install

Install Node.js and npm first!

npm i @cfn-modules/fargate-service

Usage

---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'cfn-modules example'
Resources:
  Service:
    Type: 'AWS::CloudFormation::Stack'
    Properties:
      Parameters:
        VpcModule: !GetAtt 'Vpc.Outputs.StackName' # required
        ClusterModule: !GetAtt 'Cluster.Outputs.StackName' # optional
        TargetModule: '' # optional
        FileSystemModule1: '' # optional
        AlertingModule: '' # optional
        ClientSgModule1: '' # optional
        ClientSgModule2: '' # optional
        ClientSgModule3: '' # optional
        ManagedPolicyArns: '' # optional
        ProxyImage: '' # optional
        ProxyImageSecretModule '' # optional
        ProxyPort: '8000' # optional
        ProxyEnvironment1Key: '' # optional
        ProxyEnvironment1Value: '' # optional
        ProxyEnvironment1SecretModule: '' # optional
        ProxyEnvironment2Key: '' # optional
        ProxyEnvironment2Value: '' # optional
        ProxyEnvironment2SecretModule: '' # optional
        ProxyEnvironment3Key: '' # optional
        ProxyEnvironment3Value: '' # optional
        ProxyEnvironment3SecretModule: '' # optional
        ProxyEnvironment4Key: '' # optional
        ProxyEnvironment4Value: '' # optional
        ProxyEnvironment4SecretModule: '' # optional
        ProxyEnvironment5Key: '' # optional
        ProxyEnvironment5Value: '' # optional
        ProxyEnvironment5SecretModule: '' # optional
        AppImage: 'widdix/hello:v1' # optional
        AppImageSecretModule '' # optional
        AppPort: '80' # optional
        AppEnvironment1Key: '' # optional
        AppEnvironment1Value: '' # optional
        AppEnvironment1SecretModule: '' # optional
        AppEnvironment2Key: '' # optional
        AppEnvironment2Value: '' # optional
        AppEnvironment2SecretModule: '' # optional
        AppEnvironment3Key: '' # optional
        AppEnvironment3Value: '' # optional
        AppEnvironment3SecretModule: '' # optional
        AppEnvironment4Key: '' # optional
        AppEnvironment4Value: '' # optional
        AppEnvironment4SecretModule: '' # optional
        AppEnvironment5Key: '' # optional
        AppEnvironment5Value: '' # optional
        AppEnvironment5SecretModule: '' # optional
        AppEnvironment6Key: '' # optional
        AppEnvironment6Value: '' # optional
        AppEnvironment7Key: '' # optional
        AppEnvironment7Value: '' # optional
        AppEnvironment8Key: '' # optional
        AppEnvironment8Value: '' # optional
        AppEnvironment9Key: '' # optional
        AppEnvironment9Value: '' # optional
        AppEnvironment10Key: '' # optional
        AppEnvironment10Value: '' # optional
        AppEnvironment10Key: '' # optional
        AppEnvironment10Value: '' # optional
        AppEnvironment11Key: '' # optional
        AppEnvironment11Value: '' # optional
        AppEnvironment12Key: '' # optional
        AppEnvironment12Value: '' # optional
        AppEnvironment13Key: '' # optional
        AppEnvironment13Value: '' # optional
        AppEnvironment14Key: '' # optional
        AppEnvironment14Value: '' # optional
        AppEnvironment15Key: '' # optional
        AppEnvironment15Value: '' # optional
        AppEnvironment16Key: '' # optional
        AppEnvironment16Value: '' # optional
        AppEnvironment17Key: '' # optional
        AppEnvironment17Value: '' # optional
        AppEnvironment18Key: '' # optional
        AppEnvironment18Value: '' # optional
        AppEnvironment19Key: '' # optional
        AppEnvironment19Value: '' # optional
        AppEnvironment20Key: '' # optional
        AppEnvironment20Value: '' # optional
        AppEnvironment21Key: '' # optional
        AppEnvironment21Value: '' # optional
        AppEnvironment22Key: '' # optional
        AppEnvironment22Value: '' # optional
        AppEnvironment23Key: '' # optional
        AppEnvironment23Value: '' # optional
        AppEnvironment24Key: '' # optional
        AppEnvironment24Value: '' # optional
        AppEnvironment25Key: '' # optional
        AppEnvironment25Value: '' # optional
        SidecarImage: '' # optional
        SidecarImageSecretModule '' # optional
        SidecarPort: '9000' # optional
        SidecarProtocol: 'tcp' # optional
        SidecarEnvironment1Key: '' # optional
        SidecarEnvironment1Value: '' # optional
        SidecarEnvironment1SecretModule: '' # optional
        SidecarEnvironment2Key: '' # optional
        SidecarEnvironment2Value: '' # optional
        SidecarEnvironment2SecretModule: '' # optional
        SidecarEnvironment3Key: '' # optional
        SidecarEnvironment3Value: '' # optional
        SidecarEnvironment3SecretModule: '' # optional
        SidecarEnvironment4Key: '' # optional
        SidecarEnvironment4Value: '' # optional
        SidecarEnvironment4SecretModule: '' # optional
        SidecarEnvironment5Key: '' # optional
        SidecarEnvironment5Value: '' # optional
        SidecarEnvironment5SecretModule: '' # optional
        Cpu: '0.25' # optional
        Memory: '0.5' # optional
        DesiredCount: '2' # optional
        MaxCapacity: '4' # optional
        MinCapacity: '2' # optional
        LogsRetentionInDays: '14' # optional
        SubnetsReach: 'Public' # optional
        AutoScaling: 'true' # optional
        HealthCheckGracePeriodSeconds: '60' # optional
        Spot: 'false' # optional
        CpuArchitecture: 'X86_64' # optional
        OperatingSystemFamily: 'LINUX' # optional
        ExecuteCommand: 'false' # optional
      TemplateURL: './node_modules/@cfn-modules/fargate-service/module.yml'

Examples

Related modules

Parameters

Outputs

Private repositories

To fetch Docker images from private repositories, you have to provide the repository credentials via AWS Secrets Manager. Go to AWS Secrets Manager and create a new secret of type other type) with the plaintext value:

{
  "username": "DOCKERHUB_USERNAME",
  "password": "DOCKERHUB_PASSWORD"
}

Use the secret module wrapper to use the secret within cfn-modules.

---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'cfn-modules example'
Resources:
  Secret:
    Type: 'AWS::CloudFormation::Stack'
    Properties:
      Parameters:
        Arn: 'arn:aws:secretsmanager:eu-west-1:111111111111:secret:name/of/secret' # TODO replace with your secret ARN
      TemplateURL: './node_modules/@cfn-modules/secret/wrapper.yml'

The following image prameters support a secret:

ParameterSecret
 ProxyImageProxyImageSecretModule
AppImageAppImageSecretModule
SidecarImageSidecarImageSecretModule

Migration Guides

Migrate to v2

  • Rename AmbassadorImage to ProxyImage.
  • Rename AmbassadorPort to ProxyPort.
  • Rename AmbassadorEnvironment1Key to ProxyEnvironment1Key.
  • Rename AmbassadorEnvironment1Value to ProxyEnvironment1Value.
  • Rename AmbassadorEnvironment2Key to ProxyEnvironment2Key.
  • Rename AmbassadorEnvironment2Value to ProxyEnvironment2Value.
  • Rename AmbassadorEnvironment3Key to ProxyEnvironment3Key.
  • Rename AmbassadorEnvironment3Value to ProxyEnvironment3Value.
2.14.1

1 year ago

2.14.0

1 year ago

2.13.0

2 years ago

2.12.0

2 years ago

2.11.1

2 years ago

2.11.0

3 years ago

2.10.0

3 years ago

2.9.0

3 years ago

2.8.0

4 years ago

2.7.0

4 years ago

2.6.0

4 years ago

2.5.0

5 years ago

2.4.0

5 years ago

2.3.0

5 years ago

2.2.0

5 years ago

2.1.0

5 years ago

2.0.0

5 years ago

1.2.0

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago