Skip to content

Latest commit

 

History

History

solaruser

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

SolarUser

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.

Dependencies

This app depends on the following projects:

Runtime profiles

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"

Runtime configuration

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.

Building

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.