From 536d0acc1bf99815e71c25d2d3d1825704e95a71 Mon Sep 17 00:00:00 2001 From: Michael Johnson Date: Fri, 8 Jun 2018 20:58:12 +0000 Subject: [PATCH] Updating with install instructions from github README.md perfsonar/project#1128 --- images/pwa/pwa_install.png | Bin 0 -> 140134 bytes pwa_api.rst | 47 ++++++ pwa_install.rst | 168 +------------------ pwa_readme.rst | 334 +++++++++++++++++++++++++++++++++++++ 4 files changed, 383 insertions(+), 166 deletions(-) create mode 100644 images/pwa/pwa_install.png create mode 100644 pwa_api.rst create mode 100644 pwa_readme.rst diff --git a/images/pwa/pwa_install.png b/images/pwa/pwa_install.png new file mode 100644 index 0000000000000000000000000000000000000000..1c6872dc9b55fe93525accef9ac9d83baabfc10b GIT binary patch literal 140134 zcmeFZWmH{Bw>1m|C&+;i2o@yR!QI{6-66QUdk7A}U4v_IcMb0D?(X`YbocXg=ia{m zzMmgs55_+G>{`33)~dDUoVy@cR$2rR9t$1}3=C0BR8Sra3^E%G48j8z8gymY2ksOM z4BW$1KtNVZKmcFX&f3V-!VnCMEXqJv7br$a)~~0htJ^Gp)jr(b zh2O2)gP)$Lskw%UvexB;=F!yK4x3GL=r<&O`Q$p8SL5;Wp1C~9PMMg!{@NGZS=`K) z{>>XAm~UyR@~No^pLfCL*?&R_5%b=>#n-57&H?M@2LBxT4jdQu^D217B*76fz7uNV za5sc98tT^D&k|ts5Mn5`&_QWPdKx}+KR*PM^VY)jQwL$U`%HETbu6{Z&qnz)i9t88 z<HQ3iGT+jR?v+S`}>Q6!Rk z+kbc>zwz%T|B^Vs2@UOK4*k_~7albfbsfq0sh2-UC)LOTQty(Lj`qjO`_%4JT!eqz!45kAb(w|`|BqW7%()0vrDX91tnCc( znW!15X$iUE@$vCF?LHf^%L@ws)g1JRi_pZu!G@iN#@X4K+L?jc+Rm7Uj*X3thL)a& zo}LPH2bI06m4luOm6biwpGN*;N6^sTz|Pdh!PMFc|Ce1oeQQStE<(az5Bl%VpZzp+ zG5z~VR`!1l3p7BQU*FKsQPa}=*EXmr=dY{mvZgME7OH}#mWEdLpl5K?(Xldf{?Xun zef9Sv|It+K@21QQzqS0wH-EL{r1>?1e~jqQ>H6a;Xui1NIcfeo_uTM>xK7|;V7y>r zf_#cD;74f)x}(=GuNjOC2}wzd!e}w!Nvc~D!X$PS*+e3TTVE!l9K3pLMH9S9izdgP zvk`L9B2r-k2;U)OMI8!PslTmCN;0Zle|2kVd-S+nzFD?7I=L@9y?wlI;uI3`1sQh)rVM%07y}vzYide z?*Y1%APx%LH?V&@c;i0t5)_G3Q;-TleB%9=13eNfpdh4<1PAbM&B5Rl#US2g7j0GA z$^UEfPqOE*vOz^I=AD43|GxwO*9^#>@J}T%7}FY$;Cvz>Q5I`YefRIP{mmzww*f(} z?e&Eto?0tpGGE4C>YwiZ=Xnt=cmj}}v@+UL9pxO*Th!bf1lkvW3I3#;_Ba zEf+E^7i$ZYij}#!VUY2<h#l}KnU|=Yei^Y)at+a4FJw08-&4vjCBCWUkzR7Fh z_I${6bKDiSt*EFl;^gDwGg)q|X`w1DXHkb*Rs>l>)YH=|P^-%Ou=q2E6o88A2aSj| zw`jx3>U@H8bGjP2w`bC%l*;6s=0DOVoyH!a^es8rY#|~zxFc60A=49B4C+L-=i|-& zz;4kH%dfbUg@?Sdzk9x26%iH|Zk^fO*r5H~|IOom2()Uay;*;NA2YAqLyy5V(nbgIp!;kmiFg*C}U&kBH{xow%=7e7hIRMlK# zLgaxH9+$%`iJY#LT8#1pJ6*^;j1Y<|?BwL+vc5&Gmpd+NzA$01G)~nn{OATnicWm%->fVnx$2WGa$cpa{W=gR&wY0L#i&%`=eET;+w&x+ARy(BGyNWKNLySm3tU!f+|&${5%Lj-u9KpM*#q$1|P(z z)Rjyg)&oD#7VLqCx4ad}2*w(msZh zqna#2!R78~3eC2%3J_~gz*}ra#LbO80*}i~b80HvXnP+y8n=R{!K?gQSNJ7SBZ)#yNX;uN3xeV6<3h@lCV$>mI!Xie2oF;Xn#xE?KQ%giUDNL#4hudhP~mErH+h+1=%wkpituS zD8CirigX)e zR)#2u3>Kj@*lr3dNNL^Rd7SYX0JckTTjcB|;|=4~MW>5ZM$co}YDacCI{plOJqQ_| z=W0Nj;y1UGhTV{<#t_9Ga-AGuwV>ZT4EzAT8&xEsi)uDs?Q*U^l*G^%L}*6vz0A19 z{g(MXEhrfTHm($+NA|)^=x!6#edWEJ<`*6`O`lOvDRo|P?Nb%eDg={bo(?Tz_sq&JUP0ci`Kt47?jxCMnz>*OwHHEi-1bz(b0fkrj zjA*h|{W>(mZgzDhT{L5%g!=J94MJ&lg*X>`N=c$amP0%>b4i%HOX1v$xHD({`Bx~Y9 z2{SzyCYR6mI?J*!AR!||hi{oa<5$dx$N4lS9!BIQ!?ROQga5GoM-c%>E%*c}t{Ehc zfQ}ez*~2rTD*OC!Qxz)fDwOZXYTAH+L6hhPj4xpNrViM*vH_-=SP-Dg1Klf~5-CPF zr;aOF3u&dbnw)w-bNqSkpwSe?4&9SFLD6SI>-K^KJ=v;pKhJ|OrpnIs(!o-tL^X&>+-EK25Uq_o9GFz{_UFItVei~FNWwjqqOAgsgH&M%GI~4e^ z>VDeN3olk0$ylZ$7hM+6dj~32DbM2#_QqHHlcWhk3VfD@jv6a$ChcxDRuh)P*LrF) zZ0e$>?g#NMqg=O%_%{zlRzb;Ao(fdwQ`6sqe_M@zL7B`A0GVwl+48ou5Fz>p#yOWo zpW1|)2=cd~@Wcn5)3ufwM{^ZjswV~4p^aY)L$wX1;$iJUm-J=${OgKMKEpAMV2#~4 z)^SP!x6tDmcRtD2L9q_>{$y^&C^W#RS|uJe+dYE?kG!faf#y=)zKjYHMMqIH{P zH}Rq8iVAuGyThI?o{q;kRIT-D#FsCS4A#p@QUBgqeE^wUC>c7>)UX7V6Jw!Ls5@6m z&A_yz#$u^Td3rEY?r~0TE+16+K(eCdWW8GQ#>U3C)Ktx!!UD|v{ipj&R*yTIEJwux z1q|+EiFqyRLdO_*zGUv#C;O^NJw3-%C|;V9W=Bx%h&NAj966sxJ;1qy=RiV0sOrO- zJoNwfPJw1njzHXBs<=2Q1lFu{vdEA^v0Ry6%YQs0VjIy~)tHU#gt)Am;hcZ&{N>m`A!MdJYP}gK-ZY&Lrhcks7eK|T=a|S#5I-xie)joG#WqE(mX5PXl^~pBo7qfBk}c_E^MDDIK|_}*XMP-o3f8$uzy}cm z;hqmQiguC%)gYj&TA>dGLg*0a1|{uV>Scz5@tEum1q$giNDfd9<@*mHx4@say|w~s zC{=iiy^C8z3=VRM~iLdjxlPcXOo<7f#vyVU0>Hw=3?LTyE8Xc=*cfaZEXpNW32R(>CL!5kEga zTIZ7``U)>O6>amrS0>71ErKol#4M8@3x%KYF#YI>-;QQ{rzOKF|U4ntB;rI?kpGv$4OZ7gx z_aYH^72fOC3)QAcL9)uPhUeN(thtlV+Sj7_ggmMrE(;jYCOZcl)lqLH#(j?rFAggeRGXKtD(SzERPLmUysX>63f%DKk zIdjq0*0z@&Xq~jts&X#2I1w146^_lq>^m5`h&1?HSN_qh*pI%b7}-;V13c}ku)GvaS zIGm5W9jD8ivXe|(`qQHFa4lt)@uA;h`aE18>d3j52>#}wzpJ<`_a6u&G#7*+leByp zVI7T(NSH0=e1cAiGCAI&lNJ)k&OF{MT1#=A{YcQ zR>@Lwtews9P^aA=@= z{JThn=cCina?|WlY(DtF4@F*HUiUcK z`SG}JGfD)H&mS5Q$f=0*?cdM?C?nzX_?nT*q&LU%G;P^U!5{b|bGL&+!oV+Fr`ctk z@nmB|e}k*=IyOXZcQk{Ae`>zUI4UmAaG)S4moDq1`BM7ne$@MGLW0Uq#1c#@Vq#)G z{~rv0(xO;yUyu~xwG+>6bn|=gZS!YNQD&FSySTe=R`lU9P`m1QKi9yqdx2Ih5p&^T zI``Cp*z!e54xv)lS46r^ z_+y=N^yN2u!-qF#G_096CP8`AYJ;~BKQ~?>Jw3fZAzzyMkgRm@|BS|aI7OOra+4?0 z8lQ>fGi~o@N0302>>^w31uRF`Yx_HH|2avrjgSLUL6v#AR<1vP{_N!+7}%uvzv5+@ z2&9n3_I{O5;PN#5MdJVMC;%Cx6jtPeRr-?5Vy(@WpY%J=_`4gjLa?z-LW=0?E<%&_ zHtP_Ky6(!#@hvYM{xB8Bqj-;x(cG-wFPsyTlM;>d#a1$EsciN;MT_Kx&`2M-!$8

