Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
9eae00b
Initial spec file for cluster deployment
cbaxley Dec 11, 2025
08feb09
Merge branch 'develop' into cbaxley-737-cluster
cbaxley Dec 11, 2025
b8cecb3
First pass at implementing cluster setup
cbaxley Dec 15, 2025
bd6270e
Updated installer documentation and code to support cluster setup
cbaxley Dec 15, 2025
a15b4d2
Fix the redhat install command in build_azure_linux_network
cbaxley Dec 15, 2025
c6b31c9
Commented out cleanup Azure resources step in cluster_redhat.yml
cbaxley Dec 16, 2025
ee81a5a
Trying to fix the Windows agent token quoting issue
cbaxley Dec 16, 2025
28a805d
Saves the full JSON response to a file for later inspection
cbaxley Dec 16, 2025
1935e40
Output the full JSON response to the console on ws1 commands
cbaxley Dec 16, 2025
c047593
Revert redhat cluster workflow to the develop branch
cbaxley Dec 16, 2025
2271851
Output the full JSON on the get policy ID test command
cbaxley Dec 17, 2025
9f55a6a
Make the default connection in the ansible playbook to be local
cbaxley Dec 17, 2025
6393ff7
Fixes .profile not being made for unprivileged user
cbaxley Dec 17, 2025
6f85496
Update Dockerfiles and installation scripts to use python3-venv inste…
cbaxley Dec 17, 2025
3f31e7b
Adds a cluster installer script for testing multi-node LME clusters.
cbaxley Dec 18, 2025
f32c09a
Update .gitignore and README.md for 24.04 testing
cbaxley Jan 20, 2026
c92849d
Refactor testing scripts to improve compatibility with multi-node LME…
cbaxley Jan 21, 2026
36577ba
Fixes how we distribute secrets to the cluster nodes.
cbaxley Jan 21, 2026
5a5d4af
fix: fix how the secrets distribution role works
cbaxley Jan 21, 2026
de7f298
fix: fix how the secrets distribution role works
cbaxley Jan 21, 2026
bfffd3c
feat: implement local cluster installation script and docker cluster
cbaxley Jan 22, 2026
e21dd30
Cluster install working in docker containers in development
cbaxley Jan 22, 2026
ab5c08f
Loosens permissions for certs and secrets for children in cluster
cbaxley Jan 23, 2026
173f40d
Create a docker container for the cluster installer
cbaxley Jan 23, 2026
ed27ec1
fix: create minimal env file for cluster nodes to prevent failure
cbaxley Jan 26, 2026
50db604
Try changing the import on build_azure_linux_network.py to see if it …
cbaxley Feb 9, 2026
ca65fc7
Use the 22.04 image in the cluster workflow.
cbaxley Feb 10, 2026
ababf20
Remove the redundant ansible install from the base role
cbaxley Feb 10, 2026
9d1a378
Add cluster inventory tooling and documentation for multi-node Elasti…
cbaxley Feb 11, 2026
c290d2f
Adds initial cluster installation tooling for RHEL9
cbaxley Feb 12, 2026
fbf2935
Add cluster installation tooling for 24.04, d12.10
cbaxley Feb 12, 2026
f0e1f3a
Changes the default userid in docker/rhel9 files
cbaxley Feb 13, 2026
bbd91e0
Framework for converting single-node LME to cluster
cbaxley Feb 18, 2026
119bed4
Fixes for upgrade to cluster installer
cbaxley Feb 18, 2026
d37b8fb
Adds escluster install option to docker workflow
cbaxley Feb 19, 2026
ddc4c82
Use the larger instance types for the cluster tests
cbaxley Feb 19, 2026
c24d6ba
Enables password changes in a cluster environment
cbaxley Feb 23, 2026
de5e67d
Fixes cluster installation documentation
cbaxley Feb 23, 2026
2c58fba
Adds test for cluster password change
cbaxley Feb 24, 2026
ad90b0b
Adds pre-upgrade checks to the cluster installer
cbaxley Feb 26, 2026
fa069bd
Create a Rocky Linux 9 docker setup
cbaxley Mar 2, 2026
96b3fab
Adds snapshot functionality
cbaxley Mar 4, 2026
d5039a8
Added nfs mounts and snapshot tests for the testing cluster installer
cbaxley Mar 4, 2026
3cbc69b
Removes root requirement for convert to cluster script
cbaxley Mar 5, 2026
2ea3bc4
Fixes a needed sudo in the convert to cluster script
cbaxley Mar 5, 2026
5c6f887
Adds script to upgrade to cluster in development docker environment
cbaxley Mar 5, 2026
d09696f
Updates the change passwords playbook to be more robust
cbaxley Mar 5, 2026
11af07e
Have the password change tests wait longer for wazuh to be ready
cbaxley Mar 5, 2026
45f2de8
Updates the convert_to_cluster.sh script to support partial upgrades
cbaxley Mar 10, 2026
e183a1d
Updates the cluster installer README.md
cbaxley Mar 11, 2026
1aa406e
Adds cluster node recovery guide for development environment
cbaxley Mar 12, 2026
d9caf70
Fixes to cluster node recovery documentation
cbaxley Mar 12, 2026
015a5cd
Deletes testing file that was left over from previous testing
cbaxley Mar 13, 2026
a24d590
Create the cluster node recovery azure document
cbaxley Mar 13, 2026
1b20c6d
Merge remote-tracking branch 'origin/develop' into cbaxley-737-implem…
cbaxley Mar 16, 2026
5c223f9
Disables all tests except for the escluster tests
cbaxley Mar 17, 2026
78a2f03
Escluster workflow fix cleanup step
cbaxley Mar 17, 2026
8d99d90
Single install on escluster workflow
cbaxley Mar 17, 2026
15853c2
Update ESCluster workflow to install es cluster
cbaxley Mar 17, 2026
51ece5c
Adds jq to the development Dockerfile
cbaxley Mar 17, 2026
0f282e3
Adds nfs mounting to the child nodes in escluster.yml
cbaxley Mar 17, 2026
78b1e97
Add in a failure test for the cluster in the escluster.yml workflow
cbaxley Mar 17, 2026
844eb1a
Changes the size of the spare node in the escluster.yml workflow
cbaxley Mar 18, 2026
848a0e9
Changes the size of the cluster nodes in the escluster.yml workflow
cbaxley Mar 18, 2026
eb8349a
Tests heredoc file creation in the escluster.yml workflow
cbaxley Mar 18, 2026
320c71d
Removes heredoc file creation test from the escluster.yml workflow
cbaxley Mar 18, 2026
b9287d3
Adds in the tests for change passwords and snapshot tests in the escl…
cbaxley Mar 18, 2026
134774d
Fix the nfs mounts and paths in the escluster.yml workflow
cbaxley Mar 18, 2026
92dc391
Reapplies the nfs changes to the quadlets on all nodes in the esclust…
cbaxley Mar 18, 2026
63072f9
Elasticsearch template now cluster aware and lme_force_config was added
cbaxley Mar 19, 2026
d92597b
Removes the path replacement for snapshots in the escluster.yml workflow
cbaxley Mar 19, 2026
791a630
Change the warning for fs repository in multi-node cluster
cbaxley Mar 19, 2026
343f795
Updates the path to config files in the cluster guides.
cbaxley Mar 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 1 addition & 12 deletions .github/workflows/burndown_chart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ on:
required: true
default: '1'
type: string
pull_request:
branches:
- '*'

