From 3de9243f6b9072b940a15f3a765f14ea93eb06ed Mon Sep 17 00:00:00 2001 From: Adam Moussa <166072409+amoussa1229@users.noreply.github.com> Date: Tue, 12 May 2026 15:36:22 -0400 Subject: [PATCH] Add arm64, log retention, and compliance fixes - Set arm64 architecture globally for all Lambda functions - Add explicit CloudWatch log groups with 60-day retention - Add missing WeeklyPostFunctionArn to stack outputs - Add Dependabot assignees for both ecosystems - Add samconfig.toml.example for onboarding --- .github/dependabot.yml | 4 ++++ samconfig.toml.example | 9 +++++++++ template.yaml | 23 +++++++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 samconfig.toml.example diff --git a/.github/dependabot.yml b/.github/dependabot.yml index b6b02e7..825c361 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,6 +4,8 @@ updates: directory: "/" schedule: interval: "weekly" + assignees: + - "amoussa1229" groups: minor-and-patch: update-types: @@ -13,6 +15,8 @@ updates: directory: "/" schedule: interval: "weekly" + assignees: + - "amoussa1229" groups: minor-and-patch: update-types: diff --git a/samconfig.toml.example b/samconfig.toml.example new file mode 100644 index 0000000..daba8cd --- /dev/null +++ b/samconfig.toml.example @@ -0,0 +1,9 @@ +version = 0.1 + +[default.deploy.parameters] +stack_name = "afterhours-shift-manager" +resolve_s3 = true +s3_prefix = "afterhours-shift-manager" +region = "us-east-1" +capabilities = "CAPABILITY_IAM" +confirm_changeset = true diff --git a/template.yaml b/template.yaml index feaa664..5e7d2c3 100644 --- a/template.yaml +++ b/template.yaml @@ -16,6 +16,8 @@ Globals: Runtime: python3.12 Timeout: 30 MemorySize: 1024 + Architectures: + - arm64 Resources: # --- DynamoDB --- @@ -181,6 +183,25 @@ Resources: Description: "Sync roster from 3CX at 6am EDT" Enabled: true + # --- CloudWatch Log Groups (explicit 60-day retention) --- + SlackBotLogGroup: + Type: AWS::Logs::LogGroup + Properties: + LogGroupName: !Sub "/aws/lambda/${SlackBotFunction}" + RetentionInDays: 60 + + WeeklyPostLogGroup: + Type: AWS::Logs::LogGroup + Properties: + LogGroupName: !Sub "/aws/lambda/${WeeklyPostFunction}" + RetentionInDays: 60 + + RosterSyncLogGroup: + Type: AWS::Logs::LogGroup + Properties: + LogGroupName: !Sub "/aws/lambda/${RosterSyncFunction}" + RetentionInDays: 60 + Outputs: SlackBotApiUrl: Description: URL for Slack app Request URL configuration @@ -189,5 +210,7 @@ Outputs: Value: !Ref ShiftTable SlackBotFunctionArn: Value: !GetAtt SlackBotFunction.Arn + WeeklyPostFunctionArn: + Value: !GetAtt WeeklyPostFunction.Arn RosterSyncFunctionArn: Value: !GetAtt RosterSyncFunction.Arn