Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds docker install for testing #590

Merged
merged 153 commits into from
Mar 25, 2025
Merged
Changes from 1 commit
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
92efe42
#390 Install v2 pipeline (#392)
cbaxley Aug 8, 2024
626aa75
Upgrade 1x to 2.0 (#428)
cbaxley Sep 16, 2024
bd08785
Updated API and Selenium tests to validate Raw Access Read panel on U…
rishagg01 Sep 16, 2024
5212353
Added encrpyption at rest option for users
Sep 25, 2024
162bf11
Install pipeline and tests (#429)
cbaxley Oct 3, 2024
ead411d
Upgrade API tests for Release 2 (#465)
rishagg01 Oct 9, 2024
c6bedb2
Merge 2.0 into vault user password encryption (#458)
cbaxley Oct 10, 2024
05cba6a
Documentation update to volume and index management (#468)
aarz-snl Oct 15, 2024
f6d6416
add image to docs
aarz-snl Oct 15, 2024
e1d00af
Update index-management.md
aarz-snl Oct 15, 2024
1733589
Fix tests after password encryption (#466)
cbaxley Oct 17, 2024
abba9d3
Mreeve 461 post install (#477)
mreeve-snl Oct 23, 2024
a2cacab
Sysmon Install Powershell Script (#480)
rgbrow1949 Oct 23, 2024
a5196ac
Mreeve elastalert 2 (#483)
mreeve-snl Oct 24, 2024
31039b6
Make the pipeline use the post install script (#481)
cbaxley Oct 24, 2024
4339de8
Ddiabe refactored dashboards 2.0 (#486)
ddiabe Oct 25, 2024
0d1d9db
Updates some obscure bugs on install (#487)
cbaxley Oct 25, 2024
587014c
Remove breaking health check for fleet server
aarz-snl Oct 28, 2024
981c0b1
Harden the pipline steps (#493)
cbaxley Oct 29, 2024
e96a52c
Delete dashboard_refactor directory
ddiabe Oct 30, 2024
352251d
Sleep a bit longer before running the tests
cbaxley Nov 6, 2024
a310de9
Merge branch 'release-2.0.0' into develop
cbaxley Nov 6, 2024
a6ece91
Fix typo
causand22 Nov 6, 2024
f8a41a2
Remove files that were modified in 2.0.0
cbaxley Nov 6, 2024
93e9b19
LME 2 Dashboard Update and Bug Fixes (#501)
aarz-snl Nov 6, 2024
fdabeb0
Merge branch 'release-2.0.0' into develop
cbaxley Nov 6, 2024
8a1fc47
Selenium Test Release 2 Changes (#499)
rishagg01 Nov 7, 2024
976db4b
Merge branch 'release-2.0.0' into develop
cbaxley Nov 7, 2024
34fb759
Remove the cluster run from automatic running.
cbaxley Nov 7, 2024
d465e10
adding in lme-2-docs content (#506)
mreeve-snl Nov 8, 2024
6b56ae0
Merge branch 'release-2.0.0' into develop
cbaxley Nov 8, 2024
119e4bd
Merge branch 'main' into develop
mitchelbaker-cisa Nov 8, 2024
46d729f
Merge branch 'main' into develop
mitchelbaker-cisa Nov 15, 2024
6bb0e9a
Creates a windows qcow for minimega (#515)
cbaxley Nov 22, 2024
9933eb7
Update test_user_h_r_dashboard_lo.py
cbaxley Nov 22, 2024
717874f
Made enhancements to API and Sel tests (#522)
rishagg01 Dec 2, 2024
c516f0e
Made a single change to skip API test that failed on cluster run on d…
rishagg01 Dec 3, 2024
34c1b2c
Skipping API test on metrics search (#525)
rishagg01 Dec 3, 2024
5d4ed3b
Merge branch 'main' into develop
mitchelbaker-cisa Dec 7, 2024
417dff6
Merge branch 'main' into develop
mitchelbaker-cisa Dec 7, 2024
24ef2fc
Remove inline comments (#532)
aarz-snl Dec 13, 2024
ead34e8
Merge branch 'main' into develop
mitchelbaker-cisa Dec 17, 2024
2da8cb0
Create minimega windows instance and install elastic agent (#534)
cbaxley Dec 18, 2024
a724796
Adds docker for temporary install
cbaxley Dec 27, 2024
b2946ca
Adds customer Docker config
cbaxley Dec 30, 2024
d4eef2c
Updates the post install script to be more robust
cbaxley Dec 31, 2024
b1d26d6
Merge branch 'cbaxley-517-docker-for-customers' of https://github.com…
cbaxley Dec 31, 2024
4a5b3a4
Fix the docker build from conflicts
cbaxley Dec 31, 2024
e8df867
Init lme when starting docker container
cbaxley Jan 2, 2025
272c56e
Updates how we wait for fleet to be ready
cbaxley Jan 2, 2025
e00e32d
Modify the docker build to build as much as it can of the lme install
cbaxley Jan 3, 2025
f9b23d9
Remove temporary files
cbaxley Jan 3, 2025
098e6a9
Split up the install of nix and lme into two separate steps in docker
cbaxley Jan 7, 2025
22d0c6d
Adds scripts to check the status of the LME setup in docker
cbaxley Jan 7, 2025
8b8bf6c
Merge branch 'main' into develop
mitchelbaker-cisa Jan 13, 2025
e4cb054
Creates a persistent docker container for LME
cbaxley Jan 15, 2025
ffbbf0d
Updates the ansible script to remove the warnings
cbaxley Jan 20, 2025
68bb273
Update the source dashboard path to be absolute
cbaxley Jan 21, 2025
b8ee020
Adds port check for kibana with retries
cbaxley Jan 22, 2025
347db0e
Fixes the check not to count times it has failed
cbaxley Jan 22, 2025
d7dbcad
Revert "Creates a persistent docker container for LME"
cbaxley Jan 23, 2025
b64bfb8
fixing docs, somehow diffs got included, and we just want to include …
mreeve-snl Jan 25, 2025
da5c8f3
Update the README.md file for the docker setup
cbaxley Jan 28, 2025
0ac4f54
Clean up the README.md file for the docker setup
cbaxley Jan 28, 2025
ff69cb3
Adds a 24.04 docker setup and install
cbaxley Jan 28, 2025
fdd1031
Increment the group id if it already exists
cbaxley Jan 28, 2025
65d1d12
Increment the user id if it already exists
cbaxley Jan 28, 2025
625b54d
Updates the overlayfs in install_lme_local.yml
cbaxley Jan 29, 2025
3fce454
Put back in the shell argument for bash arguments in installers
cbaxley Jan 29, 2025
987b16d
Adds the ability to pass the HOST_IP to the docker-compose.yml file
cbaxley Feb 3, 2025
e87f679
Updates the lme-init.sh file to use the HOST_IP variable
cbaxley Feb 3, 2025
c9747f5
Adds the ability to pass the HOST_IP to the init script
cbaxley Feb 3, 2025
49b76cf
Replace the HOST_IP variable with the HOST_IP environment variable
cbaxley Feb 3, 2025
79572e0
Sets the HOST_IP environment variable in the lme-setup.service file
cbaxley Feb 3, 2025
a012def
Sets the HOST_IP environment variable in the lme-setup.service file
cbaxley Feb 3, 2025
8f37e36
Sets the HOST_IP environment variable in an env file
cbaxley Feb 3, 2025
53a4acd
Debug why the server hosts results are not using env
cbaxley Feb 3, 2025
285de22
Export the IPVAR environment variable in the lme-init.sh file
cbaxley Feb 4, 2025
e758548
Set the IPVAR environment variable more explicitly in the lme-init.sh…
cbaxley Feb 4, 2025
c83afd9
Remove the lme-environment.env file from the base install
cbaxley Feb 4, 2025
6a46cad
Copy in the updated lme-environment.env file to opt/lme/
cbaxley Feb 4, 2025
872b055
Change where the kibana port is checked for
cbaxley Feb 4, 2025
02c85e8
Merge hotfix from main into develop (#570)
mitchelbaker-cisa Feb 7, 2025
6a29858
Updates the readme to reflect the new non-persistent docker setup.
cbaxley Feb 11, 2025
963f4f2
Update main and docker readmes
cbaxley Feb 11, 2025
74cdc27
Remove environment.sh from 22.04 and add example files for 22.04 and …
cbaxley Feb 12, 2025
59431e2
Update docker readme to include instructions for environment.sh
cbaxley Feb 12, 2025
b867216
Mreeve 552 lme quality of life fixes readme (#581)
mreeve-snl Feb 14, 2025
71605ca
Merge branch 'develop' into cbaxley-517-2-non-persistant-docker
cbaxley Feb 18, 2025
1ea2e6a
Leave running assets on cluster run for debugging
cbaxley Feb 18, 2025
07f06e7
Merge branch 'main' into cbaxley-517-2-non-persistant-docker
cbaxley Feb 19, 2025
2cefce5
Fix post install to watch for fleet server hosts and verify they are …
cbaxley Feb 21, 2025
b44a940
Try testing that fleet server is ready.
cbaxley Feb 21, 2025
927986a
Increase the size of the Azure instance to E16_v4
cbaxley Feb 25, 2025
29f85ec
Wait between running local install and post install
cbaxley Feb 25, 2025
afadaa4
Wait more before the post install, check fleet setup
cbaxley Feb 26, 2025
e8565f4
Adds additional checks for fleet setup
cbaxley Feb 26, 2025
a0e75bd
Removes sleep from post install
cbaxley Feb 26, 2025
3bab8bb
Reintroduce cleaning up azure resources after build
cbaxley Feb 27, 2025
f8892fe
Try not installing minimega to see if failures are a networking issue
cbaxley Feb 27, 2025
552c77c
Checks the available versions of ansible and python
cbaxley Feb 27, 2025
bcdf24a
Clean the apt cache before running apt-get update
cbaxley Feb 27, 2025
8ff9134
Enable universe repository
cbaxley Feb 27, 2025
3869ba0
Break out the apt commands into separate lines
cbaxley Feb 27, 2025
3bc6d03
Remove the Kibana and Elasticsearch URLs from the replace_home_in_con…
cbaxley Feb 27, 2025
ba16526
Remove the build containers from the github actions server
cbaxley Feb 27, 2025
2550f2c
Reintroduce minimega into the cluster workflow
cbaxley Feb 28, 2025
9bdc610
Install LME before minimega
cbaxley Feb 28, 2025
b4eb9df
Try a different vm size
cbaxley Feb 28, 2025
2f8b6b6
Hide environment exporter file
cbaxley Feb 28, 2025
e8ace3e
Update cluster.yml to install LME later in the workflow
cbaxley Feb 28, 2025
55cd659
Change fleet setup to accept only 200 status code
cbaxley Mar 2, 2025
15b1cb3
Adds more checks before enabling Fleet in Kibana
cbaxley Mar 3, 2025
af5a533
Wait longer for Kibana and Elasticsearch to start
cbaxley Mar 3, 2025
8f8c0bc
Replace home in config with IP
cbaxley Mar 3, 2025
45a6d24
Revert the local ips
cbaxley Mar 3, 2025
d4dd489
Replace the local ips with the docker dns names
cbaxley Mar 3, 2025
930e14a
Removes setting local_kbn_url and local_es_url to docker dns
cbaxley Mar 4, 2025
08307a9
Remove a checker in install.sh that may be causing the cluster.yml wo…
cbaxley Mar 4, 2025
ae888ec
Open the firewall to all IP addresses for testing
cbaxley Mar 5, 2025
9c6b837
Makes it so the fleet-server container is not started automatically o…
cbaxley Mar 6, 2025
5bcdbc4
Add the clone directory to the post_install_local.yml file
cbaxley Mar 6, 2025
75ee047
Reintroduce the minimega commands
cbaxley Mar 6, 2025
380c648
Move the conditionpathexists to the unit section of the fleet-server.…
cbaxley Mar 6, 2025
cc8a3d8
Remove the minimega install again to check if it is a route problem
cbaxley Mar 6, 2025
34fe378
Do not remove the azure resources for testing purposes
cbaxley Mar 6, 2025
5005627
Set the elasticsearch host in the fleet server container
cbaxley Mar 7, 2025
ba30fca
Add a sleep to the cluster.yml workflow to allow the VM to boot
cbaxley Mar 7, 2025
1059959
Add more sleep for the cluster.yml workflow after the VM is built
cbaxley Mar 7, 2025
3bdef0f
Adds back in the minimega install on the cluster.yml workflow
cbaxley Mar 7, 2025
ab4861d
Sleep even longer for the cluster workflow because of larger machine
cbaxley Mar 7, 2025
bbcf35f
Remove minimega install from cluster.yml workflow
cbaxley Mar 7, 2025
1e7ac04
Wait for the larger machine to fully boot before installing LME
cbaxley Mar 10, 2025
379894d
Install on smaller machine
cbaxley Mar 10, 2025
7c6ca49
Use the larger machine with ssd drive
cbaxley Mar 10, 2025
8bb8053
Increases the size of the cluster machine to 16 cores
cbaxley Mar 10, 2025
cf52f62
Use an intermediate size machine for the cluster
cbaxley Mar 10, 2025
15f7d46
Only start the fleet server if the setup is finished
cbaxley Mar 10, 2025
d8e3cee
Use a larger machine for the cluster
cbaxley Mar 10, 2025
a02d801
Try a full cluster run with the new setup
cbaxley Mar 10, 2025
832cbd8
Install LME on the cluster after the minimega setup is complete
cbaxley Mar 10, 2025
69fea29
Attempt to replace the elasticsearch hosts variable with an environme…
cbaxley Mar 10, 2025
80658cd
Merge branch 'main' into cbaxley-517-2-non-persistant-docker
cbaxley Mar 10, 2025
2ad1fca
Wait for the fleet container to be ready
cbaxley Mar 11, 2025
06be209
Updates the readme for the docker installation
cbaxley Mar 12, 2025
3868ae1
Decrease the VM size for the cluster run
cbaxley Mar 13, 2025
5b54d51
Increases the vm size in cluster to a Standard_E16d_v4
cbaxley Mar 13, 2025
d9fa364
Adds back in the restriction on the IP address
cbaxley Mar 13, 2025
78e46f8
Fixes the missing ip address in the azure cluster workflow
cbaxley Mar 13, 2025
51bfd0e
Merge branch 'main' into cbaxley-517-2-non-persistant-docker
cbaxley Mar 17, 2025
0161a9e
Updating expected output to match now that fleet-server will install
mreeve-snl Mar 18, 2025
7d840a5
Update README.md
tylmorr-snl Mar 18, 2025
06e8e08
Disable integration assistant
aarz-snl Mar 24, 2025
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
Next Next commit
#390 Install v2 pipeline (#392)
merge all lme 2.0 changes into release-2.0.0
## 🗣 Description ##

<!-- Describe the "what" of your changes in detail. -->

Add dashboard-descriptions.md in /docs/markdown/reference.
Add a link to this file within the main README.md's table of contents.

### 💭 Motivation and context 

<!-- Why is this change required? -->
<!-- What problem does this change solve? How did you solve it? -->
<!-- Mention any related issue(s) here using appropriate keywords such -->
<!-- as "closes" or "resolves" to auto-close them on merge. -->

The LME repository does not have a location for dashboard descriptions.

## 🧪 Testing 

<!-- How did you test your changes? How could someone else test this PR? -->
<!-- Include details of your testing environment, and the tests you ran to -->
<!-- see how your change affects other areas of the code, etc. -->

N/A

## ✅ Pre-approval checklist ##

- [x] Changes are limited to a single goal **AND** 
      the title reflects this in a clear human readable format
- [x] I have read and agree to LME's [CONTRIBUTING.md](https://github.com/cisagov/LME/CONTRIBUTING.md) document.
- [x] The PR adheres to LME's requirements in [RELEASES.md](https://github.com/cisagov/LME/RELEASES.md#steps-to-submit-a-PR)
- [x] These code changes follow [cisagov code standards](https://github.com/cisagov/development-guide).
- [x] All relevant repo and/or project documentation has been updated to reflect the changes in this PR.

## ✅ Post-merge Checklist

- [x] Squash all commits into one PR level commit 
- [x] Delete the branch to keep down number of branches

* Update README.md to include dashboard-descriptions.md

* Update wording for computer software overview dashboard

* Fix some grammatical changes in dashboard-descriptions.md

* Release 1.3.1 merge into main  (#154)

* Update retention function to fix retention policy bug (#143)

* Updated troubleshooting guide to account for index management (#134)

* Update upgrading.md to account for 1.3.1 (#151)

* Update upgrading.md

* Update upgrading.md

---------

Co-authored-by: Andrew Arz <149685528+aarz-snl@users.noreply.github.com>

* Fixes dashboard update not importing on fresh install (#167) (#169)

* Fixes dashboard update not importing on fresh install
#165

* Update upgrading.md to include status on v1.3.2, along with revisions to the document overall

* remove step 4 from upgrading.md; add additional instructions for v1.3.2

---------

Co-authored-by: Clint Baxley <c.baxley-ctr@ecstech.com>
Co-authored-by: Clint Baxley <clint.baxley-ctr@ecstech.com>

* Add proof of concept selenium tests

* Correct the script name in the doc string

* User Security Selenium Tests for No Results Panels

* First full selenium test. Currently just User Security

* WIP User HR

* Completed all dashboards. Requires testing now

* Cut dev comments

Co-authored-by: Alden Hilton <106177711+adhilto@users.noreply.github.com>

* Debugging a couple unit tests that error out. Two left

* Install LME in the testbed from a single script (#150)

* Adding the configure scripts

* Add scripts to zip and copy to a container for downloading in the server

* Grab the expiry time properly in copy file

* Overwrite the blob if it exists

* Add the script to download file into DC

* Script that unzips the files in a container

* Adds username argument to download files

* Add script to run scripts in container

* Adds username argument to gpo script

* Modifies the url name in the client GPO

* Adds the functionality for chapter 1 and first half of chapter 2

* Imports the sysmon GPO

* Update the variables for sysmon gpo

* Name the scripts so they are grouped together in a listing

* Echos the file download url

* Expands the domain name correctly in create ou

* Write the url output of copy file to container to a different output stream

* Create a new LME folder for our scripts and files

* Set path for extract to lme

* Update paths for scripts to /lme

* Fix the wec server name setting

* Adds the scripts to install chapter 1 and 2

* Allows azure to download in linux and windows

* Adds linux install scripts.

* Adds winlogbeat installer

* emove garbage in update server name

* Tweak several scripts to get the scp of files_for_windows

* Adds installer script to run all the scripts

* Fixes the formatting method for az output

* Clean up the scripts and add documentation

* Fixes outputting format errors

* Fixes hanging on adding ls1 to domain

* Fix formatting errors on responses

* Update linux expect script for different prompts.

* Handle the reboot message for linux expect script

* Echos the file download url

* Create a new LME folder for our scripts and files

* Set path for extract to lme

* Update paths for scripts to /lme

* Update paths for scripts to /lme

* Fix the wec server name setting

* Adds the scripts to install chapter 1 and 2

* Allows azure to download in linux and windows

* Adds linux install scripts.

* Adds winlogbeat installer

* emove garbage in update server name

* Tweak several scripts to get the scp of files_for_windows

* Adds installer script to run all of the scripts

* Fixes the formatting method for az output

* Clean up the scripts and add documentation

* Fixes outputting format errors

* Fixes hanging on adding ls1 to domain

* Fix formatting errors on responses

* Update linux expect script for different prompts.

* Handle the reboot message for linux expect script

* Adds InstallTestbed instructions to Readme.md

* Modifies parameters to be pascal case

* ls1 not being set on DC1

* Adds Linux Only install to SetupTestbed

* Remove separate linux only script

* Update testing/Readme.md

Co-authored-by: Alden Hilton <106177711+adhilto@users.noreply.github.com>

* Make number of clients consisten between scripts

* Add ports for elk stack for testing

* Update readmes to change ResourceGroupName to ResourceGroup

* Adds a switch to install linux only

* Adds simple tests to check install

* Removes the error if the old configure zip is not found.

* Adds variables to linux tests run command

* Move credential extraction to lib for use by other scripts.

* Adds npm for other testing

* Adds latest version of nodejs for testing

* Make output.log readable for tests

* Add the -m parameter in the testing readme

* Download the latest version or a specified version

* Reboot for 1.3.0

* Notes that we could have different expect scripts

* Put back in the restart after all of the domain updates

* Scp uses ls1 instead of ls1.lme.local

* Up the timeout of the adding ls1.lme.local

* Up the timeout of the adding ls1.lme.local

* Fixes chmod of the output.log for tests

* Adds venv to the gitignore

* Adds the ability to pass a branch to the installer

* Remove node installer

* Change timeout in expect script for slow connections

* Make shell files executable

---------

Co-authored-by: Clint Baxley <clint.baxley-ctr@ecstech.com>
Co-authored-by: Alden Hilton <106177711+adhilto@users.noreply.github.com>

* Fix deploy.sh data retention failure error  (#190)

* Fix deploysh data retention failure (#179)

* Update deploy.sh

* Update deploy.sh

* Update deploy.sh

* Update deploy.sh

* Remove free (#188)

* changed the word free to no-cost or no-cost to users

* rephrased wording to 'which comes at no cost to users'

---------

Co-authored-by: Linda Lovero-Waterhouse <l.lovero-waterhouse@ecstech.com>

* Update upgrading.md with data retention failure resolution (#189)

---------

Co-authored-by: Andrew Arz <149685528+aarz-snl@users.noreply.github.com>
Co-authored-by: Linda Waterhouse <82845774+llwaterhouse@users.noreply.github.com>
Co-authored-by: Linda Lovero-Waterhouse <l.lovero-waterhouse@ecstech.com>

* Automatically Add Tags to Azure Resources (#186)

* Add tags to all Azure resource creations calls

---------

Co-authored-by: Clint Baxley <c.baxley-ctr@ecstech.com>

* Switched script to headless mode

* added switch for headless, detached, and debug mode. Bug where driver.quit does not close window.

* Refactored long line and added switch for debug mode

* Removed unnecessary comments

* Update pull_request_template.md (#198)

* Update pull_request_template.md

Moved Squash commits from post-merge to pre-merge.

* overriding default PR template for preferred LME template

* overriding default PR template for preferred LME template

* updating issue template to shorten the template

---------

Co-authored-by: mreeve-snl <mreeve@sandia.gov>

* Python testbed setup (#183)

* Add simple tests for http requests

* Add an env file to gitignore

* Remove unneeded pip install

* Hide pytest_cache

* Add pycache to gitignore

* Adds dev containers for vscode

* Adds testing information for vscode

* Uses .env file for tests if present

* Adds env example file

* Modify development container name

* Adds readme for the testing environment

* Add simple tests for http requests

* Add an env file to gitignore

* Remove unneeded pip install

* Adds dev containers for vscode

* Adds testing information for vscode

* Uses .env file for tests if present

* Adds env example file

* Modify development container name

* Adds readme for the testing environment

* Create helpers and conftest for python tests

* Setup for using test explorer in the dev environment

* Adding azure shell requirements to docker image

* Adding Python API tests

* Merges additional tests

* Made changes to fix tests that were failing

* Separate linux only tests from others

* Create a workflow for building test environments

* Make the docker user be the same as the vbox user id

* Set up to run the installer in docker

* Pick up different fs types in data_retention

* Change the build path for building lme container

* Install lme after build

* Make lme installer executable

* Set up the build for tests

* Add the cluster workflow for github actions

---------

Co-authored-by: Clint Baxley <clint.baxley-ctr@ecstech.com>
Co-authored-by: Rishi <rishi.aggarwal@associates.cisa.dhs.gov>

* Update PULL_REQUEST_TEMPLATE.md (#206)

Added instruction to select Issue in Development area so that the corresponding Issue is automatically closed when the PR is merged.

* Made changes to facilitate HTML Reports on test execution  (#211)

* Made changes to requirements.txt, ReadMe and gitignore to facilitate HTML reporting

* Fixed Typos on Readme

* Fixed Typos on Readme

* removed tags flag from nsg because it was preventing some rules from being created (#214)

Co-authored-by: Linda Lovero-Waterhouse <l.lovero-waterhouse@ecstech.com>

* Update PULL_REQUEST_TEMPLATE.md (#217)

Using keywords like "fixes" or "closes"  only auto-closes the corresponding issue if the PR is going to be merged into main.  

For PR's merged into release branches, we need to add the issue to the development box in the right sidebar in order to auto-close the issue.  

Added some documentation to clarify this.

* Create new workflow for automating the release process (#199)

* Github workflows for building environments (#195)

* Run the correct installer file

* Run the installer from the root directory

* Try a self hosted github runner

* Reduce logging for docker pull.

* Adds quiet flag to docker pull command

* Pull the images before expect to reduce run time

* Install docker early in order to speed up install

* Builds the right docker-compose file

* Increase timeout for linux install expect script

* Change timeout on expect script

* Change the way expect watches the script

* Expand the timeout when waiting for Elasticsearch

* Search for more output in the expect script

* Change the match for the dots in expect

* Change the regex for matching dots

* Change the output for catching dots

* Add chrome to Dockerfile for selenium

* Import selenium tests and run python tests

* Activate venv when running tests

* Correct path for venv in the container

* Correct path for venv in the container

* Running only linux tests

* Adjust scripts to run as a non super user

* Change the permissions on the output log to source for environment variables later

* Check for output log

* Make output log available to test instantiation

* Change pytest cache dir to home for user

* Change pytest cache dir to home for user

* Change pytest cache dir permissions

* Hide get-docker.sh from installs

* Cleanup test files in workflow

* Add the cluster workflow for github actions

* Adds a cluster build

* Run the test cluster in pwsh

* Fail pipeline when commands fail

* Catch the error from powershell

* Remove duplicate run command

* Set env vars explicitly

* Modify the escape char for env vars

* Try a different method of catching errors in pwsh script

* Check failure of pwsh script

* Test successful run of build_cluster

* Test failure of script

* Capture the output from the az commands

* Continue on error condition

* Simplify run command

* Try catching failures in a new way.

* Test failure capture

* Setting error action to continue

* Remove ErrorAction

* Use docker-compose run instead

* Capture exit code to fail step

* Try propigating errors from pwsh

* Capture external command exit code

* Send lastexitcode

* Don't exit right away

* Disable immediate stop on exit

* Run simple test for exit code

* Cd to docker compose file

* Catch exec exit code

* Remove unneded flags from the command

* Adds back in the build script

* Adds an explicit exit for powershell script

* Remove spaces after escape character

* Escape the exitcode variable in the shell command

* Remove extra exit from build_cluster.ps1

* Add a passing command for build_cluster.ps1

* Move to the install directory

* Run setup testbed to get an error

* Try to build a cluster with the build_cluster.ps1 script.

* Check resource group variable

* Set the resource group name differently

* Build a cluster using the generated resource group

* Make the paths relative in the build_cluster script

* Move to the right directory to do an install

* Destroy cluster on pipeline finish

* Change the owner of the files to match the host in the development container

* Su user to remove testing files

* Run the docker-compose as root to clean up

* Run as root to clean up containers

* Build the cluster in azure

* List the files in the current directory on exec

* Run the files from the new path

* Investigate more about the file environment

* Update the envornment for building the cluster

* Update the environment users before docker up

* Try to start hung job

* List all the files with their owners in the container

* Escape the powershell commands

* Check the paths and files with bash

* Find the path we are on

* Check powershell environment

* Cd to home directory in powershell

* Cd to home directory in powershell

* Rebuild docker compose as the right user

* Change directory to source directory for powershell

* Change to proper directory for powershell

* Build a full cluster in pipeline

* Run the linux tests and check permissions of files

* Change permissions on output file with sudo

* Turn off cluster creation for speed

* Comment out building cluster in steps

* Only delete the resource group if it exists

* Adds ability to get the public ip for fw rules

* Put the tags in quotes when creating nsg rules

* Output the command being run for nsg rules

* Remove tags for nsg port definitions

* Install lme on the cluster

* Builds the full cluster install

* Cleans up the useage of the environment variables in pipeline

* Extract environment variables from the build script and use them in the GitHub workflow.

* Do a minimal linux install

* Fix the path for retrieving env vars

* Check setting of github env

* Source the env file and push it to github env

* Print some debug information to the console

* Check setting of each key in functions

* Parse the output for the passwords better

* Uses a unique id instead of run_id to make sure it is unique

* Double quote the file name for sed in output.log

* Changes the way we get passwords from output.log

* Make sure key doesn't have newline

* Escape dollar sign

* Properly escape double quotes inside of docker-compose command

* Escape all of the dollar signs in the compose command

* Write the environment variables to the githut environment

* Clean up debugging output

* Remove more debugging output

* Remove set e

* Adds function to write passwords to a file for actions

* List files in directory after writing passwords

* Export the env vars in the github file

* Fail the workflow if the environment is not set correctly

* Clean up the environment vars for the container

* Set the variables on run of the pwsh command

* Run commands on the domain controller

* Get the envrionment checker to pass

* Update passing variables to remote script

* Escape the powershell environment variables

* Change the case of the resource group env var

* Don't destroy cluster so we can manually test

* Build the entire cluster to run commands against

* Run a command on the linux machine

* Run remote tests

* Run minimal installs to debug tests

* Fix escaping for test commands

* Move to the correct directory for tests

* Add continuation characters to the lines in the script

* Remove nested double quotes

* Uses the ip of LS1 to run the tests on

* Put the cluster build command on one line

* Destroy clusters at the end

* Quote output log correctly on build

* Run all api tests on cluster

* Build full cluster and add verbose logging to pytest

* Stop deleting the cluster in the destroy_cluster.ps1 script

* Modify installer to use the new winlogbeat index pattern

* Try to get the dns to resolve ls1

* Add ls1 to the hosts file so it resolves always

* Modify tests to pass on a working cluster

* Skip the fragile test for mapping

* Set up to run selenium tests on the cluster

* Testing

* Rerun build after rebasing to the right branch

* Pass the minimal install flag to install lme

* Build complete cluster and run all tests

* Pull the images quietly if running without a terminal.

* Run the simple tests on PR checkin and the longer ones when triggered

* Build the linux docker container upon check in of a pr

* Build lme container fresh before install

* Runs an end to end build in docker and cluster

* Print out the download feedback when pulling images

* Build 1.4.0 branch

* Build the cluster using the main branch of the repository

* Allow passing branch to installers from the pipeline

* Run tests from a different base branch

* Remove the ampersand typo

* Allow passing arguments to the installer scripts

* Rearrange install arguments

* Test passing arguments in install lme

* Build lme without arguments

* Install lme with no arguments

* Run command as string in install_lme.ps1

* Build by passing arguments

* Run a complete build using arguments

* Update the sources to allow for updating in the pipeline

* Build the cluster using the latest branch

* Set up the latest branch var

* Runs an upgrade in the pipeline

* Run the upgrade in the remote linux machine

* Run upgrade on minimal install

* Checks out the current branch to run an upgrade on linux

* Capture the exit code of the upgrade script

* Check the directories we are working in

* Clone the git repository to run the upgrade

* Checkout the proper branch from origin

* Get the remote username and home dir for the remote server

* Set the home directory for the az user

* Use origin when checking out in the upgrade script

* Revert the changes to deploy.sh

* Set a dumb terminal to avoid terminal errors

* Export the terminal variable correctly

* Capture the output of the upgrade script to fail pipeline if it fails

* Revert previous changes as they seemed to break upgrade

* Use a different format for executing the pwsh script

* Destroy the cluster when done

* Output the upgrade information to the terminal

* Try capturing the docker-compose output

* Directly capture the output of the compose command

* Fixes unbalanced quote

* Build and run full cluster with an upgrade

* Builds the current brand for the cluster

* Add a unique id for the docker-compose so you can run multiple instances of the same docker-compose file

* Adds upgrade.yml to gh workflows

* Runs both a build and an upgrade

* Adds upgrade to the gh workflows

* Get gh to notice new workflow

* Match build names to parent branch

* Trigger gh to see the workflow

* Get gh actions to trigger workflow

* Update code to get gh to see the actions

* Update code to use the new workflow module.

* Trigger gh actions to run

* Get gh to run workflows

* Try to get gh to run workflows

* Change upgrade branch pulling

* Checking out branch for upgrade in a new way

* Rename workflow for upgrade

* Convert to docker compose

* Run all three builds using docker compose and -p

* Clean up docker containers

* Build the docker containers fresh for the linux_only workflow

* Adds readme and checks an upgrade where the upgrade version is the same as the current version

* Fixes typo in the workflow file

* Runs docker as sudo

* Remove the privileged flag from the lme container

* Try leaving the swarm on the host if running in non privileged environment

* Leave the swarm on the host

* Reset to run docker as privileged

* Installs the current branch in linux only

* Stop pruning system to see if elastc starts faster

* Don't take down the docker containers to see why they aren't working

* Removes the gh actions shell escape vulnerability

* Remove the docker containers at end of run

* changing .github/README.md name to prevent it apperaing on main web page (#260)

* Append the flags to the end of the password file (#263)

* Append the flags to the end of the password file

* Prints the contents of password.txt to the console

* Extract the credentials in a new way to compensate for the flags being in the file

* Tests a build that runs locally on github

* Keep container running for debugging purposes

* Fix the credentials parsing function

* Create a workflow for a burndown chart (#302)

* Display the chart in the burndown summary
* Get workflow dispatch to show
* Adds defaults for the burndown chart workflow

* Clean up debugging information from the workflow (#310)

* Clean up debugging information from the workflow

* Increase column count to match the number of columns in the board.

* Break up selenium tests (#281)

* Adding selenium directory and readme

* Separate out the selenium tests so they can be run separately

* Run selenium tests in pipeline

* Puts the variables for env one to a line

* Issue # 289 selenium test for Computer Software Overview  dashboard (#290)

* Updated Selenium tests for Computer Overview Dashboard

* Updated Selenium tests for Computer Overview Dashboard

* Updated Selenium test scripts for Health Check Dashboard (#292)

* Set up selenium tests to run on cluster test

* Point tests to the proper test folder

* Update Selenium tests for Process Explorer Dashboard (#295)

* Rewrite completed for Selenium test scripts for Security Dashboard - Security Log (#300)

* Rewrote Selenium Tests for Sysmon Summary Dashboard (#301)

* Rewrite Selenium Tests for User HR Dashboard

* Rewrite of Selenium Tests for User Security Dashboard (#304)

---------

Co-authored-by: rishagg01 <149525835+rishagg01@users.noreply.github.com>
Co-authored-by: Rishi <rishi.aggarwal@associates.cisa.dhs.gov>

* API calls code for Data Insertion (#343)

* modified:   testing/tests/api_tests/helpers.py
	new file:   testing/tests/api_tests/selenium_tests/__init__.py
	new file:   testing/tests/api_tests/selenium_tests/conftest.py
	new file:   testing/tests/api_tests/selenium_tests/fixtures/hosts.json
	new file:   testing/tests/api_tests/selenium_tests/fixtures/logonevents.json
	new file:   testing/tests/api_tests/selenium_tests/queries/filter_hosts.json
	new file:   testing/tests/api_tests/selenium_tests/queries/filter_logonevents.json
	new file:   testing/tests/api_tests/selenium_tests/test_server.py

* commit	renamed:    testing/tests/api_tests/selenium_tests/__init__.py -> testing/tests/api_tests/data_insertion_tests/__init__.py
commit	renamed:    testing/tests/api_tests/selenium_tests/conftest.py -> testing/tests/api_tests/data_insertion_tests/conftest.py
commit	renamed:    testing/tests/api_tests/selenium_tests/fixtures/hosts.json -> testing/tests/api_tests/data_insertion_tests/fixtures/hosts.json
commit	renamed:    testing/tests/api_tests/selenium_tests/fixtures/logonevents.json -> testing/tests/api_tests/data_insertion_tests/fixtures/logonevents.json
commit	renamed:    testing/tests/api_tests/selenium_tests/queries/filter_hosts.json -> testing/tests/api_tests/data_insertion_tests/queries/filter_hosts.json
commit	renamed:    testing/tests/api_tests/selenium_tests/queries/filter_logonevents.json -> testing/tests/api_tests/data_insertion_tests/queries/filter_logonevents.json
commit	renamed:    testing/tests/api_tests/selenium_tests/test_server.py -> testing/tests/api_tests/data_insertion_tests/test_server.py
commit	modified:   testing/tests/api_tests/helpers.py

* Updated selenium tests for USER HR dashboard panels post data insertion (#358)

* adding ignore for vim files

* moving old readme to old_chapters directory

* moving chapters to old_chapters folder

* Committing Readme changes and updates and removing old backups directory

* Adding Configuration files for lme 2.0

* Adding Ansible Playbook Yaml for installing lme 2.0

* Committing Quadlet files for LME 2.0 arch

* Adding Scripts:

- download.sh/upload.sh: upload/download logs in mass from elasticsearch
  (will be integrated into future merging from 1 -> 2)
- link_latest_podman_quadlet.sh: links from the nix store the latest
  podman version into its expected directories
- set-fleet.sh: sets up the required fleet settings on kibana
- set_sysctl_limits.sh: sets the sysctl_limits as required by the
  architecture and containers
- install_lme_local.yml: sets up the ansible playbook for lme 2.0
  installation.

* move lme playbook to scripts directory

* pushing some more documentation to Readme

* initial diagram

* pushing updates to Readme to document ports/services/etc...

* Updated User HR Dashboard Selenium Test for User HR Logon Title panel (#385)

* Updated selenium tests for USER HR dashboard panels post data insertion

* Updated User HR Dashboard Selenium Test for User HR Logon Title panel

* Merge in the pipeline files

* Adds in the tesing installers

* Updates the paths to the LME install scripts

* Make the user create the environment file before doing install

* Make the lme-environment file so the install succeeds

* Adding pre-reqs to main testing/v2 readme

* Add some extra to the readme.

* Associate the nsg with the public ip

* Associate the nic instead of ip to the nsg

* Change default ports for nsg

* Update Caddyfile to include access log

* Adds back in some files from Chapter 3

---------

Co-authored-by: mitchelbaker-cisa <149098823+mitchelbaker-cisa@users.noreply.github.com>
Co-authored-by: Andrew Arz <149685528+aarz-snl@users.noreply.github.com>
Co-authored-by: Clint Baxley <clint.baxley-ctr@ecstech.com>
Co-authored-by: Alden Hilton <adhilto@sandia.gov>
Co-authored-by: unknown <admin.ackbar@LME.LOCAL>
Co-authored-by: Grant (SNL) <108766839+rgbrow1949@users.noreply.github.com>
Co-authored-by: Alden Hilton <106177711+adhilto@users.noreply.github.com>
Co-authored-by: Linda Waterhouse <82845774+llwaterhouse@users.noreply.github.com>
Co-authored-by: Linda Lovero-Waterhouse <l.lovero-waterhouse@ecstech.com>
Co-authored-by: Brown <rgbrow@sandia.gov>
Co-authored-by: mreeve-snl <mreeve@sandia.gov>
Co-authored-by: Rishi <rishi.aggarwal@associates.cisa.dhs.gov>
Co-authored-by: rishagg01 <149525835+rishagg01@users.noreply.github.com>
Co-authored-by: Connor <107427279+causand22@users.noreply.github.com>
  • Loading branch information
15 people authored Aug 8, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 92efe4214d405d18749f5434931f15199ea5049c
19 changes: 19 additions & 0 deletions .devcontainer/python_development/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "Python Development",
"dockerComposeFile": [
"../../testing/development/docker-compose.yml"
],
"service": "ubuntu",
"shutdownAction": "none",
"workspaceFolder": "/lme",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"littlefoxteam.vscode-python-test-adapter",
"ms-python.black-formatter"
]
}
},
"remoteUser": "admin.ackbar"
}
18 changes: 18 additions & 0 deletions .devcontainer/python_tests/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "Python Tests",
"dockerComposeFile": [
"../../testing/tests/docker-compose.yml"
],
"service": "ubuntu",
"shutdownAction": "none",
"workspaceFolder": "/app",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"littlefoxteam.vscode-python-test-adapter",
"ms-python.black-formatter"
]
}
}
}
19 changes: 9 additions & 10 deletions .github/ISSUE_TEMPLATE/bug-or-error-report.md
Original file line number Diff line number Diff line change
@@ -15,26 +15,25 @@ assignees: ''
If the above did not answer your question, proceed with creating an issue below:

## Describe the bug
A clear and concise description of what the bug is.
<!-- A clear and concise description of what the bug is. -->

## To Reproduce
Steps to reproduce the behavior. These should be clear enough that our team can understand your running environment, software/operating system versions, and anything else we might need to debug the issue.

An example of a usable reproducible list are shown in these issues: [Issue 1](https://github.com/cisagov/LME/issues/15) [Issue 2](https://github.com/cisagov/LME/issues/19).

To increase the speed and relevance of the reply we suggest you list down debugging steps you have tried, as well as the following information:
<!-- Steps to reproduce the behavior. These should be clear enough that our team can understand your running environment, software/operating system versions, and anything else we might need to debug the issue. -->
<!-- Good examples can be found here: [Issue 1](https://github.com/cisagov/LME/issues/15) [Issue 2](https://github.com/cisagov/LME/issues/19). -->

### Please complete the following information
**Desktop:**
#### **Desktop:**
- OS: [e.g. Windows 10]
- Browser: [e.g. Firefox Version 104.0.1]
- Software version: [e.g. Sysmon v15.0, Winlogbeat 8.11.1]

**Server:**
#### **Server:**
- OS: [e.g. Ubuntu 22.04]
- Software Versions:
- ELK: [e.g. 8.7.1]
- Docker: [e.g. 20.10.23, build 7155243]

**OPTIONAL**:
- The output of these commands:
```
free -h
@@ -52,7 +51,7 @@ Increase the number of lines if your issue is not present, or include a relevant
## Expected behavior
A clear and concise description of what you expected to happen.

## Screenshots
## Screenshots **OPTIONAL**
If applicable, add screenshots to help explain your problem.

## Additional context
Original file line number Diff line number Diff line change
@@ -9,6 +9,9 @@
<!-- What problem does this change solve? How did you solve it? -->
<!-- Mention any related issue(s) here using appropriate keywords such -->
<!-- as "closes" or "resolves" to auto-close them on merge. -->
<!-- If this PR is *not* being merged into main, the related issues will not -->
<!-- be auto-closed, so you need to add the issue into the Development box -->
<!-- in the right sidebar -->

### 📷 Screenshots (DELETE IF UNAPPLICABLE)

@@ -22,6 +25,7 @@

- [ ] Changes are limited to a single goal **AND**
the title reflects this in a clear human readable format
- [ ] Issue that this PR solves has been selected in the Development section
- [ ] I have read and agree to LME's [CONTRIBUTING.md](https://github.com/cisagov/LME/CONTRIBUTING.md) document.
- [ ] The PR adheres to LME's requirements in [RELEASES.md](https://github.com/cisagov/LME/RELEASES.md#steps-to-submit-a-PR)
- [ ] These code changes follow [cisagov code standards](https://github.com/cisagov/development-guide).
@@ -31,9 +35,9 @@

- [ ] All tests pass
- [ ] PR has been tested and the documentation for testing is above
- [ ] Squash and merge all commits into one PR level commit

## ✅ Post-merge Checklist

- [ ] Squash all commits into one PR level commit
- [ ] Delete the branch to keep down number of branches

1 change: 1 addition & 0 deletions .github/README-github.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
See the readme in `testing/development` for more information about these workflows and how to develop for them.
22 changes: 22 additions & 0 deletions .github/changelog-configuration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"categories": [
{
"title": "## What's Added",
"labels": ["feat"],
},
{
"title": "## What's Fixed",
"labels": ["fix"],
},
{
"title": "## What's Updated",
"labels": ["update"],
},
{
"title": "## Uncategorized",
"labels": [],
},
],
"template": "#{{CHANGELOG}}",
"pr_template": "* #{{TITLE}} by @#{{AUTHOR}} in ##{{NUMBER}}"
}
49 changes: 49 additions & 0 deletions .github/workflows/build_release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
on:
workflow_dispatch:
inputs:
version:
description: "Release version (e.g., 1.1.0)"
required: true
type: string

name: Build Release

jobs:
build-release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Get current date
id: date
run: |
echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_ENV

- name: Build Assets
run: git ls-files | zip LME-${{ inputs.version }}.zip -@

- name: Build Changelog
id: release
uses: mikepenz/release-changelog-builder-action@v4.1.1
with:
toTag: "release-${{ inputs.version }}"
configuration: ".github/changelog-configuration.json"
failOnError: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create Draft Release
uses: softprops/action-gh-release@v0.1.15
with:
name: LME v${{ inputs.version }}
tag_name: v${{ inputs.version }}
body: |
## [${{ inputs.version }}] - Timberrrrr! - ${{ env.date }}
${{ steps.release.outputs.changelog }}
files: LME-${{ inputs.version }}.zip
draft: true
prerelease: false
discussion_category_name: "Announcements"
generate_release_notes: false
fail_on_unmatched_files: true
100 changes: 100 additions & 0 deletions .github/workflows/burndown_chart.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: Burndown Chart

on:
workflow_dispatch:
inputs:
start_date:
description: 'Sprint start date (YYYY-MM-DD)'
required: true
default: '2024-05-09'
type: string
end_date:
description: 'Sprint end date (YYYY-MM-DD)'
required: true
default: '2024-05-25'
type: string
view:
description: 'View number'
required: true
default: '1'
type: string
pull_request:
branches:
- '*'

jobs:
create_chart:
runs-on: ubuntu-latest
env:
UNIQUE_ID:
start_date:
end_date:
view:

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

- 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
echo "view=${{ github.event.inputs.view }}" >> $GITHUB_ENV

- name: Run Docker Build
run: docker compose -p ${{ env.UNIQUE_ID }} -f testing/project_management/docker-compose.yml build burndown --no-cache

- name: Run Docker Compose
env:
BURNDOWN_TOKEN: ${{ secrets.BURNDOWN_TOKEN }}
run: docker compose -p ${{ env.UNIQUE_ID }} -f testing/project_management/docker-compose.yml up -d

- name: List docker containers to wait for them to start
run: |
docker ps

- name: Set up the burndown chart config
env:
BURNDOWN_TOKEN: ${{ secrets.BURNDOWN_TOKEN }}
UNIQUE_ID: ${{ env.UNIQUE_ID }}
START_DATE: ${{ env.start_date }}
END_DATE: ${{ env.end_date }}
VIEW: ${{ env.view }}
run: |
cd testing/project_management
docker compose -p ${{ env.UNIQUE_ID }} exec -T burndown bash -c '
/lme/testing/project_management/setup_config.sh -s ${{ env.START_DATE }} -e ${{ env.END_DATE }} -v ${{ env.VIEW }} -f /github-projects-burndown-chart/src/github_projects_burndown_chart/config/config.json
sed -i "s/\"github_token\": \"\"/\"github_token\": \"$BURNDOWN_TOKEN\"/g" /github-projects-burndown-chart/src/github_projects_burndown_chart/config/secrets.json
cat /github-projects-burndown-chart/src/github_projects_burndown_chart/config/config.json
'

- name: Run the burndown chart script
run: |
cd testing/project_management
docker compose -p ${{ env.UNIQUE_ID }} exec -T burndown bash -c '
python3 /github-projects-burndown-chart/src/github_projects_burndown_chart/main.py organization LME --filepath /lme/burndown.png
'
- name: Upload chart artifact
uses: actions/upload-artifact@v4
with:
name: burndown
path: burndown.png

- name: Cleanup Docker Compose
if: always()
run: |
cd testing/project_management
docker compose -p ${{ env.UNIQUE_ID }} down
# docker system prune -a --force
Loading