jobs:
create_chart:
Expand All @@ -33,21 +30,13 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4

- name: Setup environment variables
run: |
echo "UNIQUE_ID=$(openssl rand -hex 3 | head -c 6)" >> $GITHUB_ENV

- name: Set default dates
if: github.event_name == 'pull_request'
run: |
echo "start_date=2024-05-09" >> $GITHUB_ENV
echo "end_date=2024-05-25" >> $GITHUB_ENV
echo "view=1" >> $GITHUB_ENV

- name: Use dispatch inputs
if: github.event_name == 'workflow_dispatch'
run: |
echo "start_date=${{ github.event.inputs.start_date }}" >> $GITHUB_ENV
echo "end_date=${{ github.event.inputs.end_date }}" >> $GITHUB_ENV
Expand Down
13 changes: 8 additions & 5 deletions .github/workflows/cluster.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
name: Cluster Run - Minimega

on:
pull_request:
branches:
- 'develop'
- 'main'
# TEMPORARILY DISABLED - uncomment when done with escluster testing
# pull_request:
# branches:
# - 'develop'
# - 'main'
workflow_dispatch:
inputs:
azure_region:
Expand Down Expand Up @@ -61,7 +62,7 @@ jobs:
echo "UNIQUE_ID=${RANDOM_NUM}_cluster_${{ github.run_number }}" >> $GITHUB_ENV

