This app provides both an administrative web-based UI for users to manage their SolarNetwork account and a REST API for user-level administration functions.
This app depends on the following projects:
- solarnet-common
- solarnet-datum
- solarnet-instructor
- solarnet-ocpp
- solarnet-oscp
- solarnet-user
- solarnet-user-billing
- solarnet-user-datum
- solarnet-user-datum-input
- solarnet-user-instructor-input
- solarnet-user-ocpp
- solarnet-user-oscp
The following Spring runtime profiles are available:
Profile | Description |
---|---|
aws-secrets |
Enables AWS Secrets Manager persistence for some credentials, like OAuth for OSCP. |
datum-import-s3-resource-storage |
Store datum import resources in S3. See S3ResourceStorageConfig. |
din |
Datum Input support. See SolarNetUserDatumInputConfiguration. |
dogtag |
Node PKI support via Dogtag. See PkiDogtagConfig. |
inin |
Instruction Input support. See SolarNetUserInstructionInputConfiguration. |
mqtt |
Enables publishing aggregates to SolarFlux. See SolarFluxPublishingConfig. |
node-service-auditor |
Enables auditing node service events like instruction counts. See InstructorBizConfig, JdbcNodeServiceAuditorConfig. |
no-solarflux |
Disable SolarFlux MQTT integration when mqtt profile is active. |
ocpp-v16 |
Enables OCPP v1.6 integration. See references to SolarNetOcppConfiguration. |
oscp-v20 |
Enable OSCP v2.0 integration. See references to SolarNetOscpConfiguration. |
snf-billing |
Enable SNF billing. See SnfBillingConfig. |
user-event-sqs |
Enable the SQS user event service. See UserEventServiceSqsConfig. |
For example, in a production deployment the SPRING_PROFILES_ACTIVE
environment variable can be
configured as
SPRING_PROFILES_ACTIVE="production,datum-import-s3-resource-storage,din,dogtag,inin,mqtt,ocpp-v16,snf-billing,user-event-sqs"
See the application.yml file for the available runtime configuration properties, and
their default values. You can override any property by creating an application.yml
file in the
working directory of the application, or via profile-specific files like
application-production.yml
when the production
profile is active.
The build is managed by Gradle, and requires a Java Development Kit version 21+ to build (and run).
# Unix-like OS:
../gradlew build
# Build without running tests:
../gradlew build -x test
# Windows:
../gradlew.bat build
The build produces an executable JAR at build/libs/solaruser-x.y.z.jar
.