This is an automated email from the ASF dual-hosted git repository. lahirujayathilake pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airavata.git
commit c965eb82e5ed8233ae88418c00dc78aa89a2b032 Merge: d8bcee8ece 201fe322b3 Author: Lahiru Jayathilake <[email protected]> AuthorDate: Tue Feb 25 15:23:28 2025 -0500 Merge pull request #455 from apache/agent-framewok-refactoring Agent Framework Impl, KC upgrade, File Server Impl, & SSH library Upgrade airavata-api/airavata-api-server/pom.xml | 8 +- .../airavata-cpp-sdk/src/main/resources/LICENSE | 4 +- .../iam-admin-services-core/pom.xml | 20 +- .../core/impl/TenantManagementKeycloakImpl.java | 5 +- .../profile-service-commons/pom.xml | 6 + airavata-services/services-security/pom.xml | 6 +- dev-tools/ansible/kafka-rest-proxy.yml | 27 + dev-tools/ansible/zookeeper.yml | 27 + dev-tools/deployment/jupyterhub/Dockerfile | 15 + .../deployment/jupyterhub/docker-compose.yaml | 24 + .../deployment/jupyterhub/jupyterhub_config.py | 71 + dev-tools/deployment/jupyterhub/nginx-conf | 36 + .../jupyterhub/user-container/MD/Dockerfile | 26 + .../user-container/MD/build-container.sh | 2 + .../jupyterhub/user-container/MD/data/b4pull.pdb | 97198 ++++++++++++ .../user-container/MD/data/b4pull.restart.coor | Bin 0 -> 2332708 bytes .../user-container/MD/data/b4pull.restart.vel | Bin 0 -> 2332708 bytes .../user-container/MD/data/b4pull.restart.xsc | 3 + .../user-container/MD/data/par_all36_water.prm | 115 + .../user-container/MD/data/par_all36m_prot.prm | 3435 + .../user-container/MD/data/pull_cpu.conf | 100 + .../user-container/MD/data/pull_gpu.conf | 100 + .../jupyterhub/user-container/MD/data/sample.txt | 1 + .../user-container/MD/data/structure.pdb | 97198 ++++++++++++ .../user-container/MD/data/structure.psf | 147335 ++++++++++++++++++ .../jupyterhub/user-container/MD/init.sh | 15 + .../user-container/MD/labconfig/__init__.py | 0 .../MD}/labconfig/airavata_magics.py | 140 +- .../user-container/MD/labconfig/bootstrap.sh | 2 + .../user-container/MD/labconfig/device_auth.py | 58 + .../user-container/MD/labconfig/ipython_startup.py | 12 + .../MD/labconfig/jupyter_lab_config.py | 25 + .../jupyterhub/user-container/MD/poc.ipynb | 395 + .../jupyterhub/user-container/MD/settings.ini | 17 + .../{connection-service => agent-service}/pom.xml | 42 +- .../main/assembly/agent-service-bin-assembly.xml} | 3 +- .../service/AgentServiceApplication.java} | 6 +- .../agent/connection/service/UserContext.java | 0 .../service/config/AuthzTokenFilter.java | 0 .../service/config/ClusterApplicationConfig.java | 0 .../service/controllers/AgentController.java | 43 +- .../service/controllers/ExperimentController.java | 27 +- .../service/controllers/PlanController.java | 90 + .../service/db/entity/AgentDeploymentInfo.java | 59 + .../service/db/entity/AgentExecution.java | 48 + .../service/db/entity/AgentExecutionStatus.java | 76 + .../agent/connection/service/db/entity/Plan.java | 55 + .../service/db/repo/AgentDeploymentInfoRepo.java | 9 + .../service/db/repo/AgentExecutionRepo.java | 9 + .../service/db/repo/AgentExecutionStatusRepo.java | 9 + .../agent/connection/service/db/repo/PlanRepo.java | 13 + .../service/handlers/AgentConnectionHandler.java} | 78 +- .../service/handlers/AgentManagementHandler.java} | 37 +- .../connection/service/handlers/FuseFSHandler.java | 0 .../connection/service/handlers/PlanHandler.java | 35 + .../connection/service/models/AgentCommandAck.java | 0 .../service/models/AgentCommandRequest.java | 0 .../service/models/AgentCommandResponse.java | 0 .../service/models/AgentInfoResponse.java | 0 .../service/models/AgentPythonRunAck.java} | 2 +- .../service/models/AgentPythonRunRequest.java | 61 + .../service/models/AgentPythonRunResponse.java} | 2 +- .../connection/service/models/AgentTunnelAck.java | 0 .../service/models/AgentTunnelCreationRequest.java | 0 .../connection/service/models/DirectoryInfo.java | 0 .../service/models/ExperimentStorageResponse.java | 0 .../agent/connection/service/models/FileInfo.java | 0 .../service/models/JupyterExecutionAck.java | 0 .../service/models/JupyterExecutionRequest.java | 0 .../service/models/JupyterExecutionResponse.java | 0 .../service/models/LaunchAgentRequest.java | 15 + .../service/models/LaunchAgentResponse.java | 9 + .../service/models/TerminateAgentResponse.java | 0 .../service/services/AiravataFileService.java | 0 .../service/services/AiravataService.java | 14 +- .../src/main/proto/agent-communication.proto | 54 +- .../src/main/proto/airavata-fuse.proto | 0 .../src/main/resources/application.yml | 37 + .../distribution/bin/agent-service-daemon.sh} | 10 +- .../resources/distribution/bin/agent-service.sh} | 6 +- .../src/main/resources/distribution/bin/setenv.sh | 0 .../resources/distribution/conf/application.yml | 20 +- .../main/resources/distribution/conf/log4j2.xml | 53 + .../resources/distribution/conf/truststore.jks | Bin .../src/main/resources/truststore.jks | Bin .../airavata-agent/agent-communication.proto | 38 +- modules/agent-framework/airavata-agent/agent.go | 361 +- .../airavata-agent/build-container.sh | 4 +- modules/agent-framework/airavata-agent/go.mod | 2 +- .../airavata-agent/jupyter/Dockerfile | 5 +- .../airavata-agent/jupyter/README.md | 4 +- .../airavata-agent/jupyter/build-jupyter-image.sh | 1 + .../jupyter/deployments/cerebrum/README.md | 24 + .../deployments/cerebrum/v1l4/agent/Dockerfile | 61 + .../cerebrum/v1l4/agent/build-container.sh | 6 + .../v1l4/agent/v1l4/bkg/bkg_spikes_250Hz_3s.h5 | Bin 0 -> 133346 bytes .../cerebrum/v1l4/agent/v1l4/config_nest.json | 54 + .../v1l4/agent/v1l4/description/config.json | 537 + .../agent/v1l4/description/config_template.json | 283 + .../v1l4/agent/v1l4/description/custom_mod.json | 5858 + .../agent/v1l4/description/db_connect_output.json | 70675 +++++++++ .../deployments/cerebrum/v1l4/docker-agent.sh | 10 + .../cerebrum/v1l4/jupyterlab}/Dockerfile | 7 +- .../v1l4/jupyterlab/build-jupyter-image.sh | 1 + .../cerebrum/v1l4/jupyterlab/labconfig/__init__.py | 0 .../v1l4/jupyterlab}/labconfig/airavata_magics.py | 109 +- .../v1l4/jupyterlab/labconfig/bootstrap.sh | 2 + .../jupyterlab/labconfig/jupyter_lab_config.py | 25 + .../v1l4/jupyterlab/run-jupyter-lab-container.sh | 1 + .../jupyter/deployments/i-guide/agent/Dockerfile | 24 + .../jupyter/deployments/i-guide/agent/README.md | 14 + .../deployments/i-guide/agent/build-container.sh | 6 + .../jupyter/deployments/i-guide/agent/dam_list.csv | 346 + .../deployments/i-guide/agent/docker-agent.sh | 4 + .../jupyter/deployments/i-guide/agent/kernel.py | 145 + .../sample_data/NID_FIM_MH_F/MH_F_CA10022.tiff | Bin 0 -> 365941 bytes .../sample_data/NID_FIM_NH_F/NH_F_CA10022.tiff | Bin 0 -> 27506 bytes .../sample_data/NID_FIM_TAS_F/TAS_F_CA10022.tiff | Bin 0 -> 232386 bytes .../sample_data/census_geometry/census_data.csv | 83510 ++++++++++ .../census_geometry/census_tract_from_api.geojson | 9115 ++ .../census_geometry/tl_2020_06_tabblock20.geojson | 12896 ++ .../deployments/i-guide/jupyterlab/Dockerfile | 27 + .../i-guide/jupyterlab/build-jupyter-image.sh | 1 + .../i-guide/jupyterlab/labconfig/__init__.py | 0 .../jupyterlab}/labconfig/airavata_magics.py | 140 +- .../i-guide/jupyterlab/labconfig/bootstrap.sh | 2 + .../i-guide/jupyterlab/labconfig/device_auth.py | 58 + .../jupyterlab/labconfig/jupyter_lab_config.py | 25 + .../jupyterlab/run-jupyter-lab-container.sh | 1 + .../airavata-agent/jupyter/kernel.py | 97 +- .../jupyter/labconfig/airavata_magics.py | 118 +- .../airavata-agent/jupyter/magic.ipynb | 2 +- .../protos/agent-communication.pb.go | 707 +- .../src/main/resources/application.yml | 19 - modules/agent-framework/pom.xml | 2 +- modules/airavata-helix/agent-api/pom.xml | 11 +- .../apache/airavata/agents/api/AdaptorParams.java | 3 +- modules/airavata-helix/helix-spectator/pom.xml | 2 +- .../airavata/helix/impl/task/AiravataTask.java | 2 +- modules/airavata-helix/task-api/pom.xml | 4 + modules/commons/pom.xml | 5 +- .../src/main/resources/SLURM_Groovy.template | 6 +- modules/distribution/pom.xml | 65 +- .../src/main/assembly/controller-bin-assembly.xml | 4 + .../main/assembly/email-monitor-bin-assembly.xml | 4 +- .../src/main/assembly/parser-wm-bin-assembly.xml | 1 + .../src/main/assembly/participant-bin-assembly.xml | 4 +- .../src/main/assembly/post-wm-bin-assembly.xml | 3 + .../src/main/assembly/pre-wm-bin-assembly.xml | 3 + .../assembly/realtime-monitor-bin-assembly.xml | 2 + .../src/main/resources/api-server/LICENSE | 4 +- modules/file-server/pom.xml | 81 + .../main/assembly/file-service-bin-assembly.xml} | 6 +- .../file/server/FileServerApplication.java | 16 + .../file/server/FileServerConfiguration.java | 47 + .../file/server/controller/FileController.java | 89 + .../file/server/model/AiravataDirectory.java | 49 + .../airavata/file/server/model/AiravataFile.java | 47 + .../file/server/model/FileUploadResponse.java | 47 + .../file/server/service/AirvataFileService.java | 113 + .../file/server/service/ProcessDataManager.java | 57 + .../src/main/resources/application.properties | 12 + .../distribution/bin/file-service-daemon.sh} | 14 +- .../resources/distribution/bin/file-service.sh} | 6 +- .../src/main/resources/distribution/bin/setenv.sh | 0 .../distribution/conf/application.properties | 12 + .../main/resources/distribution/conf/log4j2.xml | 53 + modules/ide-integration/README.md | 3 + .../app/libraries/Keycloak/Keycloak.php | 2 +- .../app/tests/selenium/pom.xml | 5 - .../main/resources/keystores/client_truststore.jks | Bin 1258 -> 2282 bytes .../registry/registry-tools/registry-tool/pom.xml | 1 - .../sharing-registry-distribution/pom.xml | 6 + pom.xml | 25 +- tools/load-client/pom.xml | 4 +- 175 files changed, 532740 insertions(+), 753 deletions(-)
