Keine Beschreibung

Blake Schneider 39597bc05f PROD-1704: Client certificate improvements vor 6 Jahren
app ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
config ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
db ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
deps 5584bbfa33 PROD-1704: Add docker configuration and torquebox build dependency vor 6 Jahren
documentation ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
lib ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
public ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
script ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
spec ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
test ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
vendor ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
.gitignore ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
.jrubyrc ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
.rspec ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
.ruby-gemset ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
.ruby-version ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
COPYING.txt ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
Dockerfile 5584bbfa33 PROD-1704: Add docker configuration and torquebox build dependency vor 6 Jahren
Gemfile ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
Gemfile.lock ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
LIBRARIES.txt ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
LICENSEHEADER.txt ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
NOTICE.txt ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
README.md 39597bc05f PROD-1704: Client certificate improvements vor 6 Jahren
Rakefile ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
config.ru ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
docker-compose.yml 39597bc05f PROD-1704: Client certificate improvements vor 6 Jahren
docker-entrypoint.sh 5584bbfa33 PROD-1704: Add docker configuration and torquebox build dependency vor 6 Jahren
docker-initdb.sh 5584bbfa33 PROD-1704: Add docker configuration and torquebox build dependency vor 6 Jahren
docker-run.sh 5584bbfa33 PROD-1704: Add docker configuration and torquebox build dependency vor 6 Jahren
example.env 5584bbfa33 PROD-1704: Add docker configuration and torquebox build dependency vor 6 Jahren
nginx.conf 39597bc05f PROD-1704: Client certificate improvements vor 6 Jahren
notes.txt ea436de6f8 version 0.9.7.0 commit vor 9 Jahren
temp.txt ea436de6f8 version 0.9.7.0 commit vor 9 Jahren

README.md

OpenADR Virtual Top Node

The open-source OpenADR (OADR) Virtual Top Node software was developed to provide the electric power industry with an open-source research tool to demonstrate and test OpenADR 2.0 and to provide utilities with a tool to research the potential use of OpenADR 2.0 in different use cases. This server application is one example of how the OpenADR 2.0 specification can be applied. It includes a graphical user interface for setting up user accounts, assigning clients (virtual end nodes, or VENs), defining resources, selecting market contexts, and creating and scheduling demand response events. EPRI’s OADR VTN was developed and tested on an Ubuntu 14.04 desktop and server. Limited testing has been done on OS X. The software has not been tested on Windows Server, though all of the software used to run the OADR VTN runs on Windows. This user manual describes how to install and use EPRI’s open-source OpenADR VTN application.

Documentation/Help

Please refer to the Software Manual in the release section for technical documentation.

Notice

The EPRI OpenADR 2.0 Virtual Top Node (VTN) and VEN was designed with the advanced software that was available at that time. This software, like any others, has dependencies on third-party software packages. Some of these third-party software packages are deprecated.

Since its release in 2014, EPRI’s OpenADR 2.0 VTN has been downloaded over 6,700 times, supported numerous utility demonstration and field projects across the world, and has been implemented in commercial solutions. While EPRI has decided to discontinue support for the current version of EPRI OpenADR VTN due to deprecated software packages offered by the third parties, the code will remain on EPRI’s GitHub page as an example for others who are interested in seeing an example implementation. EPRI will continue to explore how to continue support to such software tools.

Installing via Docker

Docker install

These instructions are for a Ubuntu 16.04.6 LTS x64 machine. First install Docker CE:

apt-get update
apt-get dist-upgrade
apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"
curl -s https://download.docker.com/linux/ubuntu/gpg | apt-key add -
apt-get update
apt-get install docker-ce
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Repo setup

Now clone this repo to /root/epri-vtn_custom. Install the following files:

  • /root/epri-vtn_custom/.env Environment variables for docker-compose, use example.env as a starting place and be sure to change RAILS_SECRET_TOKEN.
  • /root/epri-vtn_custom/ssl.crt VTN certificate file in PEM format. This will be the concatenated result of 3 certificates from the VTN cert bundle (e.g. TEST_RSA_VTN_2003XXXXXXXXX_certs.zip): 1) VTN cert TEST_RSA_VTN_2003XXXXXXXXX_cert.pem, 2) Root Cert Authority TEST_OpenADR_RSA_RCA0002_Cert.pem, 3) Service Provider TEST_OpenADR_RSA_SPCA0002_Cert.pem. Certificates must be present in that order.
  • /root/epri-vtn_custom/ssl.key VTN key file in PEM format. This will come from a file that looks like TEST_RSA_VTN_2003XXXXXXXXX_privkey.pem in the VTN cert bundle.
  • /root/epri-vtn_custom/clientssl.crt VEN CA certificate file in PEM format. This will be the concatenated result of 2 certificates from the VEN cert bundle (e.g. TEST_RSA_VEN_2003XXXXXXXXX_certs.zip): 1) Intermediate "MCA" cert TEST_OpenADR_RSA_MCA0002_Cert.pem, 2) Root "RCA" cert TEST_OpenADR_RSA_RCA0002_Cert.pem. Certificates must be present in that order. nginx uses this to validate client certificates.
  • /root/epri-vtn_custom/adminssl.crt Admin WEB UI certificate. This is a plain HTTPS TLS certificate, it can be LetsEncrypt, a paid-for cert from a CA, or even a self-signed certificate if the risk profile is acceptable. Main certificate first, any chained "ca bundle" certs after that.
  • /root/epri-vtn_custom/adminssl.key Private key for the first certificate in adminssl.crt.

Provision database

This step needs to be ran on a fresh database. Once it has been ran there will be no need to re-provision the database again even if EPRI is updated.

Edit docker-compose.yml and uncomment the # command: initdb line. Now run

docker-compose up --build

This process may take a long time, 15 minutes or so, especially on the RUN rake assets:precompile step. This is normal.

You should see a message initdb finished successfully. When you see that you can Ctrl-C to kill the session and comment out the command: initdb line.

Run EPRI

Ensure command: initdb is commented out. Run

docker-compose up --build -d

You should now be able to access https://ipaddress/ from your web browser.