1+ #! /bin/bash
2+
3+ set -euo pipefail
4+
5+ PACKAGE_VERSION=$( yq -r ' .version' ./packages/security_detection_engine/manifest.yml)
6+ EPR_INSTANCE_NAME=" bk-epr-prebuilt-rules-oom-testing-$BUILDKITE_BUILD_NUMBER "
7+ GCP_ZONE=" us-west2-a"
8+
9+ buildkite-agent pipeline upload ./.buildkite/scripts/packages/security_detection_engine/pipeline.yml
10+
11+ # gcloud compute instances create "$EPR_INSTANCE_NAME" \
12+ # --zone=us-west2-a \
13+ # --machine-type=e2-small \
14+ # --network-interface=network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=default \
15+ # # --maintenance-policy=MIGRATE \
16+ # --provisioning-model=STANDARD \
17+ # # --scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/trace.append \
18+ # --tags=https-server \
19+ # --create-disk=auto-delete=yes,boot=yes,device-name=instance-20251031-131502,image="$EPR_VM_IMAGE",mode=rw,size=10,type=pd-standard \
20+ # --no-shielded-secure-boot \
21+ # --no-shielded-vtpm \
22+ # --no-shielded-integrity-monitoring \
23+ # --labels=goog-ec-src=vm_add-gcloud \
24+ # --reservation-affinity=any
25+ # --quiet
26+ # echo "--- Deploy EPR instance: $EPR_INSTANCE_NAME (Mock)"
27+
28+ # Save and upload cloud-init configuration
29+ # cat <<YAML > cloud-init.yaml
30+ # package_update: true
31+ # package_upgrade: true
32+ # packages:
33+ # - docker.io
34+ # - openssl
35+
36+ # runcmd:
37+ # - mkdir -p /etc/package-registry/packages
38+ # - chmod 0777 /etc/package-registry/packages
39+
40+ # - mkdir -p /etc/package-registry/certs
41+ # - openssl req -x509 -nodes -newkey rsa:4096 -keyout /etc/package-registry/certs/package-registry.key -out /etc/package-registry/certs/package-registry.crt -subj "/CN=$(curl -s ifconfig.me)" -days 3650
42+
43+ # - docker pull docker.elastic.co/package-registry/package-registry:main
44+ # - docker run -d --name package-registry --restart always -p 443:8443 -v /etc/package-registry/packages:/packages/package-registry:ro -v /etc/package-registry/certs:/etc/package-registry/certs:ro docker.elastic.co/package-registry/package-registry:main --address=0.0.0.0:8443 --tls-key=/etc/package-registry/certs/package-registry.key --tls-cert=/etc/package-registry/certs/package-registry.crt
45+ # YAML
46+
47+ # buildkite-agent artifact upload cloud-init.yaml
48+
49+
50+ # # Trigger the OOM testing pipeline
51+ # cat <<YAML | buildkite-agent pipeline upload
52+ # steps:
53+ # - key: 'deploy-epr-instance-$BUILDKITE_BUILD_NUMBER'
54+ # label: ':package::sparkles: [security_detection_engine] Deploying EPR instance'
55+ # agents:
56+ # provider: gcp
57+ # image: ${IMAGE_UBUNTU_X86_64}
58+ # plugins:
59+ # - elastic/oblt-google-auth#v1.3.0:
60+ # lifetime: 10800 # seconds
61+ # project-id: "elastic-kibana-184716"
62+ # project-number: "261553193300"
63+ # commands:
64+ # - buildkite-agent artifact download cloud-init.yaml .
65+ # - |
66+ # gcloud compute instances create "$EPR_INSTANCE_NAME" \
67+ # --zone="$GCP_ZONE" \
68+ # --machine-type=e2-micro \
69+ # --network-interface=network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=default \
70+ # --provisioning-model=STANDARD \
71+ # --tags=https-server \
72+ # --create-disk=auto-delete=yes,boot=yes,device-name="$EPR_INSTANCE_NAME",image=projects/cos-cloud/global/images/cos-109-17800-570-50,mode=rw,size=10,type=pd-standard \
73+ # --labels=goog-ec-src=vm_add-gcloud \
74+ # --reservation-affinity=any \
75+ # --metadata-from-file=user-data=cloud-init.yaml \
76+ # --quiet
77+ # - (cd ./packages && zip -r ../security_detection_engine.zip ./security_detection_engine)
78+ # - while :; do sleep 1m && gcloud compute scp --recurse ./security_detection_engine.zip maxim_palenov@maximpn-epr-docker:/etc/package-registry/packages/ --zone "$GCP_ZONE" done
79+ # - buildkite-agent env set EC_PLAN_PROP_FLEET_REGISTRY_URL \$(gcloud compute instances describe "$EPR_INSTANCE_NAME" --zone="$GCP_ZONE" --format='get(networkInterfaces[0].accessConfigs[0].natIP)')
80+ # - key: 'run-oom-testing-$BUILDKITE_BUILD_NUMBER'
81+ # label: ":bar_chart: [security_detection_engine] Trigger OOM testing pipeline"
82+ # depends_on:
83+ # - step: 'deploy-epr-instance-$BUILDKITE_BUILD_NUMBER'
84+ # allow_failure: false
85+ # trigger: "appex-qa-stateful-security-prebuilt-rules-ftr-oom-testing"
86+ # async: false
87+ # build:
88+ # env:
89+ # EC_PLAN_PROP_FLEET_REGISTRY_URL: unknown
90+ # EC_PLAN_PROP_PREBUILT_RULES_PACKAGE_VERSION: "$PACKAGE_VERSION"
91+ # - key: 'remove-epr-instance-$BUILDKITE_BUILD_NUMBER'
92+ # label: ":broom::sparkles: [security_detection_engine] Removing EPR instance"
93+ # depends_on:
94+ # - step: 'run-oom-testing-$BUILDKITE_BUILD_NUMBER'
95+ # allow_failure: true
96+ # agents:
97+ # provider: gcp
98+ # image: ${IMAGE_UBUNTU_X86_64}
99+ # plugins:
100+ # - elastic/oblt-google-auth#v1.3.0:
101+ # lifetime: 10800 # seconds
102+ # project-id: "elastic-kibana-184716"
103+ # project-number: "261553193300"
104+ # command: |
105+ # gcloud compute instances delete $EPR_INSTANCE_NAME --zone=us-west2-a --delete-disks=all --quiet
106+ # YAML
107+
108+ # echo "--- :broom::sparkles: Remove EPR instance: $EPR_INSTANCE_NAME (Mock)"
109+ # gcloud compute instances delete $EPR_INSTANCE_NAME --zone=us-west2-a --delete-disks=all --quiet
0 commit comments