|
1 | 1 | #!/usr/bin/env bash
|
2 | 2 |
|
3 | 3 | cd "$(dirname "$0")"
|
4 |
| -k8sDirPrefix="./k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring" |
5 |
| -k8sQSDirPrefix="./k8s-quickstart" |
6 |
| -ecsDirPrefix="./ecs-task-definition-templates/deployment-mode/daemon-service/cwagent-ecs-instance-metric" |
7 | 4 |
|
8 |
| -newK8sVersion="k8s/1.3.34" |
9 |
| -agentVersion="public.ecr.aws/cloudwatch-agent/cloudwatch-agent:1.300056.0b1123" |
| 5 | +# Version definitions |
| 6 | +newK8sVersion="k8s/1.3.35" |
| 7 | +agentVersion="public.ecr.aws/cloudwatch-agent/cloudwatch-agent:1.300057.0b1161" |
10 | 8 | fluentdVersion="fluent/fluentd-kubernetes-daemonset:v1.10.3-debian-cloudwatch-1.0"
|
11 | 9 | fluentBitVersion="public.ecr.aws/aws-observability/aws-for-fluent-bit:2.32.4"
|
12 | 10 | fluentBitWindowsVersion="public.ecr.aws/aws-observability/aws-for-fluent-bit:windowsservercore-stable"
|
13 | 11 |
|
14 |
| -k8sPrometheusDirPrefix="./k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus" |
15 |
| -ecsPrometheusDirPrefix="./ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus" |
16 |
| - |
17 |
| -# replace agent version for ECS Prometheus |
18 |
| -sed -i'.bak' "s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${ecsPrometheusDirPrefix}/cwagent-prometheus-task-definition.json |
19 |
| -rm ${ecsPrometheusDirPrefix}/cwagent-prometheus-task-definition.json.bak |
20 |
| -sed -i'.bak' "s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${ecsPrometheusDirPrefix}/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-awsvpc.yaml |
21 |
| -rm ${ecsPrometheusDirPrefix}/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-awsvpc.yaml.bak |
22 |
| -sed -i'.bak' "s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${ecsPrometheusDirPrefix}/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml |
23 |
| -rm ${ecsPrometheusDirPrefix}/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml.bak |
24 |
| - |
25 |
| -# replace agent and k8s version for K8s Prometheus |
26 |
| -sed -i'.bak' "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|${newK8sVersion}|g;s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${k8sPrometheusDirPrefix}/prometheus-eks.yaml |
27 |
| -rm ${k8sPrometheusDirPrefix}/prometheus-eks.yaml.bak |
28 |
| -sed -i'.bak' "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|${newK8sVersion}|g;s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${k8sPrometheusDirPrefix}/prometheus-eks-fargate.yaml |
29 |
| -rm ${k8sPrometheusDirPrefix}/prometheus-eks-fargate.yaml.bak |
30 |
| -sed -i'.bak' "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|${newK8sVersion}|g;s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${k8sPrometheusDirPrefix}/prometheus-k8s.yaml |
31 |
| -rm ${k8sPrometheusDirPrefix}/prometheus-k8s.yaml.bak |
32 |
| -sed -i'.bak' "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|${newK8sVersion}|g;s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${k8sPrometheusDirPrefix}/prometheus-eks-windows-exporter.yaml |
33 |
| -rm ${k8sPrometheusDirPrefix}/prometheus-eks-windows-exporter.yaml.bak |
34 |
| - |
35 |
| - |
36 |
| -# replace agent version for ECS |
37 |
| -sed -i'.bak' "s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${ecsDirPrefix}/cwagent-ecs-instance-metric.json |
38 |
| -rm ${ecsDirPrefix}/cwagent-ecs-instance-metric.json.bak |
39 |
| - |
40 |
| -sed -i'.bak' "s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${ecsDirPrefix}/cloudformation-quickstart/cwagent-ecs-instance-metric-cfn.json |
41 |
| -rm ${ecsDirPrefix}/cloudformation-quickstart/cwagent-ecs-instance-metric-cfn.json.bak |
42 |
| - |
43 |
| -# replace agent, fluentD and fluent-bit version for K8s |
44 |
| -sed -i'.bak' "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|${newK8sVersion}|g;s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${k8sDirPrefix}/cwagent/cwagent-daemonset.yaml |
45 |
| -rm ${k8sDirPrefix}/cwagent/cwagent-daemonset.yaml.bak |
46 |
| - |
47 |
| -sed -i'.bak' "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|${newK8sVersion}|g;s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${k8sDirPrefix}/cwagent/cwagent-daemonset-windows.yaml |
48 |
| -rm ${k8sDirPrefix}/cwagent/cwagent-daemonset-windows.yaml.bak |
49 |
| - |
50 |
| -sed -i'.bak' "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|${newK8sVersion}|g;s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${k8sQSDirPrefix}/cwagent-operator-rendered.yaml |
51 |
| -rm ${k8sQSDirPrefix}/cwagent-operator-rendered.yaml.bak |
52 |
| - |
53 |
| -sed -i'.bak' "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|${newK8sVersion}|g;s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|${agentVersion}|g" ${k8sQSDirPrefix}/cwagent-version.yaml |
54 |
| -rm ${k8sQSDirPrefix}/cwagent-version.yaml.bak |
55 |
| - |
56 |
| -sed -i'.bak' "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|${newK8sVersion}|g;s|fluent/fluentd-kubernetes-daemonset:.*|${fluentdVersion}|g" ${k8sDirPrefix}/fluentd/fluentd.yaml |
57 |
| -rm ${k8sDirPrefix}/fluentd/fluentd.yaml.bak |
58 |
| - |
59 |
| -sed -i'.bak' "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|${newK8sVersion}|g;s|public\.ecr\.aws/aws-observability/aws-for-fluent-bit.*|${fluentBitVersion}|g" ${k8sDirPrefix}/fluent-bit/fluent-bit.yaml |
60 |
| -rm ${k8sDirPrefix}/fluent-bit/fluent-bit.yaml.bak |
61 |
| - |
62 |
| -sed -i'.bak' "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|${newK8sVersion}|g;s|public\.ecr\.aws/aws-observability/aws-for-fluent-bit.*|${fluentBitWindowsVersion}|g" ${k8sDirPrefix}/fluent-bit/fluent-bit-windows.yaml |
63 |
| -rm ${k8sDirPrefix}/fluent-bit/fluent-bit-windows.yaml.bak |
64 |
| - |
65 |
| -sed -i'.bak' "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|${newK8sVersion}|g;s|public\.ecr\.aws/aws-observability/aws-for-fluent-bit.*|${fluentBitVersion}|g" ${k8sDirPrefix}/fluent-bit/fluent-bit-compatible.yaml |
66 |
| -rm ${k8sDirPrefix}/fluent-bit/fluent-bit-compatible.yaml.bak |
67 |
| - |
68 |
| -# generate quickstart manifest for K8s |
69 |
| -OUTPUT=${k8sDirPrefix}/quickstart/cwagent-fluentd-quickstart.yaml |
70 |
| -OUTPUT_FLUENT_BIT=${k8sDirPrefix}/quickstart/cwagent-fluent-bit-quickstart.yaml |
71 |
| -OUTPUT_FLUENT_BIT_WINDOWS=${k8sDirPrefix}/quickstart/cwagent-fluent-bit-quickstart-windows.yaml |
72 |
| - |
73 |
| -cat ${k8sDirPrefix}/cloudwatch-namespace.yaml > ${OUTPUT} |
| 12 | +# update all YAML and JSON files |
| 13 | +find . -type f \( -name "*.yaml" -o -name "*.json" \) -exec bash -c ' |
| 14 | + file="$1" |
| 15 | + echo "Processing $file" |
| 16 | + sed -i".bak" "s|k8s/[0-9]*\.[0-9]*\.[0-9a-z]*|'"$newK8sVersion"'|g;s|public\.ecr\.aws/cloudwatch-agent/cloudwatch-agent:[0-9]*\.[0-9]*\.[0-9a-z]*|'"$agentVersion"'|g" "$file" |
| 17 | + rm -f "$file.bak" |
| 18 | +' bash {} \; |
| 19 | + |
| 20 | +# update fluent-related files |
| 21 | +find . -type f -name "fluent*.yaml" -exec bash -c ' |
| 22 | + file="$1" |
| 23 | + if [[ $file == *"windows"* ]]; then |
| 24 | + sed -i".bak" "s|public\.ecr\.aws/aws-observability/aws-for-fluent-bit.*|'"$fluentBitWindowsVersion"'|g" "$file" |
| 25 | + elif [[ $file == *"fluent-bit"* ]]; then |
| 26 | + sed -i".bak" "s|public\.ecr\.aws/aws-observability/aws-for-fluent-bit.*|'"$fluentBitVersion"'|g" "$file" |
| 27 | + elif [[ $file == *"fluentd"* ]]; then |
| 28 | + sed -i".bak" "s|fluent/fluentd-kubernetes-daemonset:.*|'"$fluentdVersion"'|g" "$file" |
| 29 | + fi |
| 30 | + rm -f "$file.bak" |
| 31 | +' bash {} \; |
| 32 | + |
| 33 | +# generate quickstart manifests |
| 34 | +k8sMonitoringPrefix="./k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring" |
| 35 | +OUTPUT="${k8sMonitoringPrefix}/quickstart/cwagent-fluentd-quickstart.yaml" |
| 36 | +OUTPUT_FLUENT_BIT="${k8sMonitoringPrefix}/quickstart/cwagent-fluent-bit-quickstart.yaml" |
| 37 | +OUTPUT_FLUENT_BIT_WINDOWS="${k8sMonitoringPrefix}/quickstart/cwagent-fluent-bit-quickstart-windows.yaml" |
| 38 | + |
| 39 | +# generate cwagent-fluentd-quickstart.yaml |
| 40 | +cat ${k8sMonitoringPrefix}/cloudwatch-namespace.yaml > ${OUTPUT} |
74 | 41 | echo -e "\n---\n" >> ${OUTPUT}
|
75 |
| -cat ${k8sDirPrefix}/cwagent/cwagent-serviceaccount.yaml >> ${OUTPUT} |
| 42 | +cat ${k8sMonitoringPrefix}/cwagent/cwagent-serviceaccount.yaml >> ${OUTPUT} |
76 | 43 | echo -e "\n---\n" >> ${OUTPUT}
|
77 |
| -cat ${k8sDirPrefix}/cwagent/cwagent-configmap.yaml | sed "s|\"logs|\"agent\": {\\ |
| 44 | +cat ${k8sMonitoringPrefix}/cwagent/cwagent-configmap.yaml | sed "s|\"logs|\"agent\": {\\ |
78 | 45 | \"region\": \"{{region_name}}\"\\
|
79 | 46 | },\\
|
80 | 47 | \"logs|g" >> ${OUTPUT}
|
81 | 48 | echo -e "\n---\n" >> ${OUTPUT}
|
82 |
| -cat ${k8sDirPrefix}/cwagent/cwagent-daemonset.yaml >> ${OUTPUT} |
| 49 | +cat ${k8sMonitoringPrefix}/cwagent/cwagent-daemonset.yaml >> ${OUTPUT} |
83 | 50 | echo -e "\n---\n" >> ${OUTPUT}
|
84 |
| -cat ${k8sDirPrefix}/fluentd/fluentd-configmap.yaml >> ${OUTPUT} |
| 51 | +cat ${k8sMonitoringPrefix}/fluentd/fluentd-configmap.yaml >> ${OUTPUT} |
85 | 52 | echo -e "\n---\n" >> ${OUTPUT}
|
86 |
| -cat ${k8sDirPrefix}/fluentd/fluentd.yaml >> ${OUTPUT} |
| 53 | +cat ${k8sMonitoringPrefix}/fluentd/fluentd.yaml >> ${OUTPUT} |
87 | 54 |
|
88 |
| - |
89 |
| -cat ${k8sDirPrefix}/cloudwatch-namespace.yaml > ${OUTPUT_FLUENT_BIT} |
| 55 | +# Generate cwagent-fluent-bit-quickstart.yaml |
| 56 | +cat ${k8sMonitoringPrefix}/cloudwatch-namespace.yaml > ${OUTPUT_FLUENT_BIT} |
90 | 57 | echo -e "\n---\n" >> ${OUTPUT_FLUENT_BIT}
|
91 |
| -cat ${k8sDirPrefix}/cwagent/cwagent-serviceaccount.yaml >> ${OUTPUT_FLUENT_BIT} |
| 58 | +cat ${k8sMonitoringPrefix}/cwagent/cwagent-serviceaccount.yaml >> ${OUTPUT_FLUENT_BIT} |
92 | 59 | echo -e "\n---\n" >> ${OUTPUT_FLUENT_BIT}
|
93 |
| -cat ${k8sDirPrefix}/cwagent/cwagent-configmap.yaml | sed "s|\"logs|\"agent\": {\\ |
| 60 | +cat ${k8sMonitoringPrefix}/cwagent/cwagent-configmap.yaml | sed "s|\"logs|\"agent\": {\\ |
94 | 61 | \"region\": \"{{region_name}}\"\\
|
95 | 62 | },\\
|
96 | 63 | \"logs|g" >> ${OUTPUT_FLUENT_BIT}
|
97 | 64 | echo -e "\n---\n" >> ${OUTPUT_FLUENT_BIT}
|
98 |
| -cat ${k8sDirPrefix}/cwagent/cwagent-daemonset.yaml >> ${OUTPUT_FLUENT_BIT} |
| 65 | +cat ${k8sMonitoringPrefix}/cwagent/cwagent-daemonset.yaml >> ${OUTPUT_FLUENT_BIT} |
99 | 66 | echo -e "\n---\n" >> ${OUTPUT_FLUENT_BIT}
|
100 |
| -cat ${k8sDirPrefix}/fluent-bit/fluent-bit-configmap.yaml >> ${OUTPUT_FLUENT_BIT} |
| 67 | +cat ${k8sMonitoringPrefix}/fluent-bit/fluent-bit-configmap.yaml >> ${OUTPUT_FLUENT_BIT} |
101 | 68 | echo -e "\n---\n" >> ${OUTPUT_FLUENT_BIT}
|
102 |
| -cat ${k8sDirPrefix}/fluent-bit/fluent-bit.yaml >> ${OUTPUT_FLUENT_BIT} |
| 69 | +cat ${k8sMonitoringPrefix}/fluent-bit/fluent-bit.yaml >> ${OUTPUT_FLUENT_BIT} |
103 | 70 |
|
104 |
| -cat ${k8sDirPrefix}/cwagent/cwagent-daemonset-windows.yaml > ${OUTPUT_FLUENT_BIT_WINDOWS} |
| 71 | +# Generate cwagent-fluent-bit-quickstart-windows.yaml |
| 72 | +cat ${k8sMonitoringPrefix}/cwagent/cwagent-daemonset-windows.yaml > ${OUTPUT_FLUENT_BIT_WINDOWS} |
105 | 73 | echo -e "\n---\n" >> ${OUTPUT_FLUENT_BIT_WINDOWS}
|
106 |
| -cat ${k8sDirPrefix}/fluent-bit/fluent-bit-windows.yaml >> ${OUTPUT_FLUENT_BIT_WINDOWS} |
| 74 | +cat ${k8sMonitoringPrefix}/fluent-bit/fluent-bit-windows.yaml >> ${OUTPUT_FLUENT_BIT_WINDOWS} |
| 75 | + |
| 76 | +echo "Version and manifest updates completed successfully!" |
0 commit comments