- name: Checkout repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4

- name: Setup environment variables
run: |
Expand Down Expand Up @@ -123,6 +124,8 @@ jobs:
-s ${{ env.IP_ADDRESS }}/32 \
-vs Standard_E16d_v4 \
-l ${{ inputs.azure_region || 'centralus' }} \
-io 0001-com-ubuntu-server-jammy \
-is 22_04-lts-gen2 \
-ast 23:00 \
-y
"
Expand Down
25 changes: 17 additions & 8 deletions .github/workflows/cluster_redhat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,11 @@ on:
- ukwest
- northeurope
- westeurope
pull_request:
branches:
- 'develop'
- 'main'
# TEMPORARILY DISABLED - uncomment when done with escluster testing
# pull_request:
# branches:
# - 'develop'
# - 'main'

jobs:
build-and-test-cluster-redhat:
Expand All @@ -53,7 +54,7 @@ jobs:
echo "UNIQUE_ID=${RANDOM_NUM}_cluster_redhat_${{ github.run_number }}" >> $GITHUB_ENV

- name: Checkout repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4

- name: Setup environment variables
run: |
Expand Down Expand Up @@ -171,11 +172,11 @@ jobs:
ES_PASSWORD=$(docker compose -p ${{ env.UNIQUE_ID }} exec -T pipeline bash -c "ssh lme-user@$AZURE_IP '. /home/lme-user/LME/scripts/extract_secrets.sh -q && echo \$elastic'" | tail -n 1 | tr -d '\n')
echo "::add-mask::$ES_PASSWORD"
echo "ES_PASSWORD=$ES_PASSWORD" >> $GITHUB_ENV
echo "Elastic password retrieved successfully"
echo "Elastic password retrieved successfully: $ES_PASSWORD"
KIBANA_PASSWORD=$(docker compose -p ${{ env.UNIQUE_ID }} exec -T pipeline bash -c "ssh lme-user@$AZURE_IP '. /home/lme-user/LME/scripts/extract_secrets.sh -q && echo \$kibana_system'" | tail -n 1 | tr -d '\n')
echo "::add-mask::$KIBANA_PASSWORD"
echo "KIBANA_PASSWORD=$KIBANA_PASSWORD" >> $GITHUB_ENV
echo "Kibana password retrieved successfully"
echo "Kibana password retrieved successfully: $KIBANA_PASSWORD"

- name: Install test requirements on Azure RHEL instance
run: |
Expand All @@ -199,6 +200,14 @@ jobs:
ES_PASSWORD: ${{ env.ES_PASSWORD }}
run: |
cd testing/v2/development
POLICY_ID_TEST=$(docker compose -p ${{ env.UNIQUE_ID }} exec -T pipeline bash -c "
ssh lme-user@${{ env.AZURE_IP }} '
curl -kL -s -u \"$ES_USERNAME:$ES_PASSWORD\" -X GET \"$KIBANA_URL/api/fleet/agent_policies\" \
-H \"kbn-xsrf: true\" \
-H \"Content-Type: application/json\"
'
")
echo "Retrieved Policy ID test: $POLICY_ID_TEST"

# Retrieve policy ID
POLICY_ID=$(docker compose -p ${{ env.UNIQUE_ID }} exec -T pipeline bash -c "
Expand All @@ -224,7 +233,7 @@ jobs:
echo "Retrieved enrollment token: $ENROLLMENT_TOKEN"

# Mask the enrollment token in logs and set it as an environment variable
echo "::add-mask::$ENROLLMENT_TOKEN"
# echo "::add-mask::$ENROLLMENT_TOKEN"
echo "ENROLLMENT_TOKEN=$ENROLLMENT_TOKEN" >> $GITHUB_ENV
echo "Policy ID and Enrollment Token retrieved successfully"

Expand Down
Loading
Loading