Skip to content

Commit 616cdeb

Browse files
authored
Merge pull request #342 from aws-solutions/feature/v2.4.5
Update to version v2.4.5
2 parents d06912f + 6dd5a85 commit 616cdeb

File tree

70 files changed

+335
-372
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+335
-372
lines changed

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,26 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [2.4.5] - 2025-11-20
9+
10+
### Added
11+
12+
- Added support for EKS 1.34
13+
14+
### Fixed
15+
16+
- Issue with creating Instance group for Member accounts by removing obsolete `subAccountFlbConfUploadingEventTopicArn` parameter from GraphQL schema and related code
17+
- OpenSearch index pattern error for WindowsEvent logs by adding @timestamp alias field that maps to the existing time field, resolving dashboard visualization errors.
18+
19+
### Security
20+
21+
- Updated pip version to `25.3` to address [CVE-2025-8869](https://avd.aquasec.com/nvd/2025/cve-2025-8869/)
22+
- Updated AWS Lambda container base image to address CVEs in go/stdlib, coreutils-single, pip, lz4-libs
23+
, libcap, openssl-fips-provider-latest & openssl-snapsafe-libs packages.
24+
- Updated aws-for-fluent-bit image version to address CVEs for pip and setuptools packages
25+
- Updated js-yaml to address [CVE-2025-64718](https://avd.aquasec.com/nvd/2025/cve-2025-64718/)
26+
- Updated glob to address [CVE-2025-64756](https://avd.aquasec.com/nvd/2025/cve-2025-64756/)
27+
828
## [2.4.4] - 2025-09-24
929

1030
### Security

NOTICE.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1789,6 +1789,7 @@ own-keys under the MIT license.
17891789
wsl-utils under the MIT license.
17901790
baseline-browser-mapping under the Apache-2.0 license.
17911791
@babel/helper-globals under the Apache-2.0 license.
1792+
docker/library/alpine under the MIT license.
17921793

17931794
********************
17941795
OPEN SOURCE LICENSES
Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
1-
FROM public.ecr.aws/aws-observability/aws-for-fluent-bit:2.33.0
1+
FROM public.ecr.aws/docker/library/alpine:latest AS installer
2+
RUN apk update && apk add --no-cache unzip curl
3+
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
4+
RUN unzip awscliv2.zip -d /tmp/
25

3-
RUN yum update -y && yum install -y unzip
6+
FROM public.ecr.aws/aws-observability/aws-for-fluent-bit:3.0.1
47

5-
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
6-
RUN unzip awscliv2.zip
7-
RUN ./aws/install
8+
COPY --from=installer /tmp/aws /tmp/aws
9+
10+
RUN /tmp/aws/install
811

9-
EXPOSE 2022
1012
COPY docker-entrypoint.sh .
1113
RUN chmod +x docker-entrypoint.sh
12-
ENTRYPOINT ["./docker-entrypoint.sh"]
14+
15+
EXPOSE 2022
16+
ENTRYPOINT ["./docker-entrypoint.sh"]

deployment/ecr/clo-s3-list-objects/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM public.ecr.aws/lambda/python:3.12.2025.09.22.12 AS builder
1+
FROM public.ecr.aws/lambda/python:3.12.2025.11.20.16 AS builder
22

33
WORKDIR /build
44

@@ -14,7 +14,7 @@ RUN python -m venv .venv && \
1414
cd common-lib && \
1515
poetry build
1616

17-
FROM public.ecr.aws/lambda/python:3.12.2025.09.22.12
17+
FROM public.ecr.aws/lambda/python:3.12.2025.11.20.16
1818

1919
WORKDIR /ws
2020

deployment/ecr/clo-s3-list-objects/test/conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def default_environment_variables():
1818
os.environ["VERSION"] = "v1.0.0"
1919
os.environ["SOLUTION_ID"] = "SO8025"
2020

21-
os.environ["BUCKET_NAME"] = "solution-bucket"
21+
os.environ["BUCKET_NAME"] = "amzn-s3-demo-bucket1"
2222
os.environ["QUEUE_NAME"] = "my-queue"
2323
os.environ["KEY_PREFIX"] = ""
2424
os.environ["QUEUE_URL"] = "http://queue.amazonaws.com"

source/constructs/graphql/schema.graphql

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -449,15 +449,13 @@ type Mutation {
449449
subAccountStackId: String!
450450
subAccountKMSKeyArn: String!
451451
subAccountIamInstanceProfileArn: String!
452-
subAccountFlbConfUploadingEventTopicArn: String!
453452
tags: [TagInput]
454453
): String
455454

456455
# update a cross account link
457456
updateSubAccountLink(
458457
subAccountId: String!
459458
region: String
460-
subAccountFlbConfUploadingEventTopicArn: String!
461459
windowsAgentInstallDoc: String!
462460
windowsAgentConfDoc: String!
463461
agentStatusCheckDoc: String!
@@ -1495,7 +1493,6 @@ type SubAccountLink {
14951493
subAccountVpcId: String
14961494
subAccountPublicSubnetIds: String
14971495
subAccountIamInstanceProfileArn: String
1498-
subAccountFlbConfUploadingEventTopicArn: String
14991496
createdAt: String
15001497
status: String
15011498
tags: [Tag]
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11

22
$util.validate($util.matches("^\d{12}$", $util.defaultIfNullOrEmpty($ctx.args.subAccountId, '123456789012')), "Invalid Account ID")
33
$util.validate($util.matches("^(?!(.*--))(?!(.*-$))[a-z0-9]([a-z0-9-]){0,62}$", $util.defaultIfNullOrEmpty($ctx.args.region,'us-west-2')), "Invalid Region Name")
4-
$util.validate($util.matches("^arn:([^:\n]*):([^:\n]*):([^:\n]*):([^:\n]*):(([^:\/\n]*)[:\/])?(.*)$", $ctx.args.subAccountFlbConfUploadingEventTopicArn), "Invalid Topic ARN")
54

65
{"version": "2017-02-28", "operation": "Invoke", "payload": $util.toJson($ctx)}

source/constructs/lambda/api/alarm/test/test_lambda_function.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ def ddb_client():
102102
},
103103
{
104104
"parameterKey": "backupBucketName",
105-
"parameterValue": "centralizedlogging-solutionloggingbucket0fa53b76-1ff3q5fgfg7un",
105+
"parameterValue": "amzn-s3-demo-logging-bucket",
106106
},
107107
{
108108
"parameterKey": "logSourceAccountId",
@@ -205,7 +205,7 @@ def ddb_client():
205205
"coldLogTransition": 0,
206206
"domainName": "solution-os",
207207
"engine": "OpenSearch",
208-
"failedLogBucket": "solution-solutionloggingbucket0fa53b76-12cw0hl0kfnk6",
208+
"failedLogBucket": "amzn-s3-demo-logging-bucket",
209209
"indexPrefix": "syslog-dev-03",
210210
"logRetention": 10,
211211
"opensearchArn": "arn:aws:es:us-west-2:123456789012:domain/solution-os",
@@ -240,7 +240,7 @@ def ddb_client():
240240
"status": "ACTIVE",
241241
"monitor": {
242242
"status": "ENABLED",
243-
"backupBucketName": "solution-solutionloggingbucket0fa53b76-12cw0hl0kfnk6",
243+
"backupBucketName": "amzn-s3-demo-logging-bucket",
244244
"errorLogPrefix": "error/",
245245
},
246246
"helperLogGroupName": "/aws/lambda/CL-pipe-c34f2159-OpenSearchHelperFn-tJZgzlWN1k99",

source/constructs/lambda/api/app_log_ingestion/flb/flb_builder.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
from jinja2 import FileSystemLoader, Environment
2828
from flb.flb_model import FluentBitDataPipeline
2929
from flb.k8s import ConfigMap
30-
import urllib3
3130

3231
logger = get_logger(__name__)
3332

@@ -50,8 +49,6 @@
5049
"public.ecr.aws/aws-observability/aws-for-fluent-bit:2.32.2.20241008",
5150
)
5251
fluent_bit_log_group_name = os.environ["FLUENT_BIT_LOG_GROUP_NAME"]
53-
s3_address = os.environ.get("FLB_S3_ADDR")
54-
http = urllib3.PoolManager()
5552

5653
instance_table_name = os.environ.get("INSTANCE_TABLE_NAME")
5754
instance_dao = InstanceDao(table_name=instance_table_name)
@@ -507,8 +504,9 @@ def generate_k8s_kubectl_binary_download_url(
507504
return content
508505

509506
def get_kubectl(self):
510-
return self.get_s3_object(key="kubectl_version.txt")
511-
512-
def get_s3_object(self, key):
513-
response = http.request("GET", f"https://{s3_address}/clo/" + key)
514-
return json.loads(response.data.decode("utf-8"))
507+
# Read kubectl version mapping from local file
508+
current_dir = os.path.dirname(os.path.abspath(__file__))
509+
kubectl_version_file = os.path.join(current_dir, "kubectl_version.json")
510+
511+
with open(kubectl_version_file, 'r') as f:
512+
return json.load(f)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"1.20": "1.20.15/2022-10-31",
3+
"1.21": "1.21.14/2024-09-11",
4+
"1.22": "1.22.17/2024-09-11",
5+
"1.23": "1.23.17/2024-09-11",
6+
"1.24": "1.24.17/2024-11-15",
7+
"1.25": "1.25.16/2024-11-15",
8+
"1.26": "1.26.15/2024-11-15",
9+
"1.27": "1.27.16/2024-11-15",
10+
"1.28": "1.28.15/2024-11-15",
11+
"1.29": "1.29.10/2024-11-15",
12+
"1.30": "1.30.6/2024-11-15",
13+
"1.31": "1.31.2/2024-11-15",
14+
"1.32": "1.32.0/2025-01-10",
15+
"1.33": "1.33.0/2025-05-01",
16+
"1.34": "1.34.1/2025-09-19"
17+
}

0 commit comments

Comments
 (0)