Нет описания

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

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.