From 0db256c3e77609a23cd742ab64a96a86f29f61a8 Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Sat, 25 Nov 2023 22:42:06 +0100 Subject: [PATCH 1/3] Patchmanagement --- sabi-boundary/pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sabi-boundary/pom.xml b/sabi-boundary/pom.xml index bfd3d80..c16c9d8 100644 --- a/sabi-boundary/pom.xml +++ b/sabi-boundary/pom.xml @@ -42,13 +42,13 @@ 5.1.0.Final 1.5.4 2.2.0 - 8.4.2 + 9.0.0 4.0.0-M2 - 3.3.1 + 3.3.2 4.0.0-M9 3.11.0 - 3.3.0 - 2.16.1 + 3.5.0 + 2.16.2 From d7396664f725709eebbe7fdfca365f36b769f9ea Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Mon, 25 Dec 2023 23:11:22 +0100 Subject: [PATCH 2/3] Sabi 146 (#147) * sabi-146 Open Project to Freshwater-Users - OWASP Patch Management. Introduced API-Key Usage for OWASP. - Restructured project documentation. - PatchManagement - Introduced Property WaterType on Tanks --- CONTRIBUTING.md | 8 +- DEVELOPERS_MANUAL.md | 183 +++++++++++++++++ README.md | 194 ++---------------- captcha/pom.xml | 16 +- ...g4j2-spring-test.xml => log4j2-spring.xml} | 0 devops/ansible/hosts | 6 + devops/ansible/prometheus.service | 2 +- devops/sabi_docker_sdk/grafanaData/grafana.db | Bin 1122304 -> 1122304 bytes sabi-boundary/pom.xml | 17 +- .../de/bluewhale/sabi/model/AquariumTo.java | 5 +- .../de/bluewhale/sabi/model/WaterType.java | 35 ++++ sabi-server/pom.xml | 31 +-- .../device/pi/PisCPUTemperatureProbe.java | 3 +- .../bluewhale/sabi/mapper/AquariumMapper.java | 2 + .../persistence/model/AquariumEntity.java | 9 +- .../de/bluewhale/sabi/BasicDataFactory.java | 4 + .../de/bluewhale/sabi/TestDataFactory.java | 5 +- .../sabi/services/TankServiceTest.java | 7 +- sabi-webclient/pom.xml | 18 +- .../webclient/controller/TankListView.java | 14 +- .../bluewhale/sabi/webclient/model/Units.java | 5 +- .../META-INF/resources/impressum.xhtml | 1 - .../resources/secured/tankEditor.xhtml | 9 + .../META-INF/resources/secured/tankView.xhtml | 4 + .../main/resources/i18n/messages.properties | 3 + .../resources/i18n/messages_de.properties | 3 + .../resources/i18n/messages_en.properties | 5 +- 27 files changed, 360 insertions(+), 229 deletions(-) create mode 100644 DEVELOPERS_MANUAL.md rename captcha/src/test/resources/{log4j2-spring-test.xml => log4j2-spring.xml} (100%) create mode 100644 sabi-boundary/src/main/java/de/bluewhale/sabi/model/WaterType.java diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1e92631..5e4941b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,10 +12,11 @@ Those ones with the highest count have better chances for being scheduled for th ## As a Developer -Seek contact, let me know if you plan to work on something, to avoid double work. +Seek contact, let me know if you plan to work on something to avoid double work. +For setting up your local environment please follow the [DEVELOPERS_MANUAL.md](DEVELOPERS_MANUAL.md) ### Branching, Merging -Fork the projekt, for being able to create pull requests. +Fork the project for being able to create pull requests. Please work along the issue log and create feature-branches and use pull requests. Don't start huge refactorings especially on architectural design (those are only accepted if we agree upon them, @@ -30,4 +31,5 @@ Look especially for features marked with "HELP WANTED" ## As a Sponsor Any support in terms of infrastructure, software licences or donations are welcome. -I plan to integrate a sponsor credit screen or something like this. +I plan to integrate a sponsor credit screen or something like this, when a critical +user base will be reached. diff --git a/DEVELOPERS_MANUAL.md b/DEVELOPERS_MANUAL.md new file mode 100644 index 0000000..e3a0463 --- /dev/null +++ b/DEVELOPERS_MANUAL.md @@ -0,0 +1,183 @@ +# Developers Manual + +The following helps new developers to setup the required local build environment. + +## Technology Stack + +[![CodeQL](https://github.com/StefanSchubert/sabi/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/StefanSchubert/sabi/actions/workflows/codeql-analysis.yml) +[![Java CI with Maven](https://github.com/StefanSchubert/sabi/actions/workflows/maven.yml/badge.svg)](https://github.com/StefanSchubert/sabi/actions/workflows/maven.yml) + +## Architectural Notes + +Before starting to contribute on this project, make sure that you have read the architectural notes in the [wiki](https://github.com/StefanSchubert/sabi/wiki) which +are based upon arc42 templates. + +### Common + +* Java 21 +* openAPI3 (Swagger) via springdoc-v2 +* ARM-Platform (raspberryPis) +* IPv6 DynDNS (at least for the start) + +### Client site +As you desire, the server API will be open, so that everyone might develop their own client or interface their existing product against sabi. However to start with this project involves a + +* JSF2.3 based WebClient +* Primefaces 13.x +* Spring-Boot-3 + +Why JSF and not some current modern framework like angular or VUE? In fact, it took me quite a while to came to a decision here. +The two main reasons for me are: + +(Please read also: https://github.com/StefanSchubert/sabi/wiki/09.-Design-Decisions#92-frontend-technology - as I changed my mind a bit on this in between) + +* I don't believe that the traffic will be that big, that the server (though a rasperryPi at the beginnig) can't handle it, so that I need to shift the resources (session, logic) rather to the client side. +* Though since 2014-2017 it became rather quiet around the mature JSF technology (at least according the web barometers), I see today more JSF based applications in business life, that needs maintenance than writing new angular ones. So I decided to improve my skills in JSF again. + +### Server side +* Spring-Boot 3 Application +* REST +* JPA 2.x (Eclipselink instead of Hibernate) +* jUnit +* MariaDB 10.x + +---- + +## Setting up the development environment + +With a look at [Building-Block View](https://github.com/StefanSchubert/sabi/wiki/05.-Building-Block-View) from the arc42 documentation you see that sabi is not just a single app but consists of using several modules that are configured to work together. Your environment might look different, depending on which module you intent to work on, but the good news is that we already rely on docker here, which makes the setup for you so much easier. + +### Preconditions + +* You have a JDK21 and current Maven installed +* You have docker installed on your machine, and you know docker usage fairly well. +* As we are using the org.owasp dependency check you will required to register yourself at https://nvd.nist.gov/ + to get an API-KEY, which you can store in the properties section of your local settings.xml like this: + + + YOUR_API_KEY + + +#### Prepare your local docker environment + +Do some maven builds in the following order: +1. mvn package on captcha-light +2. mvn install on sabi-boundary +3. mvn package on sabi-server + +Next you run this script: + + devops/sabi_docker_sdk/copyjars.sh + +Which makes sure that the docker container gets the required jar module assets. + +### DEV-Environment for a frontend engineer working on sabi-webclient module + +That's fairly easy. Go to devops/sabi_docker_sdk have a look into the docker-compose.yml. +You may need to do some port tweaking in case it collides with your personal environment, but all you need to do is a + +`docker-compose up -d` + +and there you are. Give it 2 min for the services to come up and then your you can access + +* the swagger-APIs here: + * Captcha: http://localhost:8081/captcha/swagger-ui.html + * Sabi-Service: http://localhost:8080/sabi/swagger-ui.html + +* the Faked SMTP Server to Catch all Registration-Workflow Emails: + * http://localhost:5080 + +* the database (though you won't need it) via your favorite DB-Browser here: + * User: sabiapp / Password: sabi123 + * jdbc:mariadb://localhost:3306/sabi + +Now you can pick up your favourite IDE (as the module is maven based), and +launch +`sabi-webclient/src/main/java/de/bluewhale/sabi/webclient/SpringPrimeFacesApplication.java` + +After that you can access the current's frontend stage at: + + http://localhost:8088/index.xhtml + +You may login with the following test user: + + sabi@bluewhale.de/clibanarius + +or register a new one. + +### Dev-Environment for a backend engineer to work on sabi-server. + +#### Preparations + +Do all the steps above which are required as frontend-engineer. + +Understand when working on sabi-boundary than you need to do a maven install +so that maven builds of sabi-server and sabi-webclient can fetch your changes. + +#### Database-Evolution + +Schema evolution follows the flyway approach, as all changes will be rolled out to production only through flyway. +Meaning pre-existing scripts in + +`sabi-database/src/main/resources/db/migration/version*` + +are immutable to you, you require to add a new one for any changes. + +##### Add the following profile to your maven settings.xml + +To ease the work with flyway you shoud add the following snippet to your maven profile or settings.xml: + +``` + + + + db_local_secrets_sabi + + false + + + sabi + localhost + 3306 + sabiapp + sabi123 + + + +``` + +##### Used maven goals on module sabi_database + +| Maven command | Purpose | +| ------------- |-------------| +| mvn clean install -P configure_flyway db_local_secrets_sabi | Setup/Reinstall the database schema | +| mvn flyway:migrate -P configure_flyway db_local_secrets_sabi | Apply Schema changes | +| mvn flyway:validate -P configure_flyway db_local_secrets_sabi | Validate schema | +| mvn flyway:repair -P configure_flyway db_local_secrets_sabi | Repair flyway metadata | + + +#### Working on sabi-server + +Nothing very special here, except two things you need to know: + +##### Junit testing. + +Introducing new functionalities require addition of junit test. + +As we are using eclipselink you must add a specific javaagent, when running your tests. See section prepare your IDE below for it: + + +##### Preparing your productive and IDE environment + +Because of eclipselink we are using weaving at runtime which requires the following vm option: + +``` +-javaagent:/PATH_TO_YOUR_MAVEN_REPOSITORY/org/springframework/spring-instrument/6.1.2/spring-instrument-6.1.2.jar +``` + +You will need the agent for the springboot application run-config in your IDE as well as VM parameter for you +test runner config. **Please verify** that you use the correct version as derived from pom.xml dependency tree, as you may require +to adopt the javaagent string above to suite to your version. +You may also need to adopt your setting if that version in the pom changes because of patch management. + + diff --git a/README.md b/README.md index e081abe..20a92ff 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,9 @@ I declare the Sabi Project climate-friendly because of: ### Stage I -Being able to collect the basic values and to display them in a rather static reporting manner. +Being able to collect the basic values and to display them in a rather static reporting manner. (**Reached**) + +**Next:** Transistion to Stage II. Precondition: at least 50 registered users. ### Stage II @@ -62,200 +64,28 @@ Document insights gained through this project. If possible try to make forecasts ### Possible NON-Scientific extensions -I have some siblings in my nano reef tank and need to do some gardening. But where to with the siblings? Where are all the other aquarists and is there someone nearby? They are organized in standard internet forums, but what if there are someone near but not located in the same forum I use (more or less frequently). If they all could be motivated using sabi it should be possible to introduce them to each other for nearby support purposes. +Solution for: +* I have some siblings in my nano reef tank and need to do some gardening. But where to with the siblings? Where are all the other aquarists and is there someone nearby? They are organized in standard internet forums, but what if there are someone near but not located in the same forum I use (more or less frequently). If they all could be motivated using sabi it should be possible to introduce them to each other for nearby support purposes. ## Release Planning Just have a look at the [Milestones](https://github.com/StefanSchubert/sabi/milestones?direction=asc&sort=due_date&state=open) from the Issue Board -## Latest project news +## Project history | Date | News | |---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 31th Dez 2023 | Introduced Support for fresh-water tanks. | | 05th Nov 2023 | Service Release (Patchmanagement - e.g. Java 21) | | 09th Apr 2023 | Hotfix Release (i18n issues) | | 18th Dez 2022 | Feature Release (Reminder Service) / Technical Migration to Spring-Boot 3 / Marks Sabi-Version 1.2.0 | | 7th Okt 2022 | Released Plague-Center. All required base workflows have been implemented. This marks version 1.0.0 of sabi. | | 22nd Jul 2022 | Article about SABI has been published in the journal "KORALLE", Issue Nr. 136. 😊 Available on start of August. Many Thanks goes to Daniel Knop! | -| 26th Feb 2022 | Official Softlaunch Day of the project. Starting with a twitter announcement. Going to spread the word in selected forums in the next days, hoping to get some Beta-Testers, Fellow-Coders and to collect valuable feedback. | +| 26th Feb 2022 | Official Softlaunch Day of the project. Starting with a twitter announcement. Going to spread the word in selected forums in the next days, hoping to get some Beta-Testers, Fellow-Coders and to collect valuable feedback. | | 27th Mai 2021 | I managed to replace the self-signed TLS cert with a let's encrypt based one. This gets us rid of the browsers insecure warning. | | 16th Mai 2021 | **Sneak Preview** available on https://sabi-project.net (Notice: Only available if you have an **IPV6 Internet-Connection** (your mobile with wlan switched off should do it, if your home has only the half internet available). As of the zero budget start we have a self signed TLS resulting in a browsers insecure warning. Still some bugs of course (see issue list), and features left till release 1.0 but it's already usable. In case you decide to create an account...it's already the production environment ;-) i.e. your data will be kept. | -## Technology Stack - -[![CodeQL](https://github.com/StefanSchubert/sabi/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/StefanSchubert/sabi/actions/workflows/codeql-analysis.yml) -[![Java CI with Maven](https://github.com/StefanSchubert/sabi/actions/workflows/maven.yml/badge.svg)](https://github.com/StefanSchubert/sabi/actions/workflows/maven.yml) - -#### Notice on the red code analytic status: -* Code-QL due to everlasting timeouts by github to downloading CVEs databases. - -### Common - -* Java 21 -* openAPI3 (Swagger) via springdoc-v2 -* ARM-Platform (raspberryPis) -* IPv6 DynDNS (at least for the start) - -### Client site -As you desire, the server API will be open, so that everyone might develop their own client or interface their existing product against sabi. However to start with this project involves a - -* JSF2.3 based WebClient -* Primefaces 13.x -* Spring-Boot-3 - -Why JSF and not some current modern framework like angular or VUE? In fact, it took me quite a while to came to a decision here. -The two main reasons for me are: - -(Please read also: https://github.com/StefanSchubert/sabi/wiki/09.-Design-Decisions#92-frontend-technology - as I changed my mind a bit on this in between) - -* I don't believe that the traffic will be that big, that the server (though a rasperryPi at the beginnig) can't handle it, so that I need to shift the resources (session, logic) rather to the client side. -* Though since 2014-2017 it became rather quiet around the mature JSF technology (at least according the web barometers), I see today more JSF based applications in business life, that needs maintenance than writing new angular ones. So I decided to improve my skills in JSF again. - -### Server side -* Spring-Boot 3 Application -* REST -* JPA 2.x (Eclipselink instead of Hibernate) -* jUnit -* MariaDB 10.x - ----- - -## Setting up the development environment - -With a look at [Building-Block View](https://github.com/StefanSchubert/sabi/wiki/05.-Building-Block-View) from the arc42 documentation you see that sabi is not just a single app but consists of using several modules that are configured to work together. Your environment might look different, depending on which module you intent to work on, but the good news is that we already rely on docker here, which makes the setup for you so much easier. - -### Preconditions - -* You have a JDK21 and current Maven installed -* You have docker installed on your machine, and you know docker usage fairly well. - -#### Prepare your local docker environment - -Do some maven builds in the following order: -1. mvn package on captcha-light -2. mvn install on sabi-boundary -3. mvn package on sabi-server - -Next you run this script: - - devops/sabi_docker_sdk/copyjars.sh - -Which makes sure that the docker container gets the required jar module assets. - -### DEV-Environment for a frontend engineer working on sabi-webclient module - -That's fairly easy. Go to devops/sabi_docker_sdk have a look into the docker-compose.yml. -You may need to do some port tweaking in case it collides with your personal environment, but all you need to do is a - -`docker-compose up -d` - -and there you are. Give it 2 min for the services to come up and then your you can access - -* the swagger-APIs here: - * Captcha: http://localhost:8081/captcha/swagger-ui.html - * Sabi-Service: http://localhost:8080/sabi/swagger-ui.html - -* the Faked SMTP Server to Catch all Registration-Workflow Emails: - * http://localhost:5080 - -* the database (though you won't need it) via your favorite DB-Browser here: - * User: sabiapp / Password: sabi123 - * jdbc:mariadb://localhost:3306/sabi - -Now you can pick up your favourite IDE (as the module is maven based), and -launch -`sabi-webclient/src/main/java/de/bluewhale/sabi/webclient/SpringPrimeFacesApplication.java` - -After that you can access the current's frontend stage at: - - http://localhost:8088/index.xhtml - -You may login with the following test user: - - sabi@bluewhale.de/clibanarius - -or register a new one. - -### Dev-Environment for a backend engineer to work on sabi-server. - -#### Preparations - -Do all the steps above which are required as frontend-engineer. - -Understand when working on sabi-boundary than you need to do a maven install -so that maven builds of sabi-server and sabi-webclient can fetch your changes. - -#### Database-Evolution - -Schema evolution follows the flyway approach, as all changes will be rolled out to production only through flyway. -Meaning pre-existing scripts in - -`sabi-database/src/main/resources/db/migration/version*` - -are immutable to you, you require to add a new one for any changes. - -##### Add the following profile to your maven settings.xml - -To ease the work with flyway you shoud add the following snippet to your maven profile or settings.xml: - -``` - - - - db_local_secrets_sabi - - false - - - sabi - localhost - 3306 - sabiapp - sabi123 - - - -``` - -##### Used maven goals on module sabi_database - -| Maven command | Purpose | -| ------------- |-------------| -| mvn clean install -P configure_flyway db_local_secrets_sabi | Setup/Reinstall the database schema | -| mvn flyway:migrate -P configure_flyway db_local_secrets_sabi | Apply Schema changes | -| mvn flyway:validate -P configure_flyway db_local_secrets_sabi | Validate schema | -| mvn flyway:repair -P configure_flyway db_local_secrets_sabi | Repair flyway metadata | - - -#### Working on sabi-server - -Nothing very special here, except two things you need to know: - -##### Junit testing. - -Introducing new functionalities require addition of junit test. Please integrate them such way that they will be picked up along with execution of - -`sabi-server/src/test/java/de/bluewhale/sabi/MasterTestSuite.java` - -Notice this test class will be also executed via githubs action. -Naturally we expect that changes won't break anything. - -As we are using eclipselink you must add a specific javaagent, when running your tests. See section prepare your IDE below for it: - - -##### Preparing your productive and IDE environment - -Because of eclipselink we are using weaving at runtime which requires the following vm option: - -``` --javaagent:/PATH_TO_YOUR_MAVEN_REPOSITORY/org/springframework/spring-instrument/6.0.13/spring-instrument-6.0.13.jar -``` - -You will need the agent for the springboot application run-config in your IDE as well as VM parameter for you -test runner config. **Please verify** that you use the correct version as derived from pom.xml dependency tree, as you may require -to adopt the javaagent string above to suite to your version. -You may also need to adopt your setting if that version in the pom changes because of patch management. - -## Architectural Notes +## For Developers -Before starting to contribute on this project, make sure that you have read the architectural notes in the [wiki](https://github.com/StefanSchubert/sabi/wiki) which -are based upon arc42 templates. +Please have a look at: +* [CONTRIBUTING.md](CONTRIBUTING.md) +* [DEVELOPERS_MANUAL.md](DEVELOPERS_MANUAL.md) \ No newline at end of file diff --git a/captcha/pom.xml b/captcha/pom.xml index a72abaf..7246197 100644 --- a/captcha/pom.xml +++ b/captcha/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 3.1.5 + 3.2.1 4.0.0 @@ -45,10 +45,10 @@ 2.20.0 UTF-8 UTF-8 - 2.2.0 - 1.12.0 - 9.0.0 - 3.2.2 + 2.3.0 + 1.12.1 + 9.0.7 + 3.2.3 2.16.2 @@ -180,6 +180,12 @@ org.owasp dependency-check-maven ${owasp.plugin.version} + + + ${nvd.api.key} + diff --git a/captcha/src/test/resources/log4j2-spring-test.xml b/captcha/src/test/resources/log4j2-spring.xml similarity index 100% rename from captcha/src/test/resources/log4j2-spring-test.xml rename to captcha/src/test/resources/log4j2-spring.xml diff --git a/devops/ansible/hosts b/devops/ansible/hosts index 25c129d..9c29950 100644 --- a/devops/ansible/hosts +++ b/devops/ansible/hosts @@ -1,3 +1,9 @@ +[myPIs] +esmeralda +blackpearl +shangri-la +atlantis + [sabi] esmeralda blackpearl diff --git a/devops/ansible/prometheus.service b/devops/ansible/prometheus.service index e2d3ec4..fe766e9 100644 --- a/devops/ansible/prometheus.service +++ b/devops/ansible/prometheus.service @@ -11,7 +11,7 @@ Restart=on-failure ExecStart=/var/prometheus/prometheus \ --config.file=/var/prometheus_config/prometheus.yml \ --storage.tsdb.path=/var/prometheus_data \ - --storage.tsdb.retention.time=90d \ + --storage.tsdb.retention.time=356d \ --storage.tsdb.retention.size=8GB [Install] diff --git a/devops/sabi_docker_sdk/grafanaData/grafana.db b/devops/sabi_docker_sdk/grafanaData/grafana.db index 8ee5e7a10b74827f94b3d810e1f278e226749f68..2bb261fdbca0896a44411a6b505e70b484e965e4 100644 GIT binary patch delta 287 zcmZoT;L>owWr8%L-b5K^M!k&*ocfHc%~|^GS^A7X%ml>DK+FQftU%1RJxib6t$^D+ zwOy2#fq_9)o^|@}`Rp>xK<@Ti^VtvbGqSeNSy7M2EowWr8%L=0q81M$L^0ocfF`%~|^GS^A7X%ml>DK+FQftU%1RJxib6t$^Ds zRVF5tfq_9)o@M&(`Rp>xGHEv3Z_Q^v$j`{qK4(2U5OZvwvz{|6LBNrLe-D2#zZBmp zK3mR3oQ|6X4YWDA;@LSEIP_Ibjg6;UOL8gm8t57rhZtH~8JJlan@!J_%<5Ts1O5UNbi%-Gz* i$iURXqNK_9b$HF^mAu5Jfux diff --git a/sabi-boundary/pom.xml b/sabi-boundary/pom.xml index c16c9d8..b6fead8 100644 --- a/sabi-boundary/pom.xml +++ b/sabi-boundary/pom.xml @@ -12,7 +12,7 @@ de.bluewhale sabi-boundary - 1.2.4 + 1.2.5 jar Contains the DTOs and Utility classes which will be used by the server and client module. @@ -41,12 +41,12 @@ UTF-8 5.1.0.Final 1.5.4 - 2.2.0 - 9.0.0 + 2.3.0 + 9.0.7 4.0.0-M2 3.3.2 - 4.0.0-M9 - 3.11.0 + 4.0.0-M13 + 3.12.1 3.5.0 2.16.2 @@ -155,6 +155,13 @@ org.owasp dependency-check-maven ${owasp.plugin.version} + + + ${nvd.api.key} + + verify diff --git a/sabi-boundary/src/main/java/de/bluewhale/sabi/model/AquariumTo.java b/sabi-boundary/src/main/java/de/bluewhale/sabi/model/AquariumTo.java index 6abcaf2..f943802 100644 --- a/sabi-boundary/src/main/java/de/bluewhale/sabi/model/AquariumTo.java +++ b/sabi-boundary/src/main/java/de/bluewhale/sabi/model/AquariumTo.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 by Stefan Schubert under the MIT License (MIT). + * Copyright (c) 2023 by Stefan Schubert under the MIT License (MIT). * See project LICENSE file for the detailed terms and conditions. */ @@ -28,6 +28,9 @@ public class AquariumTo implements Serializable { @Schema(description = "Unit of tanks volume size.", required = true) private SizeUnit sizeUnit; + @Schema(description = "Fresh, Sea- or other Water Type.", required = true) + private WaterType waterType; + @Schema(description = "Description or Name of the tank, so the user can distinguish them.", required = true) private String description; diff --git a/sabi-boundary/src/main/java/de/bluewhale/sabi/model/WaterType.java b/sabi-boundary/src/main/java/de/bluewhale/sabi/model/WaterType.java new file mode 100644 index 0000000..cf94585 --- /dev/null +++ b/sabi-boundary/src/main/java/de/bluewhale/sabi/model/WaterType.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2023 by Stefan Schubert under the MIT License (MIT). + * See project LICENSE file for the detailed terms and conditions. + */ + +package de.bluewhale.sabi.model; + +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Used to distinguish the tank types and therefore the measurement ecologic reference system. + * + * @author Stefan Schubert + */ +public enum WaterType { + + SEA_WATER("seawater"), + FRESH_WATER("freshwater"); + + + WaterType(final String waterType) { + this.waterType = waterType; + } + @JsonValue + public String getWaterType() { + return this.waterType; + } + + private String waterType; + + @Override + public String toString() { + return waterType; + } +} diff --git a/sabi-server/pom.xml b/sabi-server/pom.xml index a10095a..2993e47 100644 --- a/sabi-server/pom.xml +++ b/sabi-server/pom.xml @@ -13,7 +13,7 @@ org.springframework.boot spring-boot-starter-parent - 3.1.5 + 3.2.1 @@ -27,8 +27,6 @@ 2015 - StS Stefan Schubert @@ -42,28 +40,29 @@ - 1.2.4 + 1.2.5 UTF-8 UTF-8 21 2.20.0 - 2.2.0 + 2.3.0 4.0.2 1.5.5.Final - 1.12.0 - 6.1.1 + 1.12.1 + 6.1.2 1.18.30 - 9.0.0 + 9.0.7 1.6.4 - 3.3.0 - 2.1.214 + 3.3.2 + 2.2.224 + 1.6 - 1.2.0 + 1.2.1 4.4.0 - 4.0.0 + 4.0.1 24.1.0 2.16.2 - 3.2.2 + 3.2.3 @@ -381,6 +380,12 @@ org.owasp dependency-check-maven ${owasp.plugin.version} + + + ${nvd.api.key} + verify diff --git a/sabi-server/src/main/java/de/bluewhale/sabi/device/pi/PisCPUTemperatureProbe.java b/sabi-server/src/main/java/de/bluewhale/sabi/device/pi/PisCPUTemperatureProbe.java index 0e4ca7d..64628fd 100644 --- a/sabi-server/src/main/java/de/bluewhale/sabi/device/pi/PisCPUTemperatureProbe.java +++ b/sabi-server/src/main/java/de/bluewhale/sabi/device/pi/PisCPUTemperatureProbe.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 by Stefan Schubert under the MIT License (MIT). + * Copyright (c) 2023 by Stefan Schubert under the MIT License (MIT). * See project LICENSE file for the detailed terms and conditions. */ @@ -26,6 +26,7 @@ @Slf4j public class PisCPUTemperatureProbe implements MeterBinder { + // FIXME: the commands must not be executed when running on the local dev environment static final String GPU_Temp_CMD = "/usr/bin/vcgencmd measure_temp"; static final String GPU_RESULT_REGEXP = "[=']"; diff --git a/sabi-server/src/main/java/de/bluewhale/sabi/mapper/AquariumMapper.java b/sabi-server/src/main/java/de/bluewhale/sabi/mapper/AquariumMapper.java index 0e67d56..203c177 100644 --- a/sabi-server/src/main/java/de/bluewhale/sabi/mapper/AquariumMapper.java +++ b/sabi-server/src/main/java/de/bluewhale/sabi/mapper/AquariumMapper.java @@ -23,6 +23,7 @@ public interface AquariumMapper { @Mappings({ @Mapping(target ="id", source="id"), @Mapping(target ="sizeUnit", source="sizeUnit"), + @Mapping(target ="waterType", source="waterType"), @Mapping(target ="size", source="size"), @Mapping(target ="description", source="description"), @Mapping(target ="userId", source="user.id"), @@ -35,6 +36,7 @@ public interface AquariumMapper { @Mappings({ @Mapping(target ="id", source="id"), @Mapping(target ="sizeUnit", source="sizeUnit"), + @Mapping(target ="waterType", source="waterType"), @Mapping(target ="size", source="size"), @Mapping(target ="description", source="description"), @Mapping(target ="active", source="active"), diff --git a/sabi-server/src/main/java/de/bluewhale/sabi/persistence/model/AquariumEntity.java b/sabi-server/src/main/java/de/bluewhale/sabi/persistence/model/AquariumEntity.java index 2b22c1d..43e00e4 100644 --- a/sabi-server/src/main/java/de/bluewhale/sabi/persistence/model/AquariumEntity.java +++ b/sabi-server/src/main/java/de/bluewhale/sabi/persistence/model/AquariumEntity.java @@ -1,11 +1,12 @@ /* - * Copyright (c) 2022 by Stefan Schubert under the MIT License (MIT). + * Copyright (c) 2023 by Stefan Schubert under the MIT License (MIT). * See project LICENSE file for the detailed terms and conditions. */ package de.bluewhale.sabi.persistence.model; import de.bluewhale.sabi.model.SizeUnit; +import de.bluewhale.sabi.model.WaterType; import jakarta.persistence.*; import lombok.Data; import lombok.EqualsAndHashCode; @@ -21,7 +22,7 @@ @Table(name = "aquarium", schema = "sabi") @Entity @Data -@EqualsAndHashCode(exclude={"user", "measurements"}) +@EqualsAndHashCode(exclude={"user", "measurements"}, callSuper = false) public class AquariumEntity extends Auditable { // ------------------------------ FIELDS ------------------------------ @@ -38,6 +39,10 @@ public class AquariumEntity extends Auditable { @Enumerated(EnumType.STRING) private SizeUnit sizeUnit; + @Column(name = "water_type", nullable = false, insertable = true, updatable = true, length = 20, precision = 0) + @Enumerated(EnumType.STRING) + private WaterType waterType; + @Basic @Column(name = "description", nullable = false, insertable = true, updatable = true, length = 255, precision = 0) private String description; diff --git a/sabi-server/src/test/java/de/bluewhale/sabi/BasicDataFactory.java b/sabi-server/src/test/java/de/bluewhale/sabi/BasicDataFactory.java index 61419e7..847856b 100644 --- a/sabi-server/src/test/java/de/bluewhale/sabi/BasicDataFactory.java +++ b/sabi-server/src/test/java/de/bluewhale/sabi/BasicDataFactory.java @@ -6,6 +6,7 @@ package de.bluewhale.sabi; import de.bluewhale.sabi.model.SizeUnit; +import de.bluewhale.sabi.model.WaterType; import de.bluewhale.sabi.persistence.model.*; import de.bluewhale.sabi.persistence.repositories.*; import org.junit.jupiter.api.BeforeEach; @@ -130,6 +131,7 @@ public void populateBasicData() { aquariumEntity.setId(1l); aquariumEntity.setSize(80); aquariumEntity.setSizeUnit(SizeUnit.LITER); + aquariumEntity.setWaterType(WaterType.SEA_WATER); aquariumEntity.setDescription("Nano-Reef_H2"); aquariumEntity.setActive(Boolean.TRUE); aquariumEntity.setUser(testuser1); @@ -138,6 +140,7 @@ public void populateBasicData() { aquariumEntity2.setId(2l); aquariumEntity2.setSize(200); aquariumEntity2.setSizeUnit(SizeUnit.LITER); + aquariumEntity2.setWaterType(WaterType.SEA_WATER); aquariumEntity2.setDescription("Freshwater_H2"); aquariumEntity2.setActive(Boolean.TRUE); aquariumEntity2.setUser(testuser1); @@ -146,6 +149,7 @@ public void populateBasicData() { aquariumEntity3.setId(3l); aquariumEntity3.setSize(150); aquariumEntity3.setSizeUnit(SizeUnit.GALLONS); + aquariumEntity3.setWaterType(WaterType.SEA_WATER); aquariumEntity3.setDescription("Exhibit"); aquariumEntity3.setActive(Boolean.TRUE); aquariumEntity3.setUser(testuser2); diff --git a/sabi-server/src/test/java/de/bluewhale/sabi/TestDataFactory.java b/sabi-server/src/test/java/de/bluewhale/sabi/TestDataFactory.java index 02b68a5..1c9bb7a 100644 --- a/sabi-server/src/test/java/de/bluewhale/sabi/TestDataFactory.java +++ b/sabi-server/src/test/java/de/bluewhale/sabi/TestDataFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 by Stefan Schubert under the MIT License (MIT). + * Copyright (c) 2023 by Stefan Schubert under the MIT License (MIT). * See project LICENSE file for the detailed terms and conditions. */ @@ -51,13 +51,13 @@ public static TestDataFactory getInstance() { // -------------------------- OTHER METHODS -------------------------- - // FIXME: 14.06.17 Add singelton constructor public AquariumTo getTestAquariumTo() { final AquariumTo aquariumTo = new AquariumTo(); aquariumTo.setDescription("Test Tank"); aquariumTo.setActive(Boolean.TRUE); aquariumTo.setSize(40); aquariumTo.setSizeUnit(SizeUnit.LITER); + aquariumTo.setWaterType(WaterType.SEA_WATER); return aquariumTo; } @@ -65,6 +65,7 @@ public AquariumTo getTestAquariumFor(UserTo userTo) { AquariumTo aquariumTo = getTestAquariumTo(); aquariumTo.setId(1L); aquariumTo.setUserId(userTo.getId()); + aquariumTo.setWaterType(WaterType.SEA_WATER); return aquariumTo; } diff --git a/sabi-server/src/test/java/de/bluewhale/sabi/services/TankServiceTest.java b/sabi-server/src/test/java/de/bluewhale/sabi/services/TankServiceTest.java index 993d6b8..842552d 100644 --- a/sabi-server/src/test/java/de/bluewhale/sabi/services/TankServiceTest.java +++ b/sabi-server/src/test/java/de/bluewhale/sabi/services/TankServiceTest.java @@ -8,10 +8,7 @@ import de.bluewhale.sabi.TestDataFactory; import de.bluewhale.sabi.configs.AppConfig; import de.bluewhale.sabi.exception.Message.CATEGORY; -import de.bluewhale.sabi.model.AquariumTo; -import de.bluewhale.sabi.model.ResultTo; -import de.bluewhale.sabi.model.SizeUnit; -import de.bluewhale.sabi.model.UserTo; +import de.bluewhale.sabi.model.*; import org.junit.jupiter.api.MethodOrderer; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestMethodOrder; @@ -89,11 +86,13 @@ public void testListUsersTanks() throws Exception { aquariumTo1.setDescription("Small Test Tank"); aquariumTo1.setSize(40); aquariumTo1.setSizeUnit(SizeUnit.LITER); + aquariumTo1.setWaterType(WaterType.SEA_WATER); AquariumTo aquariumTo2 = new AquariumTo(); aquariumTo2.setDescription("Big Test Tank"); aquariumTo2.setSize(120); aquariumTo2.setSizeUnit(SizeUnit.LITER); + aquariumTo2.setWaterType(WaterType.SEA_WATER); ResultTo aquariumToResultTo = tankService.registerNewTank(aquariumTo1, registeredUser.getEmail()); ResultTo aquariumToResultTo1 = tankService.registerNewTank(aquariumTo2, registeredUser.getEmail()); diff --git a/sabi-webclient/pom.xml b/sabi-webclient/pom.xml index 5739a99..36367ba 100644 --- a/sabi-webclient/pom.xml +++ b/sabi-webclient/pom.xml @@ -10,7 +10,7 @@ de.bluewhale sabi-webclient - 1.2.2 + 1.2.3 jar sabi-webclient A JSF based webclient for sabi. @@ -47,7 +47,7 @@ org.springframework.boot spring-boot-starter-parent - 3.1.5 + 3.1.7 @@ -57,13 +57,13 @@ 21 2.20.0 4.0.1 - 1.11.5 + 1.12.1 5.1.4 - 1.2.4 + 1.2.5 1.6.4 - 8.4.2 + 9.0.7 1.18.30 - 2.16.1 + 2.16.2 @@ -294,6 +294,12 @@ org.owasp dependency-check-maven ${owasp.plugin.version} + + + ${nvd.api.key} + verify diff --git a/sabi-webclient/src/main/java/de/bluewhale/sabi/webclient/controller/TankListView.java b/sabi-webclient/src/main/java/de/bluewhale/sabi/webclient/controller/TankListView.java index 5f632b4..da53be5 100644 --- a/sabi-webclient/src/main/java/de/bluewhale/sabi/webclient/controller/TankListView.java +++ b/sabi-webclient/src/main/java/de/bluewhale/sabi/webclient/controller/TankListView.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 by Stefan Schubert under the MIT License (MIT). + * Copyright (c) 2023 by Stefan Schubert under the MIT License (MIT). * See project LICENSE file for the detailed terms and conditions. */ @@ -7,6 +7,7 @@ import de.bluewhale.sabi.exception.BusinessException; import de.bluewhale.sabi.model.AquariumTo; +import de.bluewhale.sabi.model.WaterType; import de.bluewhale.sabi.webclient.CDIBeans.UserSession; import de.bluewhale.sabi.webclient.apigateway.TankService; import de.bluewhale.sabi.webclient.utils.MessageUtil; @@ -21,7 +22,9 @@ import java.io.Serializable; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * Controller for the Tanklist View as shown in tankView.xhtml @@ -45,6 +48,7 @@ public class TankListView implements Serializable { private List tanks; private AquariumTo selectedTank; + private Map translatedWaterType; @PostConstruct public void init() { @@ -56,6 +60,14 @@ public void init() { log.error(e.getLocalizedMessage()); MessageUtil.warn("messages","common.token.expired.t",userSession.getLocale()); } + + translatedWaterType = new HashMap(); + for (WaterType value : WaterType.values()) { + String msgKey = "enum.waterType."+value.getWaterType()+".l"; + String translatedType = MessageUtil.getFromMessageProperties(msgKey, userSession.getLocale()); + translatedWaterType.put(value,translatedType); + } + } @PreDestroy diff --git a/sabi-webclient/src/main/java/de/bluewhale/sabi/webclient/model/Units.java b/sabi-webclient/src/main/java/de/bluewhale/sabi/webclient/model/Units.java index ebad685..3859471 100644 --- a/sabi-webclient/src/main/java/de/bluewhale/sabi/webclient/model/Units.java +++ b/sabi-webclient/src/main/java/de/bluewhale/sabi/webclient/model/Units.java @@ -1,11 +1,12 @@ /* - * Copyright (c) 2020 by Stefan Schubert under the MIT License (MIT). + * Copyright (c) 2023 by Stefan Schubert under the MIT License (MIT). * See project LICENSE file for the detailed terms and conditions. */ package de.bluewhale.sabi.webclient.model; import de.bluewhale.sabi.model.SizeUnit; +import de.bluewhale.sabi.model.WaterType; import jakarta.inject.Named; import org.springframework.web.context.annotation.ApplicationScope; @@ -22,4 +23,6 @@ public SizeUnit[] getSizeUnits() { return SizeUnit.values(); } + public WaterType[] getWaterTypes() { return WaterType.values(); } + } diff --git a/sabi-webclient/src/main/resources/META-INF/resources/impressum.xhtml b/sabi-webclient/src/main/resources/META-INF/resources/impressum.xhtml index e24af6f..5948596 100644 --- a/sabi-webclient/src/main/resources/META-INF/resources/impressum.xhtml +++ b/sabi-webclient/src/main/resources/META-INF/resources/impressum.xhtml @@ -33,7 +33,6 @@ Germany

eMail: stefan@bluewhale.de
- twitter: StefanSchubert diff --git a/sabi-webclient/src/main/resources/META-INF/resources/secured/tankEditor.xhtml b/sabi-webclient/src/main/resources/META-INF/resources/secured/tankEditor.xhtml index bee866b..0f7c157 100644 --- a/sabi-webclient/src/main/resources/META-INF/resources/secured/tankEditor.xhtml +++ b/sabi-webclient/src/main/resources/META-INF/resources/secured/tankEditor.xhtml @@ -44,6 +44,15 @@ + + + + + + + + diff --git a/sabi-webclient/src/main/resources/i18n/messages.properties b/sabi-webclient/src/main/resources/i18n/messages.properties index c631536..ece29b9 100644 --- a/sabi-webclient/src/main/resources/i18n/messages.properties +++ b/sabi-webclient/src/main/resources/i18n/messages.properties @@ -76,6 +76,7 @@ common.error.internal_server_problem.t=Ups - internal backend problem. Please tr tankview.description.l=Description: tankview.volume.l=Size: tankview.volUnit.l=Unit: +tankview.waterType.l=Tank-Type: tankview.inceptionDate.l=Inception Date: login.username.l=Username: login.password.l=Password: @@ -202,3 +203,5 @@ userprofile.meassurement.dayinterval.l=Measurement interval in days userprofile.meassurement.addreminder.l=Set reminder for: common.update.b=Update register.password.policy.t=(Password: Min 10 to max 20 chars. Mixture of Upper/LowerCase with Digit and Special-Character) +enum.waterType.seawater.l=seawater +enum.waterType.freshwater.l=freshwater diff --git a/sabi-webclient/src/main/resources/i18n/messages_de.properties b/sabi-webclient/src/main/resources/i18n/messages_de.properties index 2cfd2c2..6200cb6 100644 --- a/sabi-webclient/src/main/resources/i18n/messages_de.properties +++ b/sabi-webclient/src/main/resources/i18n/messages_de.properties @@ -81,6 +81,7 @@ common.error.internal_server_problem.t=Ups - es gab einen internen Server Error. tankview.description.l=Beschreibung: tankview.volume.l=Volumen: tankview.volUnit.l=Einheit: +tankview.waterType.l=Aquarium-Typ: tankview.inceptionDate.l=Aufstelldatum: login.username.l=Benutzername: login.password.l=Passwort: @@ -204,3 +205,5 @@ userprofile.meassurement.unit.l=Messparameter userprofile.meassurement.addreminder.l=Erinnerung setzen f\u00FCr: common.update.b=Aktualisieren register.password.policy.t=(Passwort: Min 10 bis 20 Zeichen. Klein/Gro\u00DFschreibung, Zahl und Sonderzeichen) +enum.waterType.seawater.l=Salzwasser +enum.waterType.freshwater.l=S\u00FC\u00DFwasser \ No newline at end of file diff --git a/sabi-webclient/src/main/resources/i18n/messages_en.properties b/sabi-webclient/src/main/resources/i18n/messages_en.properties index 06fe370..739d963 100644 --- a/sabi-webclient/src/main/resources/i18n/messages_en.properties +++ b/sabi-webclient/src/main/resources/i18n/messages_en.properties @@ -76,6 +76,7 @@ common.error.internal_server_problem.t=Ups - internal backend problem. Please tr tankview.description.l=Description: tankview.volume.l=Size: tankview.volUnit.l=Unit: +tankview.waterType.l=Tank-Type: tankview.inceptionDate.l=Inception Date: login.username.l=Username: login.password.l=Password: @@ -201,4 +202,6 @@ userprofile.meassurement.dayinterval.l=Measurement interval in days userprofile.meassurement.unit.l=Measurement parameter userprofile.meassurement.addreminder.l=Set reminder for: common.update.b=Update -register.password.policy.t=(Password: Min 10 to max 20 chars. Mixture of Upper/LowerCase with Digit and Special-Character) \ No newline at end of file +register.password.policy.t=(Password: Min 10 to max 20 chars. Mixture of Upper/LowerCase with Digit and Special-Character) +enum.waterType.seawater.l=seawater +enum.waterType.freshwater.l=freshwater \ No newline at end of file From 969f46689aea96aeeb9e32e7a64661c914089026 Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Mon, 25 Dec 2023 23:34:56 +0100 Subject: [PATCH 3/3] Refactored Ansible paths --- devops/ansible/README.md | 2 +- devops/ansible/deployCaptchaService.yml | 4 ++-- devops/ansible/deploySabiBackend.yml | 4 ++-- devops/ansible/deploySabiMonitoring.yml | 6 +++--- devops/ansible/deploySabiService.yml | 4 ++-- devops/ansible/deploySabiWebclient.yml | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/devops/ansible/README.md b/devops/ansible/README.md index 2a45c15..a005ac5 100644 --- a/devops/ansible/README.md +++ b/devops/ansible/README.md @@ -37,4 +37,4 @@ or check the unattended update logs ## Deployment of a sabi frontend release 1) Build the new sabi webclient release -2) ansible-playbook deploySabiWebclient.yml \ No newline at end of file +2) ansible-playbook -i hosts deploySabiWebclient.yml \ No newline at end of file diff --git a/devops/ansible/deployCaptchaService.yml b/devops/ansible/deployCaptchaService.yml index 70a0167..256e000 100644 --- a/devops/ansible/deployCaptchaService.yml +++ b/devops/ansible/deployCaptchaService.yml @@ -4,14 +4,14 @@ tasks: - name: Copy new jar file copy: - src: /Users/schubert/dev/Intellij-wss/github/sabi/captcha/target/captcha-service.jar + src: /Users/bluewhale/dev/Intellij-wss/github/sabi/captcha/target/captcha-service.jar dest: /var/captcha owner: captcha group: captcha mode: '0500' - name: Copy JVM config file copy: - src: /Users/schubert/dev/Intellij-wss/github/sabi/captcha/captcha-service.conf + src: /Users/bluewhale/dev/Intellij-wss/github/sabi/captcha/captcha-service.conf dest: /var/captcha owner: captcha group: captcha diff --git a/devops/ansible/deploySabiBackend.yml b/devops/ansible/deploySabiBackend.yml index ab1e218..9c6a2e6 100644 --- a/devops/ansible/deploySabiBackend.yml +++ b/devops/ansible/deploySabiBackend.yml @@ -23,14 +23,14 @@ mode: 0775 - name: Copy new jar file copy: - src: /Users/schubert/dev/Intellij-wss/github/sabi/devops/GenericPiMetricsEndpoint/target/pimetric-service-1.0.jar + src: /Users/bluewhale/dev/Intellij-wss/github/sabi/devops/GenericPiMetricsEndpoint/target/pimetric-service-1.0.jar dest: /var/pimetric/pimetric-service.jar owner: pimetric group: pimetric mode: '0500' - name: Copy JVM config file copy: - src: /Users/schubert/dev/Intellij-wss/github/sabi/devops/GenericPiMetricsEndpoint/pimetric-service.conf + src: /Users/bluewhale/dev/Intellij-wss/github/sabi/devops/GenericPiMetricsEndpoint/pimetric-service.conf dest: /var/pimetric owner: pimetric group: pimetric diff --git a/devops/ansible/deploySabiMonitoring.yml b/devops/ansible/deploySabiMonitoring.yml index e2b8065..57c2f07 100644 --- a/devops/ansible/deploySabiMonitoring.yml +++ b/devops/ansible/deploySabiMonitoring.yml @@ -93,7 +93,7 @@ file: path=/var/prometheus/prometheus-2.46.0.linux-arm64.tar.gz state=absent - name: Copy last secured configuration copy: - src: /Users/schubert/Documents/privat/SABI_Config_Safe/prometheus/prometheus.yml + src: /Users/bluewhale/Documents/privat/SABI_Config_Safe/prometheus/prometheus.yml dest: /var/prometheus_config owner: prometheus group: prometheus @@ -145,14 +145,14 @@ file: path=/var/grafana/grafana-10.0.3.linux-arm64.tar.gz state=absent - name: Copy last secured configuration copy: - src: /Users/schubert/Documents/privat/SABI_Config_Safe/grafana/custom.ini + src: /Users/bluewhale/Documents/privat/SABI_Config_Safe/grafana/custom.ini dest: /var/grafana/conf owner: grafana group: grafana mode: '0640' - name: Copy last database backup copy: - src: /Users/schubert/Documents/privat/SABI_Config_Safe/grafana/grafana.db + src: /Users/bluewhale/Documents/privat/SABI_Config_Safe/grafana/grafana.db dest: /var/grafana/data owner: grafana group: grafana diff --git a/devops/ansible/deploySabiService.yml b/devops/ansible/deploySabiService.yml index d9d9e5d..d720b1c 100644 --- a/devops/ansible/deploySabiService.yml +++ b/devops/ansible/deploySabiService.yml @@ -9,14 +9,14 @@ append: yes - name: Copy new jar file copy: - src: /Users/schubert/dev/Intellij-wss/github/sabi/sabi-server/target/sabi-service.jar + src: /Users/bluewhale/dev/Intellij-wss/github/sabi/sabi-server/target/sabi-service.jar dest: /var/sabi/sabi-service.jar owner: sabi group: sabi mode: '0500' - name: Copy JVM config file copy: - src: /Users/schubert/dev/Intellij-wss/github/sabi/sabi-server/sabi-service.conf + src: /Users/bluewhale/dev/Intellij-wss/github/sabi/sabi-server/sabi-service.conf dest: /var/sabi owner: sabi group: sabi diff --git a/devops/ansible/deploySabiWebclient.yml b/devops/ansible/deploySabiWebclient.yml index e58bb54..f3c9509 100644 --- a/devops/ansible/deploySabiWebclient.yml +++ b/devops/ansible/deploySabiWebclient.yml @@ -35,14 +35,14 @@ group: sabi - name: Copy new jar file copy: - src: /Users/schubert/dev/Intellij-wss/github/sabi/sabi-webclient/target/sabi-webclient.jar + src: /Users/bluewhale/dev/Intellij-wss/github/sabi/sabi-webclient/target/sabi-webclient.jar dest: /var/sabi/sabi-webclient.jar owner: sabi group: sabi mode: '0500' - name: Copy JVM config file copy: - src: /Users/schubert/dev/Intellij-wss/github/sabi/sabi-webclient/sabi-webclient.conf + src: /Users/bluewhale/dev/Intellij-wss/github/sabi/sabi-webclient/sabi-webclient.conf dest: /var/sabi owner: sabi group: sabi