-M}|4x}^a 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�`;_9gWht{!4_%1A7HRuU4|8yu->+cxE$ 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 z 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 literal 0 HcmV?d00001 diff --git a/pwa_api.rst b/pwa_api.rst new file mode 100644 index 00000000..443f05d9 --- /dev/null +++ b/pwa_api.rst @@ -0,0 +1,47 @@ + +psConfig Web Administrator (PWA) API +==================================== + +PWA API +------- + +PWA allows you to create / update meshconfig via REST API. You can use this to automate various configuration adminsitration. + +Before you can start using the API, you need to obtain the access token. + +Login to your PWA server, and run something like following.. + +.. code-block:: bash + + $ docker exec -it sca-auth bash + $ /app/bin/auth.js issue --scopes '{"pwa": ["user"]}' -- username 'username' + eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL3NjYS5pdS5lZHUvYXV0aCIsImlhdCI6MTQ4NzYyNzE2OS45NjMsInNjb3BlcyI6eyJtY2EiOlsidXNlciJdfSwic3ViIjowfQ.hmKr5GAhabMwSltdyq21__-JSGFXFyhxLB7HxhucXLMOslqVo2yOx4qZoLprBDKcCFnKQ7fQNY0fI9coi9ix40clci--p5iSD-w4gzXaxRm2wvldUDQeA... + $ exit + +.. + + '0' is where you put your user ID + + +Copy the output from auth.js which is your access token. Store this on your server somewhere and make sure only you can access it (like chmod 600 ``~/.pwa.token.jwt``\ ) + +You can now use most of the PWA REST APIs as documented here. + +.. + + https://hostname/apidoc/ + + +For example, to query for the hostgroups, you can do something like + +.. code-block:: bash + + jwt=`cat ~/.pwa.token.jwt` + curl -k \ + -H "Authorization: Bearer $jwt" \ + -H "Content-Type: application/json" \ + -X POST https:///api/pwa/hostgroup?limit=1 + +.. code-block:: json + + {"hostgroups":[{"_id":"5884d2c28c5b1e0021328cfa","desc":"New Hostgroup","host_filter":"return false; //select none","name":"Test Bandwidth Group","service_type":"bwctl","update_date":"2017-01-31T01:29:02.949Z","create_date":"2017-01-22T15:41:54.031Z","admins":["1","2","4"],"hosts":["588544c662b49f61a8cd84ab","5886871bd4d83100216d158a","58868aa2d4d83100216d15b3","58869eea4208e70020963856","58868945d4d83100216d159a","5886895ed4d83100216d159e","5886897cd4d83100216d15a2","58868996d4d83100216d15a5","588689afd4d83100216d15a8"],"type":"static","__v":8,"_canedit":false}],"count":11} diff --git a/pwa_install.rst b/pwa_install.rst index 1bb57d73..d30904ba 100644 --- a/pwa_install.rst +++ b/pwa_install.rst @@ -1,171 +1,7 @@ +###################################### Installation ###################################### -Docker -============ - -TODO: update the install docs and/or copy from README.md in the pwa project` - -Start a postgreSQL container for PWA. - -:: - - docker run --name pwa-postgres \ - --restart=always \ - -d postgres - - -After postgreSQL container starts up, start the PWA container with default configuration / self-signed ssl cert. - -:: - - docker run --name pwa \ - --restart=always \ - --link pwa-postgres:postgres \ - -p 80:80 \ - -p 443:443 \ - -p 9443:9443 \ - -d soichih/pwa - -You should now be able to access PWA UI at https:///meshconfig - -RHEL6 / CentOS6 (x86) -============================== - -PWA requires postgreSQL >9.2 provided by CentOS SCL, and nodejs from epel. - -:: - - yum install epel-release - yum install centos-release-scl - -Then, download the latest PWA RHEL6 RPM from `GitRepo `_ - -:: - - yum install pwa-2.0-X.el6.x86_64.rpm - -If this is the first time you have installed PWA, you can run following to initialize DB, generate access token, etc.. - -:: - - service pwa setup - -Stacking PWA on existing toolkit instance on RHEL6 -***************************************************** - -.. note:: This instruction is still incomplete.. I need to reconcile with esmond httpd conf - -Since PWA requires postgreSQL>9.2, and RHEL/CentOS6 provides postgreSQL8 which is used by toolkit(esmond), postgreSQL92 for PWA needs to be installed along side the postgreSQL8. To do this, you will need to adjust the port used by postgreSQL92 to something other than the default 5432 (5433 will do). - -"service pwa setup" will fail to create pwa user and pwadmin database since it tries to use the postgreSQL8 instance. Do following to setup the postgreSQL92 for PWA. - -* Step 1 - Start postgresql92 on port 5433 - -Create /opt/rh/postgresql92/root/etc/sysconfig/pgsql/postgresql92-postgresql - -:: - mkdir /opt/rh/postgresql92/root/etc/sysconfig/pgsql - echo "export PGPORT=5433" > /opt/rh/postgresql92/root/etc/sysconfig/pgsql/postgresql92-postgresql - -Then start postgresql92.. - -:: - - service start postgresql92-postgresql - -* Step 2 - create pwa user and pwadmin database - -:: - - su - postgres - scl enable postgresql92 - psql -p 5433 -c "CREATE ROLE pwa PASSWORD 'newpassword' CREATEDB INHERIT LOGIN;" - psql -p 5433 -c "CREATE DATABASE pwadmin OWNER pwa;" - -* Step 3 - update pwa db config - -Edit /opt/pwa/pwa/api/config/db.js - -:: - - module.exports = 'postgres://pwa:hogehoge@localhost:5433/pwadmin' - - -RHEL7 / CentOS7 (x86) -======================= - -Download the latest PWA RHEL7 RPM from `GitRepo `_. - -:: - - yum install epel-release - yum install pwa-2.0-X.el7.x86_64.rpm - -If this is the first time you have installed PWA, you can run following to initialize postgres DB, generate access token, start apache, PWA, etc.. - -:: - - /opt/pwa/pwa/deploy/rhel7/setup.sh - -If you are upgrading to a new version of PWA, PWA services should automatically restart. If you want to force restarting it anyway, you can run following. - -:: - - pm2 restart all - -Debian -============ - -Debian packages for PWA are not available yet. Debian users that wish to try the PWA should do it from a CentOS host or from withing a Docker container (see above for details). - -Post Installation Configuration -################################### - -HTTPS Certificate -======================== - -You will need to request and install a new HTTP/SSL certificate. By default, PWA comes with a self-signed certificate installed on /opt/pwa/pwa/deploy/conf/ssl/server/self.cert.pem. How to request the HTTP/SSL certificate is out of scope for this document. Please contact an administrator from your campus / institution to find out more. - -Once you have obtained your HTTP/SSL certificate, you can install it on /etc/grid-security/http, and you will need to adjust the apache configuration (/etc/httpd/conf.d/apache-pwa.conf) to point to your new certificate (for both port 443 and 9443 - if you are using X509 authentication) - -:: - - - SSLCertificateFile /etc/grid-security/http/cert.pem - SSLCertificateKeyFile /etc/grid-security/http/key.pem - SSLCertificateChainFile /etc/grid-security/http/chain.pem - -:: - - - SSLCertificateFile /etc/grid-security/http/cert.pem - SSLCertificateKeyFile /etc/grid-security/http/key.pem - SSLCertificateChainFile /etc/grid-security/http/chain.pem - -Firewall -======================== - -Open following ports on your firewall - -* 80: Used to expose generated MeshConfig -* 443: Used for admin UI -* 9443: Used by SCA authentication service to allow X509 based login - -For systemd -******************** - -:: - - firewall-cmd --add-service=http --zone=public - firewall-cmd --add-service=http --zone=public --permanent - firewall-cmd --add-service=https --zone=public - firewall-cmd --add-service=https --zone=public --permanent - firewall-cmd --add-port=9443/tcp --zone=public - firewall-cmd --add-port=9443/tcp --zone=public --permanent - -PWA should now be running with the default configuration at https:///meshconfig - -Please see :doc:`pwa_configure` next. +.. include:: pwa_readme.rst diff --git a/pwa_readme.rst b/pwa_readme.rst new file mode 100644 index 00000000..3a8c3a3d --- /dev/null +++ b/pwa_readme.rst @@ -0,0 +1,334 @@ +.. role:: raw-html-m2r(raw) + :format: html + + +psConfig Web Administrator (PWA) +================================ + +psConfig Web-based administration GUI and tools to publish generated meshconfig/psconfig output + + +.. image:: images/pwa/pwa_install.png + :target: images/pwa/pwa_install.png + :alt: Alt text + + +Installation +------------ + +VM Host +^^^^^^^ + +To install PWA, you will need a VM with any OS that supports Docker; such as CentOS7 + +Minimum resource requirements are.. + + +* 4-6 CPUs +* 4G memory +* 16G disk + +Docker Engine +^^^^^^^^^^^^^ + +Read the official `docker installation doc `_ for more information. For CentOS 7, the Docker version from the CentOS Extras repo will work. For CentOS 6, the CentOS version might work, or you might need to try the version from the Docker repo. + +For CentOS7 as root: + +.. code-block:: bash + + yum install -y docker + +Before you start the docker engine, you might want to add any VM specific configuration. For example, your VM might be using /usr/local as a primary partition for your VM. If so, you should have something like following.. + +.. code-block:: bash + + mkdir /etc/docker + +``/etc/docker/daemon.json`` + +.. code-block:: json + + { + "graph": "/usr/local/docker" + } + +Enable & start the docker engine. + +.. code-block:: bash + + $ systemctl enable docker + $ systemctl start docker + +You should install logrotate for docker container log + +/etc/logrotate.d/docker-container + +.. code-block:: bash + + /var/lib/docker/containers/*/*.log { + rotate 7 + daily + compress + size=1M + missingok + delaycompress + copytruncate + } + +Configuration +^^^^^^^^^^^^^ + +Before we start installing PWA, you should prepare your configuration files first. You can bootstrap it by +downloading and deploying PWA's default configuration files from git repo. + +.. code-block:: bash + + wget https://github.com/perfsonar/psconfig-web/raw/master/deploy/docker/pwa.sample.tar.gz + tar -xzf pwa.sample.tar.gz -C /etc + + +#. + For PWA + + ``/etc/pwa/index.js`` + + + * Edit defaults ``testspecs`` if necessary (\ ``meshconfig.defaults.testspecs``\ ) + * Update pub.url with the hostname that your PWA instance will be exposed as. The easiest way to do this is to replace :raw-html-m2r:`` with the FQDN of your Docker host (removing the brackets). + * Edit datasource section which determines which host you'd like to load from sLS to construct your host config, if applicable (if you are not running a private LS, this most likely does not apply to you) + +#. + For Authentication Service + + ``/etc/pwa/auth/index.js`` + + Update the hostname in the config by performing a search and replace in this file. Replace :raw-html-m2r:`` with the hostname (FQDN) of the host that holds your docker containers (remove the brackets). + + Update ``from`` address to administrator's email address used to send email to confirmation new user accounts. You can do this by doing a search and replace in the file, replacing :raw-html-m2r:`` with the full e-mail address you want to use (remove the brackets). + + If you'd like to skip email confirmation when user signup, simply comment out the whole email_confirmation section. + + .. code-block:: javascript + + exports.email_confirmation = { + subject: 'psConfig Web Admin Account Confirmation', + from: '', //most mail server will reject if this is not replyable address + }; + +#. + For Nginx + + Nginx will expose various functionalities provides by various containers to the actual users. The default configuration should work, but if you need to modify the configuration, edit.. + + ``/etc/pwa/nginx`` + +Host Certificates +~~~~~~~~~~~~~~~~~ + +You will need SSL certificates for https access. On /etc/pwa/auth, you should see your host certificate with following file names, or place them there if not. + +TODO: show how to create certs +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block:: bash + + $ ls /etc/pwa/auth + cert.pem + key.pem + +If you are enabling x509 authentication, then you will also need ``trusted.pem``. This file contains list of all CAs that you trust and grant access to PWA. + +.. + + Unlike Apache, Nginx uses a single CA file for better performance.. so you have to join all .pem into a single .pem file. + + +Container Installation +^^^^^^^^^^^^^^^^^^^^^^ + +Now we have all configuration files necessary to start installing PWA servicves. + + +#. + First, create a docker network to group all PWA containers (so that you don't have --link them) + + .. code-block:: bash + + docker network create pwa + +#. + Create mongoDB container. Use -v to persist data on host directory (/usr/local/data/mongo) + + .. code-block:: bash + + mkdir -p /usr/local/data + docker run \ + --restart=always \ + --net pwa \ + --name mongo \ + -v /usr/local/data/mongo:/data/db \ + -d mongo + +#. + Create SCA authentication service container. This service handles user authentication / account/user group management. + + .. code-block:: bash + + docker run \ + --restart=always \ + --net pwa \ + --name sca-auth \ + -v /etc/pwa/auth:/app/api/config \ + -v /usr/local/data/auth:/db \ + -d perfsonar/sca-auth + + .. + + sca-auth container will generate a few files under /config directory when it's first started, so don't mount it with ``ro``. + I am persisting the user account DB on /usr/local/data/auth. + + +#. + Create PWA's main UI/API container. + + .. code-block:: bash + + docker run \ + --restart=always \ + --net pwa \ + --name pwa-admin1 \ + -v /etc/pwa:/app/api/config:ro \ + -d perfsonar/pwa-admin + +#. + Create meshconfig publishers. + + .. code-block:: bash + + docker run \ + --restart=always \ + --net pwa \ + --name pwa-pub1 \ + -v /etc/pwa:/app/api/config:ro \ + -d perfsonar/pwa-pub + +You can create as many pwa-pub containers as desired (make sure to use unique names ``pwa-pub1``\ , ``pwa-pub2``\ , etc..) based on available resource (mainly CPU) . 1 or 2 should be fine for most cases. + +If you use more than 1 instance, please edit ``/etc/pwa/nginx/conf.d/pwa.conf`` to include all instances, like.. + +.. code-block:: javascript + + upstream pwapub { + server pwa-pub1:8080; + server pwa-pub2:8080; + server pwa-pub3:8080; + } + + +#. + Finally, we install nginx to expose these container via 80/443/9443 + + .. code-block:: bash + + docker run \ + --restart=always \ + --net pwa \ + --name nginx \ + -v /etc/pwa/shared:/shared:ro \ + -v /etc/pwa/nginx:/etc/nginx:ro \ + -v /etc/grid-security/host:/certs:ro \ + -p 80:80 \ + -p 443:443 \ + -p 9443:9443 \ + -d nginx + +Now you should see all 5 containers running. + +.. code-block:: bash + + docker container list + CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES + 42efd21ff7f1 perfsonar/pwa-pub "node /app/api/mcp..." 18 seconds ago Up 17 seconds 8080/tcp pwa-pub1 + ab3936c7ab8c perfsonar/pwa-admin "/start.sh" 19 seconds ago Up 18 seconds 80/tcp, 8080/tcp pwa-admin1 + 90cfbb8ba096 perfsonar/sca-auth "/app/docker/start.sh" 24 seconds ago Up 24 seconds 80/tcp, 8080/tcp sca-auth + aa6471073c01 nginx "nginx -g 'daemon ..." 11 hours ago Up 11 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:9443->9443/tcp nginx + 10fdf3b63e4f mongo "/entrypoint.sh mo..." 12 hours ago Up 12 hours 27017/tcp mongo + +Testing / Monitoring +^^^^^^^^^^^^^^^^^^^^ + +Note: sometimes, docker containers will initially not have connectivity to the outside world. Usually this can be resolved by running ``systemctl restart docker`` + +You should now be able to access PWA by accessing your host on your browser on the host. You should be prompted to the login page. You should signup / confirm your email address, then define host gruops / testspecs, and construct new meshconfig using those test entries. + +PWA reports the current health status via following API endpoint (for pwa-admin and pwa-cache) + +``https:///api/pwa/health`` + +.. code-block:: javascript + + { + status: "ok", + msg: "everything looks good", + cache: { + hosts: 255, + update_time: 1486994021924 + } + } + +You can configure your monitoring systems (Sensu, Nagious, etc..) to check for ``status`` and make sure it's set to 'ok'. + +For pwa-pub instances, you should run separate test at ``http:///pub/health`` (not https://) + +.. code-block:: javascript + + { + status: "ok" + } + +.. + + Please note.. if you are running multiple instances of pwa-pub, then /pub/health is just from one of the instances (not all) + + +You should also monitor the authentication service status + +``https:///api/auth/health`` + +.. code-block:: javascript + + { + status: "ok", + headers: {...} + } + +You can also monitor docker stdout/stderr log - similar to syslog. + +Update +^^^^^^ + +To update PWA containers to the latest version, do ``docker pull`` the container you are trying to update and rerun the same ``docker run ...`` command you used to start it. + +Firewall +^^^^^^^^ + +Docker will take care of its own firewall rules, so you don't have to worry about opening ports manually. + +However, following are the ports used by nginx container. + + +* 443 (For PWA administrative GUI) +* 80 (For PWA configuration publisher) +* 9443 (For x509 authentication to PWA administrative GUI) + +API +=== + +To use the API, see the `API DOC `_ + +Reference +========= + +Meshconfig parameters +http://docs.perfsonar.net/config_mesh.html