151. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 2/21/2018 6:58:14 AM Central Standard 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.

151.1 Files compared

# Location File Last Modified
1 CUI-CPP-v2.4.0-source-archive.zip\doc system_environment_variables.md Thu Dec 21 03:33:17 2017 UTC
2 CUI-CPP-v2.4.0-source-archive.zip\doc system_environment_variables.md Tue Feb 6 20:16:50 2018 UTC

151.2 Comparison summary

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

151.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

151.4 Active regular expressions

No regular expressions were active.

151.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             | D escription  |
  266   |--------- ---------- -------|-- ---------- ---------- |
  267   | CUI_DISA BLE_UNDER_ REVIEW | |
  268   | CUI_SUPP ORT_INBOX         | E mail addre ss that su pport requ ests are s ent to |
  269   | CLAIMS_A PI_URL            | T he url por tion that  claims are  posted to  |
  270  
  271   ### D
  272   | Variable  Name      | Descript ion |
  273   |--------- ---------- |--------- ---------- ---|
  274   | 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 . |
  275   | DBADAPTE R | The Ra ils ORM (A ctiveRecor d) databas e adapter  to use for  accessing  the DBMS.   Example:  'pg' |
  276   | DBHOST |  The host  name or IP  address o f the DBMS  server.   Can also b e a socket  reference . |
  277   | DBMIGRAT E | true/f alse invok es rake db :migrate t ask on app lication s tart |
  278   | 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 |
  279   | DBPASS |  The passw ord of the  `DBUSER`  for access ing the da tabase |
  280   | DBPORT |  The TCP p ort to use  when cont acting the  DBMS serv er via TCP . |
  281   | DBRESET  | true/fal se invokes  rake db:r esettask o n applicat ion start  |
  282   | DBSEED |  true/fals e invokes  rake db:se ed task on  applicati on start |
  283   | DBUSER |  The user  account to  use when  contacting  the DBMS  server |
  284   | 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) |
  285   | DEVELOPE R_TESTING  | true/fal se Adds "D eveloper T esting" ba nner to to p of every  page |
  286   | 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 |
  287   | 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. |
  288  
  289   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.
  290  
  291   * `db:rese t` destroy s all data  in a data base
  292   * `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.
  293   * `db:seed ` task mod ifies the  content of  a databas e.
  294  
  295   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.
  296  
  297   ### E
  298   | Variable  Name      | Descript ion |
  299   |--------- ---------- |--------- ---------- ---|
  300   | 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.  |
  301   | EMAIL_DO MAIN | FIX ME: undocu mented |
  302   | EMAIL_HO ST | This  is the hos t name or  IP address  of the eM ail server  |
  303   | EMAIL_PA SS | This  is the pas sword for  the $EMAIL _USER acco unt on the  eMail ser ver |
  304   | EMAIL_PO RT | This  is the TCP  port to u se when ac cessing th e eMail se rver |
  305   | EMAIL_SA NITIZE | F IXME: undo cumented |
  306   | EMAIL_US ER | This  is the use r account  for access ing the eM ail server  |
  307   | 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)|
  308   | ENABLE_F EEDBACK_EM AIL | true /false ena bles notif ication of  user feed back via e Mail |
  309   | ENABLE_F EEDBACK_HI PCHAT | tr ue/false e nables not ification  of user fe edback via  hipchat |
  310   | ENABLE_F EEDBACK_SL ACK | true /false ena bles notif ication of  user feed back via s lack |
  311   | ENABLE_O PENSSL_INI TIALIZER |  true/fals e enables  initializa tion of op enSSL |
  312   | ENABLE_P HASE_2 | F IXME: too  generic; u ndocumente d |
  313  
  314   ### F
  315   | Variable  Name      | Descript ion |
  316   |--------- ---------- |--------- ---------- ---|
  317   | 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  |
  318   | FEEDBACK _EMAIL_DOM AIN | Typi cally set  to $EMAIL_ DOMAIN |
  319   | FEEDBACK _EMAIL_HOS T | Typica lly set to  $EMAIL_HO ST |
  320   | FEEDBACK _EMAIL_PAS S | Typica lly set to  $EMAIL_PA SS |
  321   | FEEDBACK _EMAIL_POR T | Typica lly set to  $EMAIL_PO RT |
  322   | FEEDBACK _EMAIL_SAN ITIZE | tr ue/false U sed to scr ub HTML fr om eMail m essages. |
  323   | 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|
  324   | FEEDBACK _EMAIL_TO_ CUI | This  is the eM ail addres s to which  user feed back notif ication me ssages are  sent for  CUI. |
  325   | FEEDBACK _EMAIL_TO_ CPP | This  is the eM ail addres s to which  user feed back notif ication me ssages are  sent for  CPP. |
  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  
  346   ### J
  347   ### K
  348   ### L
  349   | Variable  Name      | Descript ion |
  350   |--------- ---------- |--------- ---------- ---|
  351   | LOG_LEVE L | The le vel of Rai ls logging  to use in  the appli cation; va lues are D EBUG, INFO , WARNING,  ERROR |
  352  
  353   ### M
  354   | Variable  Name      | Descript ion |
  355   |--------- ---------- |--------- ---------- ---|
  356   | MVI_API_ URL        | This is  the endpoi nt for the  VA Master  Veteran I ndex web-s ervice to  retrieve v eteran/pat ient ident ity info
  357  
  358   ### N
  359   | Variable  Name      | Descript ion |
  360   |--------- ---------- |--------- ---------- ---|
  361   | NTM_ENAB LED    | A  truthy th ing (true  or false)  to enable  or disable  the /news  route |
  362   | NTM_S3_E NABLED | A  truthy th ing to ena ble or dis able acces s to S3 fo r data |
  363   | NTM_S3_T OKEN   | T he securit y token us ed to acce ss S3 |
  364   | NTM_S3_B UCKET | Th e S3 bucke ct contain ing NTM da ta |
  365   | NTM_ROOT _DIR  | Th e sub-dire ctory with in the S3  bucket for  NTM data  |
  366   | NTM_NEWS _DIR  | Th e sub-dire ctory with in the NTM _ROOT_DIR  for news a rticles |
  367   | NTM_TM_D IR    | Th e sub-dire ctory with in the NTM _DOOR_DIR  for traini ng materia l |
  368   | NTM_CUI_ DIR   | Th e sub-dire ctory unde r news and  tm direct ories that  is specif ic to CUI  users |
  369   | NTM_CPP_ DIR   | Th e sub-dire ctory unde r news and  tm direct ories that  is specif ic to CPP  users |
  370  
  371   ### O
  372   ### P
  373   | Variable  Name      | Descript ion |
  374   |--------- ---------- |--------- ---------- ---|
  375   | PHASE_2_ BODY_SYSTE MS | FIXME : too gene ric; undoc umented |
  376   | 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  |
  377   | 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 |
  378   | 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 |
  379   | 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 |
  380   | 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 |
  381   | 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 |
  382   | 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  |
  383   | PUMA_MAX _THREADS |  The maxim um number  of threads  to run pe r Puma wor ker.  Typi cally 4 |
  384   | PUMA_MIN _THREADS |  The minim um number  of threads  to run pe r Puma wor ker.  Typi cally 1 |
  385   | PUMA_POR T | The TC P port thr ough which  the Puma  applicatio n server i s reached.  |
  386   | 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 |
  387   | 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 |
  388   | 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  |
  389   | 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 |
  390   | 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. |
  391   | 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. |
  392  
  393   ### Q
  394   ### R
  395   | Variable  Name      | Descript ion |
  396   |--------- ---------- |--------- ---------- ---|
  397   | RACK_ENV  | (Not se t in any ` .env*` fil e) Should  have the s ame value  as RAILS_E NV|
  398   | 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 |
  399  
  400   ### S
  401   | Variable  Name                   | Descri ption |
  402   |--------- ---------- ---------- --|------- ---------- -----|
  403   | SSOI_CAL LBACK_URL               | Callba ck URL pro vided to t he Single  Sign On -  Internal t eam to pos t the resp onse back  to the CUI  applicati on |
  404   | SSOI_ISS UER                     | Issuer  on the Si ngle Sign  On - Inter nal side |
  405   | SSOI_IDP _TARGET_UR L            | Target  URL that  CUI applic ation post s the SAML  request t o |
  406   | SSOI_IDP _CERT_FING ERPRINT      | Finger  print gen erated bas ed on the  Single Sig n On - Int ernal cert ificate |
  407   | SSOI_NAM E_IDENTIFI ER_FORMAT    | Name i dentifier  provided b y the Sing le Sign On  - Interna l implemen tation tea m |
  408   | SSOI_CER TIFICATE                | Certif icate prov ided by th e Single S ign On - I nternal im pelentatio n team  |
  409   | SSOI_PRI VATE_KEY                | Enviro nment priv ate key  |
  410   | SAML_REL AY                  |  FIXME: un documented   |
  411   | SANITIZE                     |  FIXME: to o generic;  undocumen ted |
  412   | SANITIZE D_EMAIL             |  FIXME: ba d namespac e; how doe s this dif fer from E MAIL_SANIT IZE? ; und ocumented  |
  413   | SECRET_K EY_BASE             |  FIXME: un documented  |
  414   | SEND_NOT IFICATIONS _TO_DAS  |  true/fals e, flag th at enables /prevents  notificati ons from b eing sent  to DAS
  415  
  416   ### T
  417  
  418   | Variable  Name                   | Descri ption |
  419   |--------- ---------- ---------- --|------- ---------- -----|
  420   | TEST_STR ESS_MAX_RE FERRALS      | Count  of the ent ries in th e referral s database  table |
  421   | TEST_STR ESS_MAX_CO NSULTATION S | Count  of the ent ries in th e consulta tions data base table  |
  422   | TEST_STR ESS_APP_UR L            | The ba se URL (eg . http://l ocalhost:4 567) of th e applicat ion |
  423   | TEST_STR ESS_SIGN_I N            | The UR I of the s ign_in pag e (eg. /si gn_in) |
  424   | TEST_STR ESS_USERNA ME           | The ac count for  the applic ation sign _in |
  425   | TEST_STR ESS_PASSWO RD           | The pa ssword for  the sign_ in account  |
  426   | TEST_STR ESS_COUNT               | The nu mber of co ncurrent u sers (thre ads) to us e during t he test |
  427   | 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 |
  428   | TEST_STR ESS_LOOPS               | How ma ny times s hould each  thread (u ser) repea t the test  sequence  |
  429   | TEST_STR ESS_PAGES               | The nu mber of pa ges to acc ess during  the test  |
  430   | TEST_STR ESS_DURATI ON           | The nu mber of se conds to r un the str ess test |
  431  
  432   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.
  433  
  434  
  435   ### U
  436   | Variable  Name               |  Descripti on |
  437   |--------- ---------- ---------| ---------- ---------- --|
  438   | URL_FOR_ NPI_LOOKUP          |  The URL t o use for  accessing  the NPI Re gistry mai ntained by  the Healt h and Huma n Services  Agency.   FIXME: bad  namespace ; feature  name shoul d come fir st - consi der: NPI_L OOKUP_URL  |
  439  
  440   ### V
  441   | Variable  Name                   | Descri ption |
  442   |--------- ---------- ---------- --|------- ---------- -----|
  443   | VBMS_UPL OADER_ENV               | FIXME:  undocumen ted |
  444   | VIA_ACTI VE_FOR_CPP              | Settin g to toggl e using VI A web-serv ice |
  445   | VIA_ACTI VE_FOR_CUI              | Settin g to activ ate the CU I Vista lo gin page |
  446   | VIA_API_ URL                     | Base U RL for acc essing var ious VIA w eb-service s |
  447   | VIA_HOST                         | Hostna me to be a dded to /e tc/hosts f or VIA web -services  |
  448   | VIA_IP                           | IP add ress for V IA web-ser vices /etc /hosts fil e entry|
  449   | VIA_API_ ROOT_ENDPO INT          | Endpoi nt root us ed when ma king reque sts throug h VIA web- service|
  450   | VIA_API_ XML_NAMESP ACE          | XML na mespace us ed when pa rsing VIA  web-servic e XML docu ments|
  451   | VIA_CONS _APP_TOKEN              | Consum ing app to ken used t o authenti cate with  VIA web-se rvice |
  452   | VIA_CONS _APP_PASS               | Consum ing app pa ssword use d to authe nticate VI A web-serv ice |
  453   | VIA_REQ_ APP                     | Reques ting app u sed in VIA  web-servi ce |
  454   | VLER_DAS _CACERT                 | DAS Ce rtificate  Authority  Path (e.g:  /website/ ssl/vler-d as/cachain .crt)
  455   | VLER_DAS _CERT                    | CUI Cert ificate Pa th (e.g: / website/ss l/www.dev- cui. DNS     .crt)
  456   | VLER_DAS _CIPHER_SU ITES         | FIXME:  undocumen ted |
  457   | VLER_DAS _ENABLE_NO TIFICATION S | true/f alse, flag  that enab les/preven ts notific ations fro m being se nt to DAS
  458   | VLER_DAS _EXAM_MANA GEMENT_URL     | DAS Exam  Managemen t Endpoint  URL (e.g:  https://d as-sqa. DNS     /ecrud/v1/ core/examM anagement)
  459   | 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)
  460   | VLER_DAS _KEYFILE                 | CUI Cert ificate Ke y (e.g: /w ebsite/ssl /cui. DNS     .key)
  461   | VLER_DAS _KEYPASS                | FIXME:  undocumen ted |
  462   | VLER_DAS _URL                    | FIXME:  undocumen ted |
  463   | VX_API_B ASE_URL                 | This i s the Base  URL for V eterans Ex change web -service|
  464   | VX_API_A UTH_URL                 | The UR L used to  establish  a session  for furthe r communic ation with  VistA |
  465   | VX_API_C REDENTIALS              | The ac cess and v erify code s needed f or establi shing conn ection Vis tA |
  466  
  467   ### W
  468   ### X
  469   | Variable  Name      | Descript ion |
  470   |--------- ---------- |--------- ---------- ---|
  471   | XCERTIFI CATE | FIX ME: too ge neric; und ocumented  |
  472   | XIDP_CER T_FINGERPR INT | FIXM E: too gen eric; undo cumented |
  473   | XPRIVATE _KEY | FIX ME: too ge neric; und ocumented  |
  474  
  475   ### Y
  476   ### Z