136. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 8/4/2017 2:45:04 PM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

136.1 Files compared

# Location File Last Modified
1 CUI-Release-v2.2.0-source.zip\CUI-Release-v2.2.0-source\doc system_environment_variables.md Thu Jun 15 19:04:28 2017 UTC
2 CUI-Release-v2.2.0-source.zip\CUI-Release-v2.2.0-source\doc system_environment_variables.md Fri Aug 4 14:55:23 2017 UTC

136.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 3 914
Changed 2 8
Inserted 0 0
Removed 0 0

136.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

136.4 Active regular expressions

No regular expressions were active.

136.5 Comparison detail

  1   # System E nvironment  Variables
  2  
  3   ## Environ ment Varia bles NOT s et in .env * files
  4  
  5   There are  three envi ronment va riables wh ich need t o be set w ithin the  terminal/c onsole/she ll environ ment and n ot in a `d otenv` man aged `.env *` file.   RAILS_ENV,  RACK_ENV  and DEPLOY _ENV shall  be set ou tside of a ny `.env*`  file.
  6  
  7   ### RAILS_ ENV
  8  
  9   The Rails  library ma kes extens ive use of  the RAILS _ENV varia ble.  With in the Rai ls applica tion the v alue of th e variable  can be ac cess using  `Rails.en v` in addi tion to th e common R uby `ENV[' RAILS_ENV' ]` means.   Also a Ra ils applic ation can  conditiona lly access  the value  using que ry methods .  For exa mple `Rail s.env.deve lopment?`  returns tr ue when `' developmen t' == ENV[ 'RAILS_ENV ']` which  is in a wo rd wonderf ul.
  10  
  11   | RAILS_EN V Value |  Meaning |
  12   |--------- ---------- |--------- ---------- ---|
  13   | developm ent | Adds  tools and  configura tions for  use by a s oftware de veloper |
  14   | producti on  | Mini mize extra nious tool s, utiliti es and con figuration s to that  specific t o the appl ication |
  15   | test         | Some thing betw een develo pment and  production  |
  16  
  17   The full d atabase na me include s a base p refix comp onent (ENV ['DBNAME'] ) and the  operationa l environm ent value  (ENV['RAIL S_ENV']) a llowing th e same dat abase mana gement sys tem to hos t developm ent, test  and produc tion datab ases.
  18  
  19   The defaul t value fo r RAILS_EN V is devel opment.
  20  
  21  
  22   ### RACK_E NV
  23  
  24   Typically  the value  of the RAC K_ENV and  RAILS_ENV  are the sa me.  They  do not hav e to be.   RACK_ENV i s used by  any Rack-b ased web s erver to e stablish t he environ ment (set  of middlew are) confi gured as p art of the  overall w eb server.   Common v alues for  RACK_ENV a re:
  25  
  26   | RACK_ENV  Value | D efault Rac k middlewa re Loaded  |
  27   |--------- ---------- |--------- ---------- ---|
  28   | developm ent | Comm onLogger,  ShowExcept ions, and  Lint |
  29   | deployme nt  | Comm onLogger |
  30   | none         | no e xtra middl eware adde d |
  31  
  32   The defaul t value fo r RACK_ENV  is develo pment.
  33  
  34  
  35   ### DEPLOY _TYPE
  36  
  37   The value  of the DEP LOY_TYPE v ariable sp ecifies th e kind (pe rhaps even  hostname)  of the de ployed app lication.
  38  
  39   | DEPLOY_T YPE Value  | Descript ion |
  40   |--------- ---------- |--------- ---------- ---|
  41   | dev          | GovC loud deplo yment for  a developm ent enviro nment |
  42   | localhos t   | loca l workstat ion deploy ment; typi cally used  only fpr  developer  workstatio ns |
  43   | prep         | GovC loud deplo yment of a  staging e nvironment  |
  44   | prod         | GovC loud deplo yment of a  productio n environm ent |
  45   | test         | GovC loud deplo yment of a  test envi ronment |
  46  
  47   The defaul t value fo r DEPLOY_T YPE is loc alhost.
  48  
  49  
  50   ## .env* F iles
  51  
  52   The [doten v gem](htt ps://githu b.com/bkee pers/doten v/blob/mas ter/README .md) manag es the val ues of sys tem enviro nment vari ables (SEV ) in this  applicatio n.  This f ile docume nts each S EV used by  this appl ication in  terms of  its use an d value ty pes.
  53  
  54   The files  that conta in the SEV s values a re shown i n the foll owing sect ions.
  55  
  56   > *IMPORTA NT:  DO NO T* set the  values of  RACK_ENV,  RAILS_ENV  and DEPLO Y_TYPE wit hin a `.en v*` file.   Doing so  *may* resu lt in unan ticipated  consequenc es.  Alway s set thes e three va riables wi thin your  terminal/c onsole win dow as nec essary to  accomplish  your task .
  57  
  58  
  59   ## Convent ion w/r/t  `dotenv`
  60  
  61   The `doten v` gem doe s not requ ire the us e of the ' export' pr efix in fr ont of a V ARIABLE=va lue statem ent.  Howe ver, since  the `.env *` files a re used by  Ruby prog rams and s ourced by  `bash` she ll scripts , this sys tem will * ALWAYS USE * the 'exp ort' prefi x on a var iable assi gnment.
  62  
  63   All system  environme nt variabl es shall b e document ed in the  `doc/syste m_environm ent_variab les.md` fi le.
  64  
  65  
  66   ## Base De faults
  67  
  68   | File Nam e | Descri ption |
  69   |--------- ---------- |--------- ---------- ---|
  70   | .env                | The base -level fil e containi ng default  values |
  71  
  72   The `.env`  file cont ains the d efault val ues for ev ery system  environme nt variabl e that req uires a va lue.  A va lue for ev ery enviro nment vari able used  in this sy stem shall  be define d in at le ast one of  the `.env *` files.
  73  
  74  
  75   ## RAILS_E NV-based F iles
  76  
  77   The system  environme nt variabl e *RAILS_E NV* is use d to direc t the load ing of var iables who se values  are are di fferent fr om the def ault value s specifie d in the ` .env` base  file.
  78  
  79   | File Nam e | Descri ption |
  80   |--------- ---------- |--------- ---------- ---|
  81   | .env.dev elopment   | Loaded w hen RAILS_ ENV is 'de velopment'  to over-r ide .env |
  82   | .env.pro duction    | Loaded w hen RAILS_ ENV is 'pr oduction'  to over-ri de .env |
  83   | .env.tes t          | Loaded w hen RAILS_ ENV is 'te st' to ove r-ride .en v |
  84  
  85  
  86   ## DEPLOY_ TYPE-based  Files
  87  
  88   The *DEPLO Y_TYPE* sy stem envir onment var iable is u sed to spe cify/selec t a set of  system en vironment  variable v alues that  are used  by a speci fic deploy ment host  machine.   For exampl e any vari able that  is used to  specify a n applicat ion URL.   The URL's  value will  depend up on which h ost machin e to which  the appli cation is  deployed.
  89  
  90   | File Nam e | Descri ption |
  91   |--------- ---------- |--------- ---------- ---|
  92   | .env.sqa            | Used for  deploymen t to an SQ A server |
  93   | .env.uat            | Used for  deploymen t to a UAT  server |
  94   | .env.dep loy        | Used for  a localho st docker  deployment  on a deve loper's wo rkstation  |
  95  
  96   The `.env. deploy` fi le is spec ial.  It i s used by  developer' s who chos e to deplo y the appl ication to  their wor kstation ( localhost)  using doc ker contai ners.
  97  
  98  
  99   ## Local O ver-rides
  100  
  101   Any system  environme nt variabl e can be o ver-ridden  by a "*.l ocal" file .  These f iles are i ntended fo r use on a  developer 's worksta tion or on  specific  host machi nes that s upport the  applicati on.  The p urpose of  the local  over-ride  is to prov ide values  that are  required b y the inst allation * BUT ARE NO T* checked  into the  source cod e manageme nt reposit ories.
  102  
  103  
  104   | File Nam e | Descri ption |
  105   |--------- ---------- |--------- ---------- ---|
  106   | .env.loc al         | (Not che cked in to  the repos itory) Use d by devel opers to o ver-ride v alues on t heir local  workstati ons |
  107  
  108  
  109   ### RAILS_ ENV - base d local ov er-rides
  110  
  111   | File Nam e | Descri ption |
  112   |--------- ---------- |--------- ---------- ---|
  113   | .env.dev elopment.l ocal  | Lo aded when  RAILS_ENV  is 'develo pment' to  over-ride  .env |
  114   | .env.pro duction.lo cal   | Lo aded when  RAILS_ENV  is 'produc tion' to o ver-ride . env |
  115   | .env.tes t.local          | Lo aded when  RAILS_ENV  is 'test'  to over-ri de .env |
  116  
  117  
  118   ### DEPLOY _TYPE - ba sed local  over-rides
  119  
  120   | File Nam e | Descri ption |
  121   |--------- ---------- |--------- ---------- ---|
  122   | .env.sqa .local           | Us ed for dep loyment to  an SQA se rver |
  123   | .env.uat .local           | Us ed for dep loyment to  a UAT ser ver |
  124   | .env.dep loy.local        | Us ed for a l ocalhost d ocker depl oyment on  a develope r's workst ation |
  125  
  126  
  127   ## Loading  Conventio ns
  128  
  129   The `.env* ` files ar e processe d (loaded)  in specif ic orders  depending  on whether  they are  being used  within th e RAILS ap plication  or within  a BASH she ll script.
  130  
  131  
  132   ### RAILS  .env* File  Loading O rder
  133  
  134   According  to the doc umentation  the [dote nv gem](ht tps://gith ub.com/bke epers/dote nv/blob/ma ster/READM E.md) take s the *fir st* value  set for a  veriable a s its "off icial" val ue.  So wi thin the r ails appli cation for  a RAILS_E NV == 'dev elopment'  and DEPLOY _TYPE unse t, the fil es are loa ded in thi s order:
  135  
  136   * .env.dev elopment.l ocal
  137   * .env.loc al
  138   * .env.dev elopment
  139   * .env
  140  
  141  
  142   #### Exist ing Variab le Values  in the RAI LS Applica tion
  143  
  144   In the RAI LS applica tion the ` dotenv` ge m loads th e variable s, assigns  and maint ains their  value bas ed upon th e first va lue set.   This is co ntrary to  normal thi nking.  Co nsider thi s `.env` f ile:
  145  
  146       export  VARIABLE= 1
  147       export  VARIABLE= 2
  148       export  VARIABLE= 3
  149  
  150   In the RAI LS applica tion the v alue of EN V['VARIABL E'] will b e 1 not 3.
  151  
  152   However if  the RAILS  applicati on were la unched lik e this usi ng the sam e `.env` f ile:
  153  
  154       VARIAB LE=4 rails  server
  155  
  156   The value  of ENV['VA RIABLE'] i nside the  applicatio n will be  4 because  it was the  first val ue set.
  157  
  158  
  159   ### BASH . env* File  Loading Or der
  160  
  161   When using  the files  from a sh ell script  (bash for  example)  the value  of a varia ble is the  *last* va lue that w as set.  I n this cas e within a  shell scr ipt for RA ILS_ENV ==  'developm ent' and D EPLOY_TYPE  unset the  files nee d to be *s ourced* in  this orde r:
  162  
  163   * .env
  164   * .env.dev elopment
  165   * .env.loc al
  166   * .env.dev elopment.l ocal
  167  
  168   Source the  file `bin /setup_env ironment`  within a B ASH shell  script to  have the a pplication 's system  environmen t variable s set for  the proper  environme nt/host as  specified  by the va lues of RA ILS_ENV an d DEPLOY_T YPE.  The  script `bi n/setup_en vironment`  takes car e of sourc ing the `. env*` file s in the p roper orde r.
  169  
  170  
  171   #### Exist ing Variab le Values  in a BASH  Script
  172  
  173   In a `bash ` script t he variabl e values a re assigne d based up on the *la st* value  set.  This  is the no rmal way o f thinking  about var iables.  C onsider th is `.env`  file:
  174  
  175       export  VARIABLE= 1
  176       export  VARIABLE= 2
  177       export  VARIABLE= 3
  178  
  179   In a `bash ` script t he value o f ENV['VAR IABLE'] wi ll be 3 no t 1.
  180  
  181   If the `ba sh` script  were laun ched like  this using  the same  `.env` fil e:
  182  
  183       VARIAB LE=4 my_ba sh_script_ using_env_ files
  184  
  185   The value  of ENV['VA RIABLE'] i nside the  script wil l still be  3 because  it was th e last val ue set.
  186  
  187   There is a n circumst ance in wh ich this w ill make a  significa nt differe nce.  The  same condi tions with  the scrip t being la unched lik e this:
  188  
  189       RAILS_ ENV=produc tion DEPLO Y_TYPE=sqa  my_bash_s cript_usin g_env_file s
  190  
  191   By sourcin g the `bin /setup_env ironment`  file withi n `my_bash _script_us ing_env_fi les` the i nitial val ues of RAI LS_ENV and  DEPLOY_TY PE are use d to estab lish which  `.env*` f iles are t o be proce ssed.  If  one of tho se files c hanges the  value of  either RAI LS_ENV or  DEPLOY_TYP E then the re is a po ssibility  that thing s will get  messed up .  So the  moral of t he story i s *do not  set the va lues of RA ILS_ENV an d DEPLOY_T YPE within  a `.env*`  file.*
  192  
  193  
  194   ## Special  Values us ed by `dot env` and ` bash`
  195  
  196   The `doten v` gem sup ports the  use of two  special v alues that  are consi stent with  `bash` ca pabilities .
  197  
  198  
  199   ### Assign ing a Valu e Based Up on Another  Variable
  200  
  201   The `odteb v` gem all ows access  to existi ng values  of a syste m environm ent variab le (VARIAB LE) within  a `.env*`  file usin g '$VARIAB LE' which  is consist ent with t he `bash`  shell.  Co nsider thi s snippit  from a `.e nv` file:
  202  
  203       export  DOCKER_HO ST_WEB_POR T=$PUMA_PO RT
  204  
  205   The value  of the DOC KER_HOST_W EB_PORT wi ll be set  to the val ue of PUMA _PORT at t he time th at the ass ignment to  DOCKER_HO ST_WEB_POR T is made.   If the v alue of PU MA_PORT is  changed s ometime af ter the as signment t o DOCKER_H OST_WEB_PO RT that fu ture assig nment *WIL L NOT* cha nge the pr eviously s et value o f DOCKER_H OST_WEB_PO RT.
  206  
  207   > IMPORTAN T: The `ba sh` conven tion of ${ VARIABLE}  is NOT sup ported by  the `doten v` gem.
  208  
  209  
  210   ### Assign ing a Valu e Based Up on the Res ults of a  Shell Comm and
  211  
  212   There may  be times w hen it is  necessary  to access  a shell co mmand to o btain a va lue for a  variable w ithin a `. env*` file .  Both `d otenv` and  bash foll ow the sam e syntax u sing '$(so me shell c ommand)' t o obtain t he value ( STDOUT) of  a shell c ommand.  F or example  consider  a `.env*`  file that  has this e ntry:
  213  
  214       export  VARIABLE= $(hostname )
  215  
  216   In both th e RAILS an d BASH sys tems the s hell comma nd "hostna me" will b e executed  and its r eturn valu e (STDOUT)  will be u sed as the  value for  assignmen t to VARIA BLE.
  217  
  218   The shell  command ca n be more  complex th an a singl e command.   Consider  this exam ple from a  developer 's `.env.l ocal` file :
  219  
  220       export  APP_VERSI ON=$(git d escribe -- abbrev=0 - -tags)
  221       export  GIT_BRANC H=$(git br anch | fgr ep '*' | c ut -d' ' - f 2)
  222       export  MY_VERSIO N=$USER@$( hostname)  [$RAILS_EN V] $GIT_BR ANCH/$(git  rev-parse  --short H EAD) CM: $ APP_VERSIO N
  223  
  224   With those  two lines  in a deve loper's `. env.local`  file a `R AILS_ENV=d evelopment  rails con sole` sess ion will s how someth ing like:
  225  
  226   ```
  227   Loading de velopment  environmen t (Rails 4 .2.3)
  228   [1] pry(ma in)> ENV[' APP_VERSIO N']
  229   => "CUI-2. 2.0.EOS10- Int"
  230   [2] pry(ma in)> ENV[' GIT_BRANCH ']
  231   => "PP-558 "
  232   [3] pry(ma in)> ENV[' MY_VERSION ']
  233   => "dvanho ozer@42Six -00485.loc al [develo pment] PP- 558/90c02e 53 CM: CUI -2.2.0.EOS 10-Int"
  234   [4] pry(ma in)>
  235   ```
  236  
  237  
  238   ## Naming  Convention s
  239  
  240   System env ironment v ariables n eed to be  named in s uch a way  where thei r applicat ion and fu nction is  obvious up on inspect ion of the ir name.   System env ironment v ariables w hich are u sed togeth er within  the same f eature sho uld all be gin with t he same ph rase (name spaced) su ch as is d one with t he EMAIL a nd FEEDBAC K features .
  241  
  242  
  243   ## Variabl e Name (So rted)
  244  
  245   [A](#a) .  [B](#b) .  [C](#c) .  [D](#d) .  [E](#e) .  [F](#f) .  [G](#g) .  [H](#h) .  [I](#i) .  [J](#j) .  [K](#k) .  [L](#l) .  [M](#m) .  [N](#n) .  [O](#o) .  [P](#p) .  [Q](#q) .  [R](#r) .  [S](#s) .  [T](#t) .  [U](#u) .  [V](#v) .  [W](#w) .  [X](#x) .  [Y](#y) .  [Z](#z)
  246  
  247  
  248   ### A
  249   | Variable  Name      | Descript ion |
  250   |--------- ---------- |--------- ---------- ---|
  251   | APP_HOST  | Set the  HTTP head er to loca lhost to r esolve WAS A report f inding |
  252   | ACTIVE_J OB_QUEUE_P REFIX | A  string to  identify t he backgro und jobs s ubmitted b y this app lication |
  253   | ACTIVE_J OB_URL | T he data st ore where  background  jobs are  submitted  |
  254   | ALWAYS_M INIFY_ASSE TS | If tr ue, JS/CSS  assets ge t auto-min ified rega rdless of  Rails env  |
  255   | APP_LOGI N_URL | Th e fully qu alified UR L for the  login page  for this  applicatio n |
  256   | APP_URL  | The full y qualifie d base URL  for this  applicatio n.  APP_LO GIN_URL sh ould start  with the  value of t his variab le |
  257   | APP_VERS ION | Used  by the CM  to set th e applicat ion versio n for disp lay within  the web p ages |
  258  
  259   ### B
  260   | Variable  Name      | Descript ion |
  261   |--------- ---------- |--------- ---------- ---|
  262   | BUNDLE_G EMFILE | T he file na me that th e `bundle`  command u ses to ret rieve the  gem names  for inclus ion into t he applica tion.  Def ault is "G emfile" |
  263  
  264   ### C
  265   | Variable  Name      | Descript ion |
  266   |--------- ---------- |--------- ---------- ---|
  267   | CALLBACK _URL | FIX ME: name i s too gene ric|
  268   | CERTIFIC ATE | FIXM E: name is  too gener ic |
  269   | CUI_DISA BLE_UNDER_ REVIEW | |
  270   | CUI_SUPP ORT_INBOX  | Email ad dress that  support r equests ar e sent to  |
  271  
  272   ### D
  273   | Variable  Name      | Descript ion |
  274   |--------- ---------- |--------- ---------- ---|
  275   | db - dat abase feat ure | This  applicati ons makes  use of the  standard  Rails obje ct relatio nal mappin g (ORM) sy stem Activ eRecord.   Access to  the relati onal datab ase manage ment syste m (RDBMS)  is configu red via th e file `co nfig/datab ase.yml` u sing varia bles whose  names sta rt with DB . |
  276   | DBADAPTE R | The Ra ils ORM (A ctiveRecor d) databas e adapter  to use for  accessing  the DBMS.   Example:  'pg' |
  277   | DBHOST |  The host  name or IP  address o f the DBMS  server.   Can also b e a socket  reference . |
  278   | DBMIGRAT E | true/f alse invok es rake db :migrate t ask on app lication s tart |
  279   | DBNAME |  The base  name of th e database  within th e DBMS ser ver used.   The RAILS _ENV is au tomaticall y used as  a suffix i n the `con fig/databa se.yml` fi le |
  280   | DBPASS |  The passw ord of the  `DBUSER`  for access ing the da tabase |
  281   | DBPORT |  The TCP p ort to use  when cont acting the  DBMS serv er via TCP . |
  282   | DBRESET  | true/fal se invokes  rake db:r esettask o n applicat ion start  |
  283   | DBSEED |  true/fals e invokes  rake db:se ed task on  applicati on start |
  284   | DBUSER |  The user  account to  use when  contacting  the DBMS  server |
  285   | DEPLOY_T YPE | Not  set in any  `.env*` f iles.  Use d to speci fy which ` .env*` is  used for a  specific  type of de ployment.   (eg. sqa,  uat, dock er) |
  286   | DEVELOPE R_TESTING  | true/fal se Adds "D eveloper T esting" ba nner to to p of every  page |
  287   | DISPLAY_ FACILITY_D ROPDOWNS |  true/fals e Determin es whether  Facility  dropdowns  are visibl e on Consu ltation an d Referral  filter op tions pane ls |
  288   | DOCKER_H OST_WEB_PO RT | Used  with the ` web_docker -compose.y ml` file t o specify  the TCP po rt to be e xposed to  the host m achine fro m inside t he docker  image. |
  289  
  290   The `rake  prep:db` t ask used b y the `rak e app:star t` task ma kes use of  the DBMIG RATE, DBRE SET and DB SEED varia bles to co ntrol its  execution  of the `db :migrate,  db:seed an d db:reset ` tasks.   See the fi le `lib/ta sks/prep.r ake` for d etails.
  291  
  292   * `db:rese t` destroy s all data  in a data base
  293   * `db:migr ate` chanc es the sch ema of a d atabase.   It can als o change t he content  of the da tabase as  well based  upon the  new migrat ions that  are being  applied.
  294   * `db:seed ` task mod ifies the  content of  a databas e.
  295  
  296   This integ ration of  system env ironment v ariables w ith rake t asks was s pecificall y implemen ted to sup port the d eployment  of the doc ker contai ners.
  297  
  298   ### E
  299   | Variable  Name      | Descript ion |
  300   |--------- ---------- |--------- ---------- ---|
  301   | email fe ature | Th is applica tion sends  (never re ceives) eM ail messag es to user s for vari ous purpos es.  The o utgoing eM ail is con figured us ing the va riables wi th names b eginning E MAIL_*  eM ail can al so be sent  to notify  developer s/maintain ers of use r feedback  messages.   The conf iguration  of the eMa il service s supporti ng the fee dback feat ure is set  by variab les with n ames begin ning FEEDB ACK_EMAIL_ * which pa rrallels t he variabl es defined  as EMAIL_ *  This wa s done to  provide fo r the fexl ibility of  having tw o eMail ro utes out o f the appl ication.   Typically  the FEEDBA CK_EMAIL_*  variables  are set t o their $E MAIL_* cou nterparts.  |
  302   | EMAIL_DO MAIN | FIX ME: undocu mented |
  303   | EMAIL_HO ST | This  is the hos t name or  IP address  of the eM ail server  |
  304   | EMAIL_PA SS | This  is the pas sword for  the $EMAIL _USER acco unt on the  eMail ser ver |
  305   | EMAIL_PO RT | This  is the TCP  port to u se when ac cessing th e eMail se rver |
  306   | EMAIL_SA NITIZE | F IXME: undo cumented |
  307   | EMAIL_US ER | This  is the use r account  for access ing the eM ail server  |
  308   | ENABLE_F EEDBACK |  true/false  enables t he user fe edback fea ture which  is based  upon the [ pointless_ feedback g em](https: //github.c om/vigetla bs/pointle ss-feedbac k/blob/mas ter/README .md)|
  309   | ENABLE_F EEDBACK_EM AIL | true /false ena bles notif ication of  user feed back via e Mail |
  310   | ENABLE_F EEDBACK_HI PCHAT | tr ue/false e nables not ification  of user fe edback via  hipchat |
  311   | ENABLE_F EEDBACK_SL ACK | true /false ena bles notif ication of  user feed back via s lack |
  312   | ENABLE_O PENSSL_INI TIALIZER |  true/fals e enables  initializa tion of op enSSL |
  313   | ENABLE_P HASE_2 | F IXME: too  generic; u ndocumente d |
  314  
  315   ### F
  316   | Variable  Name      | Descript ion |
  317   |--------- ---------- |--------- ---------- ---|
  318   | feedback  feature |  The feedb ack featur e allows a pplication  users to  send messa ges to the  developer s and main tainers of  the appli cation.  T his featur e is contr olled by E NABLE_FEED BACK.  It  has the ab ility to p rovide not ifications  to the de velopers/m aintainers  via three  different  routes: e Mail, hipc hat and sl ack.  The  notificati ons routes  are contr oled by EN ABLE_FEEDB ACK_EMAIL,  ENABLE_FE EDBACK_HIP CHAT and E NABLE_FEED BACK_SLACK  |
  319   | FEEDBACK _EMAIL_DOM AIN | Typi cally set  to $EMAIL_ DOMAIN |
  320   | FEEDBACK _EMAIL_HOS T | Typica lly set to  $EMAIL_HO ST |
  321   | FEEDBACK _EMAIL_PAS S | Typica lly set to  $EMAIL_PA SS |
  322   | FEEDBACK _EMAIL_POR T | Typica lly set to  $EMAIL_PO RT |
  323   | FEEDBACK _EMAIL_SAN ITIZE | tr ue/false U sed to scr ub HTML fr om eMail m essages. |
  324   | FEEDBACK _EMAIL_SUB JECT | The  prefix ph rase to us e on an eM ail subjec t line for  eMail not ifications  of user f eedback.   The topic  of the fee dback mess age is app eded to th is value t o build th e complete  subject l ine|
  325   | FEEDBACK _EMAIL_TO  | This is  the list o f eMaill a ddress to  which user  feedback  notificati on message s are sent . This is  a string o f comma se perated va lues. |
  326   | FEEDBACK _EMAIL_USE R | The us er account  name of t he eMail s erver used  to send f eedback me ssage noti fications.   Typicall y set to $ EMAIL_UESR  |
  327   | FEEDBACK _HIPCHAT_R OOM | The  hipchat ro om name to  which fee dback mess age notifi cations ar e sent |
  328   | FEEDBACK _HIPCHAT_S ERVER | Th e host nam e or IP ad dress of t he hipchat  server to  receive u ser feedba ck message  notificat ions |
  329   | FEEDBACK _HIPCHAT_T OKEN | The  hipchat s pecial acc ess authen tication t oken used  to grant o utside acc ess to a h ipchat ser ver |
  330   | FEEDBACK _IM_GATEWA Y | The di stributed  Ruby URL o f the inst ant messag ing gatewa y used to  provided f eedback me ssage noti fications  to both hi pchat and  slack. |
  331   | FEEDBACK _SLACK_CHA NNEL | The  channel ( e.g. room)  into whic h user fee dback mess age notifi cations ar e posted o n the slac k server.  |
  332   | FEEDBACK _SLACK_USE RNAME | Th e user nam e of the a ccount aut horized to  post feed back notif ication me ssages to  the slack  server |
  333   | FEEDBACK _SLACK_WEB HOOK_URL |  This is t he URL use d by the I M Gateway  for sendin g user fee dback noti fication m essages to  a slack s erver |
  334  
  335   ### G
  336   ### H
  337   | Variable  Name      | Descript ion |
  338   |--------- ---------- |--------- ---------- ---|
  339   | HOME | I ntrinsic v ariable of  the OS (n ot set in  any `.env* ` file) Us ed in the  `rake db:b ackup and  db:restore ` tasks. T he root di rectory of  the user  within the  workstati on/host co mputer. |
  340  
  341  
  342   ### I
  343   | Variable  Name      | Descript ion |
  344   |--------- ---------- |--------- ---------- ---|
  345   | IDP_CERT _FINGERPRI NT | FIXME : undocume nted |
  346   | IDP_TARG ET_URL | F IXME: undo cumented |
  347   | ISSUER |  FIXME: un documented  |
  348  
  349   ### J
  350   ### K
  351   ### L
  352   | Variable  Name      | Descript ion |
  353   |--------- ---------- |--------- ---------- ---|
  354   | LOG_LEVE L | The le vel of Rai ls logging  to use in  the appli cation; va lues are D EBUG, INFO , WARNING,  ERROR |
  355  
  356   ### M
  357   ### N
  358   | Variable  Name      | Descript ion |
  359   |--------- ---------- |--------- ---------- ---|
  360   | NAME_IDE NTIFIER_FO RMAT | FIX ME: too ge neric; und ocumented  |
  361  
  362   ### O
  363   ### P
  364   | Variable  Name      | Descript ion |
  365   |--------- ---------- |--------- ---------- ---|
  366   | PHASE_2_ BODY_SYSTE MS | FIXME : too gene ric; undoc umented |
  367   | POSTGRES _DB | Used  within th e `db_dock er-compose .yml` file  to specif y the name  of the da tabase to  use on the  DBMS serv er.  Must  be set to  the value  of $DBNAME  |
  368   | POSTGRES _PASSWORD  | Used wit hin the `d b_docker-c ompose.yml ` file to  specify th e user acc ount passw ord.  Must  be set to  the value  of $DBPAS S |
  369   | POSTGRES _USER | Us ed within  the `db_do cker-compo se.yml` fi le to spec ify the us er account  fpr acces somg tje D B<S server .  Must be  set to th e value of  $DBNAME |
  370   | PRIVATE_ KEY | FIXM E: too gen eric; undo cumented |
  371   | puma fea ture | The  [puma gem ](https:// github.com /puma/puma /blob/mast er/README. md) implem ents the w eb server  selected b y the appl ication de velopers f or its spe ed and sta bility. It  is config ured using  environme nt variabl es with na mes that s tart PUMA_ * Puma is  the most w idely used  web serve r for Rail s applicat ions on th e internet .  Its pop ularity an d its stab ility have  resulted  in the Rai ls team ch oosing Pum a as their  standard  web server  beginning  with Rail s version  5.1 |
  372   | PUMA_BIN D | Over-r ides the v alues of P UMA_PROTOC OL, PUMA_H OST and PU MA_PORT as  we;; as P UMA_SSL_CE RT_PATH an d PUMA_SSL _KEY_PATH  when the p rotocol is  "ssl://"  - PUMA_BIN D is the g olden sour ce for all  its compo nents.  Us e Ruby's U RI modeul  to extract  its compo nents if t hey are ne eded indiv idually -  See `confi g/puma.rb`  for detai ls |
  373   | PUMA_DAE MONIZE | t rue/false  Set to fal se for all  web conta iners; Set  to true f or all oth er web ser vers |
  374   | PUMA_HOS T | The ho st name or  IP addres s of this  web server  to which  the Puma p rocess sho uld bind.   Typically  the value  is 0.0.0. 0 meaning  all IP add ress and n ames of th is server  |
  375   | PUMA_MAX _THREADS |  The maxim um number  of threads  to run pe r Puma wor ker.  Typi cally 4 |
  376   | PUMA_MIN _THREADS |  The minim um number  of threads  to run pe r Puma wor ker.  Typi cally 1 |
  377   | PUMA_POR T | The TC P port thr ough which  the Puma  applicatio n server i s reached.  |
  378   | PUMA_PRO TOCOL | Th e puma web  server ca n be reach ed by vari ous networ k connetio ns.  The m ost typica l is TCP.   The value  for this  variable i s "tcp://"  in normal  configura tions |
  379   | PUMA_RED IRECT_LOGS  | when a  true-ish v alue STDOU T and STDE RR are sen t to files  in the Ra ils.root/l og directo ry |
  380   | PUMA_SSL _CERT_PATH  | When th e PUMA_PRO TOCOL is " ssl://" th is variabl e is a rel ative path  to the ce rt.file fr om Rails.r oot; it is  only used  to build  PUMA_BIND  |
  381   | PUMA_SSL _KEY_PATH  | When the  PUMA_PROT OCOL is "s sl://" thi s variable  is a rela tive path  to the cer t.file fro m Rails.ro ot; it is  only used  to build P UMA_BIND |
  382   | PUMA_WOR KERS | The  number of  workers f or the Pum a master p rocess to  start.  Ty pically 1  per CPU (n ot core) i n the web  server. |
  383   | PUMA_WOR KER_TIMEOU T | The nu mber of se conds to w ait before  the Puma  master pro cess resta rts a stal led Puma w orker. |
  384  
  385   ### Q
  386   ### R
  387   | Variable  Name      | Descript ion |
  388   |--------- ---------- |--------- ---------- ---|
  389   | RACK_ENV  | (Not se t in any ` .env*` fil e) Should  have the s ame value  as RAILS_E NV|
  390   | RAILS_EN V | (Not s et in any  `.env*` fi le) Establ ishes the  operating  environmen t; typical  valures a re: develo pment, tes t, product ion |
  391  
  392   ### S
  393   | Variable  Name               |  Descripti on |
  394   |--------- ---------- ---------| ---------- ---------- --|
  395   | SAML_CAL LBACK               |  FIXME: un documented  |
  396   | SAML_CER TIFICATE            |  FIXME: un documented  |
  397   | SAML_ISS UER                 |  FIXME: un documented  |
  398   | SAML_KEY                     |  FIXME: un documented  |
  399   | SAML_LOG OUT                 |  FIXME: un documented  |
  400   | SAML_LOG OUT_RELAY           |  FIXME: un documented   |
  401   | SAML_MET ADATA_URL           |  FIXME: un documented   |
  402   | SAML_REL AY                  |  FIXME: un documented   |
  403   | SANITIZE                     |  FIXME: to o generic;  undocumen ted |
  404   | SANITIZE D_EMAIL             |  FIXME: ba d namespac e; how doe s this dif fer from E MAIL_SANIT IZE? ; und ocumented  |
  405   | SECRET_K EY_BASE             |  FIXME: un documented  |
  406   | SEND_NOT IFICATIONS _TO_DAS  |  true/fals e, flag th at enables /prevents  notificati ons from b eing sent  to DAS
  407  
  408   ### T
  409  
  410   | Variable  Name                   | Descri ption |
  411   |--------- ---------- ---------- --|------- ---------- -----|
  412   | TEST_STR ESS_MAX_RE FERRALS      | Count  of the ent ries in th e referral s database  table |
  413   | TEST_STR ESS_MAX_CO NSULTATION S | Count  of the ent ries in th e consulta tions data base table  |
  414   | TEST_STR ESS_APP_UR L            | The ba se URL (eg . http://l ocalhost:4 567) of th e applicat ion |
  415   | TEST_STR ESS_SIGN_I N            | The UR I of the s ign_in pag e (eg. /si gn_in) |
  416   | TEST_STR ESS_USERNA ME           | The ac count for  the applic ation sign _in |
  417   | TEST_STR ESS_PASSWO RD           | The pa ssword for  the sign_ in account  |
  418   | TEST_STR ESS_COUNT               | The nu mber of co ncurrent u sers (thre ads) to us e during t he test |
  419   | TEST_STR ESS_RAMPUP              | The nu mber of se conds to t ake to get  from zero  to the to tal number  of thread s |
  420   | TEST_STR ESS_LOOPS               | How ma ny times s hould each  thread (u ser) repea t the test  sequence  |
  421   | TEST_STR ESS_PAGES               | The nu mber of pa ges to acc ess during  the test  |
  422   | TEST_STR ESS_DURATI ON           | The nu mber of se conds to r un the str ess test |
  423  
  424   The direct ory `test/ stress` co ntains at  least one  program (c pp_jmeter. rb) that c reates an  XML test p lan file f or use wit h the Apac he Foundat ion's test ing tool ` jMeter`.   `jMeter` m akes use o f a test p lan expres sed in an  XML file f ormat for  testing we b sites.   The test p lan genera ted by `cp p_jmeter.r b` can be  used to do  load test ing agains t the appl ication fr om either  a single h ost.  The  test plan  generated  can also b e used wit h the [flo od.io](htt p://flood. io/) cloud -based loa d testing  service.
  425  
  426  
  427   ### U
  428   | Variable  Name      | Descript ion |
  429   |--------- ---------- |--------- ---------- ---|
  430   | URL_FOR_ NPI_LOOKUP  | The URL  to use fo r accessin g the NPI  Registry m aintained  by the Hea lth and Hu man Servic es Agency.   FIXME: b ad namespa ce; featur e name sho uld come f irst - con sider: NPI _LOOKUP_UR L |
  431  
  432   ### V
  433   | Variable  Name                   | Descri ption |
  434   |--------- ---------- ---------- --|------- ---------- -----|
  435   | VBMS_UPL OADER_ENV               | FIXME:  undocumen ted |
  436   | VIA_API_ ENDPOINT_U RL           | This i s the endp oint URL f or VIA web -service |
  437   | VIA_API_ NAMESPACE               | This i s the name space of t he VIA web -service|
  438   | VIA_API_ WSDL                    | This i s the URL  where the  VIA servic e WSDL is  present|
  439   | VLER_DAS _CACERT                 | DAS Ce rtificate  Authority  Path (e.g:  /website/ ssl/vler-d as/cachain .crt)
  440   | VLER_DAS _CERT                    | CUI Cert ificate Pa th (e.g: / website/ss l/www.dev- cui. DNS     .crt)
  441   | VLER_DAS _CIPHER_SU ITES         | FIXME:  undocumen ted |
  442   | VLER_DAS _ENABLE_NO TIFICATION S | true/f alse, flag  that enab les/preven ts notific ations fro m being se nt to DAS
  443   | VLER_DAS _EXAM_MANA GEMENT_URL     | DAS Exam  Managemen t Endpoint  URL (e.g:  https://d as-sqa. DNS     /ecrud/v1/ core/examM anagement)
  444   | VLER_DAS _EXAM_RESP ONSE_URL      | DAS Exam  Resonse E ndpoint UR L (e.g: ht tps://das- sqa. DNS     /ecrud/v1/ core/examR esponse/tr ansform)
  445   | VLER_DAS _KEYFILE                 | CUI Cert ificate Ke y (e.g: /w ebsite/ssl /cui. DNS     .key)
  446   | VLER_DAS _KEYPASS                | FIXME:  undocumen ted |
  447   | VLER_DAS _URL                    | FIXME:  undocumen ted |
  448   | VX_API_B ASE_URL                 | This i s the Base  URL for V eterans Ex change web -service|
  449   | VX_API_A UTH_URL                 | The UR L used to  establish  a session  for furthe r communic ation with  VistA |
  450   | VX_API_C REDENTIALS              | The ac cess and v erify code s needed f or establi shing conn ection Vis tA |
  451  
  452   ### W
  453   ### X
  454   | Variable  Name      | Descript ion |
  455   |--------- ---------- |--------- ---------- ---|
  456   | XCERTIFI CATE | FIX ME: too ge neric; und ocumented  |
  457   | XIDP_CER T_FINGERPR INT | FIXM E: too gen eric; undo cumented |
  458   | XPRIVATE _KEY | FIX ME: too ge neric; und ocumented  |
  459  
  460   ### Y
  461   ### Z