App-FargateStack

 view release on metacpan or  search on metacpan

lib/App/FargateStack/Constants.pm  view on Meta::CPAN

  'target-group-name' => sub {
    my ($self) = @_;

    my $app_name = $self->get_config->{app}->{name};
    return sprintf '%s-tg', $app_name;
  },
  'cluster-name' => sub {
    my ($self) = @_;

    my $app_name = $self->get_config->{app}->{name};

    return sprintf '%s-cluster', $app_name;
  },
  'alb-name' => sub {
    my ($self) = @_;

    my $app_name = $self->get_config->{app}->{name};

    return sprintf '%s-alb', $app_name;
  },
  'alb-security-group-name' => sub {
    my ($self) = @_;

    my $app_name = $self->get_config->{app}->{name};

    return sprintf '%s-alb-sg', $app_name;
  },
  'scheduled-action-name' => sub {
    my ( $self, $action_name ) = @_;

    my $app_name = $self->get_config->{app}->{name};

    return sprintf '%s-%s-schedule', $app_name, $action_name;
  },

  'web-acl-name' => sub {
    my ($self) = @_;

    my $app_name = $self->get_config->{app}->{name};
    return sprintf '%s-acl', $app_name;
  },
);

########################################################################
# EventBridge defaults & constants
########################################################################
Readonly::Scalar our $EVENT_SCHEDULER_TYPE_URL => 'https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html';

########################################################################
# Help subjects
########################################################################
Readonly::Hash our %HELP_SUBJECTS => (
  'tbd' => [
    'TBD' => <<'END_OF_TEXT'
Our current TODO list. Add your request at
https://github.com/rlauer6/App-Fargate
END_OF_TEXT
  ],
  'overview' => [
    'OVERVIEW' => <<'END_OF_TEXT'
An overview of the App::FargateStack framework.
END_OF_TEXT
  ],
  'cloudwatch logs' => [
    'CLOUDWATCH LOGS' => <<'END_OF_TEXT'
Information on Cloudwatch log groups and how to view logs from your tasks.
END_OF_TEXT
  ],
  'command list' => [
    'COMMAND LIST' => <<'END_OF_TEXT'
A detailed description of available commands.
END_OF_TEXT
  ],
  'daemon services' => [
    'DAEMON SERVICES' => <<'END_OF_TEXT'
Information on how to create long running daemon services using this
framework.
END_OF_TEXT
  ],
  'scheduled jobs' => [
    'SCHEDULED JOBS' => <<'END_OF_TEXT'
A description of using the framework to create scheduled and one-shot workloads.
END_OF_TEXT
  ],
  'task size' => [
    'TASK SIZE' => <<'END_OF_TEXT'
Using the "size:" key to set the task's memory and cpu parameters.
END_OF_TEXT
  ],
  'http services' => [
    'HTTP SERVICES' => <<'END_OF_TEXT'
A description of how the framework can provision a fully functional
web application using Fargate.
END_OF_TEXT
  ],

  'log groups' => [
    'CLOUDWATCH LOG GROUPS' => <<'END_OF_TEXT'
Information on how log groups are provisioned and configure.
END_OF_TEXT
  ],
  'iam permissions' => [
    'IAM PERMISSIONS' => <<'END_OF_TEXT'
A discussion of how the framework creates IAM roles and policies for
the resources used in your tasks.
END_OF_TEXT
  ],
  'environment variables' => [
    'ENVIRONMENT VARIABLES' => <<'END_OF_TEXT'
How to injecting environment variables into your container. Also
include information on using secrets fromSecretsManager in your
environment.
END_OF_TEXT
  ],
  'queues' => [
    'SQS QUEUES' => <<'END_OF_TEXT'
How to create and configure SQS queues for your application.
END_OF_TEXT
  ],
  'efs support' => [
    'FILESYSTEM SUPPORT' => <<'END_OF_TEXT'
Configuring support for EFS files systems inside your container.
END_OF_TEXT
  ],
  'filesystem support' => 'efs support',
  'buckets'            => [
    'S3 BUCKETS' => <<'END_OF_TEXT'
Creating and configuring S3 buckets.
END_OF_TEXT
  ],
  'networking' => [
    'NETWORKING' => <<'END_OF_TEXT'
Explanation of how the framework recognizes and uses your networking
resources.
END_OF_TEXT
  ],
  'roadmap' => [
    'ROADMAP' => <<'END_OF_TEXT'
A peek at what's next for App::FargateStack.
END_OF_TEXT
  ],
  'cli option defaults' => [
    'CLI OPTION DEFAULTS' => <<'END_OF_TEXT'
Save keystrokes with App::Fargate's automatic option saving feature.
END_OF_TEXT
  ],
  'configuration file' => [
    'CONFIGURATION' => <<'END_OF_TEXT'
Detailed explanation of the App::Fargate configuration file.
END_OF_TEXT
  ],
  'limitations' => [
    'LIMITATIONS' => <<'END_OF_TEXT'
END_OF_TEXT
  ],
  'troubleshooting' => [
    'TROUBLESHOOTING' => <<'END_OF_TEXT'
Hints and tips for troubleshooting.
END_OF_TEXT
  ],
  'security groups' => [
    'SECURITY GROUPS' => <<'END_OF_TEXT'
How the framework provisions and configures security groups.
END_OF_TEXT
  ],
);

Readonly::Scalar our $LOG4PERL_CONF => <<'END_OF_CONF';
log4perl.logger = INFO, Screen
log4perl.appender.Screen = Log::Log4perl::Appender::ScreenColoredLevels
log4perl.appender.Screen.stderr = 1
log4perl.appender.Screen.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.Screen.layout.ConversionPattern = [%d] %m%n
log4perl.appender.Screen.color.DEBUG=magenta
log4perl.appender.Screen.color.INFO=green
log4perl.appender.Screen.color.WARN=yellow
log4perl.appender.Screen.color.ERROR=red
log4perl.appender.Screen.color.FATAL=bold red
log4perl.appender.Screen.color.TRACE=bold white
END_OF_CONF

our @EXPORT = (
  ######################################################################
  # chars
  ######################################################################
  qw(
    $EMPTY
    $DASH
    $SPACE
  ),
  ######################################################################
  # booleans
  ######################################################################
  qw(
    $FALSE
    $TRUE
  ),
  ######################################################################
  # CloudTrail
  ######################################################################
  qw(
    $DEFAULT_MAX_EVENTS
  ),
  ######################################################################
  # EFS
  ######################################################################
  qw(
    $DEFAULT_EFS_PORT
  ),
  ######################################################################
  # EventBridge
  ######################################################################
  qw(
    $DEFAULT_RULE_ID
    $EVENT_SCHEDULER_TYPE_URL
  ),
  ######################################################################
  # Miscellaneous
  ######################################################################
  qw(
    %DEFAULT_NAMES
  ),
  ######################################################################



( run in 0.483 second using v1.01-cache-2.11-cpan-df04353d9ac )