From 6c7d4887438d5b59a99916703134c6008488a14d Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 21 Mar 2024 21:06:16 +0000 Subject: [PATCH] Add changes for 69b74d0d56f01daebfb907fe9a005bf607b3b0b6 --- _sources/aws/aws_authentication.rst.txt | 41 ++++++++++++++++++++++++ aws/aws_authentication.html | 32 ++++++++++++++++++ objects.inv | Bin 3043 -> 3150 bytes searchindex.js | 2 +- 4 files changed, 74 insertions(+), 1 deletion(-) diff --git a/_sources/aws/aws_authentication.rst.txt b/_sources/aws/aws_authentication.rst.txt index c06e28c..ad5f09f 100644 --- a/_sources/aws/aws_authentication.rst.txt +++ b/_sources/aws/aws_authentication.rst.txt @@ -41,6 +41,47 @@ Authentication * Create a role to retrieve secrets - grant the role permission to access only select secrets, give that role to the code/process of interest +Allow S3 access from EC2 instance +------------------------------------------- + +* Create a role for the instance, with permissions for whatever it will use (i.e. + read/write for specific bucket folders, read secret, Redshift, etc): + AmazonRedshiftAllCommandsFullAccess, AmazonS3ReadOnlyAccess, SecretsManagerReadWrite +* Assign that role to the instance +* + +https://repost.aws/knowledge-center/ec2-instance-access-s3-bucket + +Troubleshooting +------------------------ + +EC2 slowly or never responds +................................... + +"EBS throughput is under-provisioned"" + +EC2 instance cannot send out the data fast enough. Often happens with several EBS +volumes, and together they can accept data faster than the EC2 instance can transmit it. + +https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html + +In the AWS console, on the EC2 instance page, "AWS Compute Optimizer", near the warning +"Under-provisioned", click "View detail" to display a window with recommended changes, +along with graphs demonstrating the difference in CPU and cost. + +For the spnet_dev machine, this error appeared after I raised the EBS volume from 8 Gb +to 30 Gb. I chose t3.micro, which showed differences (changes necessary) in Hypervisor, +Storage interface, and Network interface. + +https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resize-limitations.html + +EC2 stops responding during docker compose +................................................. + +=> [front-end base-front-end 4/6] RUN npm install + + + Questions remaining --------------------------------------- * Roles for “workload” diff --git a/aws/aws_authentication.html b/aws/aws_authentication.html index 6f98a0d..a93b0f4 100644 --- a/aws/aws_authentication.html +++ b/aws/aws_authentication.html @@ -150,6 +150,38 @@

Authentication +

Allow S3 access from EC2 instance

+ +

https://repost.aws/knowledge-center/ec2-instance-access-s3-bucket

+ +
+

Troubleshooting

+
+

EC2 slowly or never responds

+

“EBS throughput is under-provisioned””

+

EC2 instance cannot send out the data fast enough. Often happens with several EBS +volumes, and together they can accept data faster than the EC2 instance can transmit it.

+

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html

+

In the AWS console, on the EC2 instance page, “AWS Compute Optimizer”, near the warning +“Under-provisioned”, click “View detail” to display a window with recommended changes, +along with graphs demonstrating the difference in CPU and cost.

+

For the spnet_dev machine, this error appeared after I raised the EBS volume from 8 Gb +to 30 Gb. I chose t3.micro, which showed differences (changes necessary) in Hypervisor, +Storage interface, and Network interface.

+

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resize-limitations.html

+
+
+

EC2 stops responding during docker compose

+

=> [front-end base-front-end 4/6] RUN npm install

+
+

Questions remaining

    diff --git a/objects.inv b/objects.inv index 7d80e936aa8f59888537cf59c5192460ed39bf53..7da65b085d05ad2f84d8c8a3f9bf999fd6c300f4 100644 GIT binary patch delta 3037 zcmV<33nKL67tR=vkAG2b+c*+_*RS9qdFTRVio4#SKyf%Ao21>~nkHK}ySOJqmS|fW zS@eoh67R3SncWxszKbm0#pz(`&2mj6Ex>~EE%96Osbit?yCCz(jp(H{{fbw%E zE{SXwlHFW2WPed?jH*Pj%8FOv>2IPQsqV*vQG-j3sH65p)ozY69(YPxkWn z*@1eNVUmiB>|_|Vt#eYU6iMRTeC);y4usZ{5O_-*9Vh^zza)Q}##MX@Bzj2%kO)93 zqscvbNPl9{!NHRC3TrqduO0)wYdDF0rNtLHsc=_j=fLlvi;uc)wyTqSvEf91OI9HBl|5a$XRN!IMZV5fSrzBvK2dRjVIhvl_aqW<0P`~S+I{HOzq=QcsBNxy zZWJGo2FSwT3LwJag9^`C1=@Df4fXAsv(MavCofs6poHf$y=dKz!YqK1FU??*g8U!T?UNs#|MvYI;_cn0ZT{`3YIZvh~G#Sc@zz@|Dx! z4tw4f^1kpIy4aF>I&Jf;s9){zyVT(I&3{_t8bW$7|CCNoFfipZj?q?V^(Ab3G6S{* zY)RM>u%*N1d+hf}o)e3;nAMVPOR@F}UPVzAH@Vgzk- zI#>fthnFycXk4ZGvsR|soBC8e&soB|8UF1;6^AUjomK!-az>UO`FgAlQJWV2{eMFx z)f}uZ@aBDetjBw>E#l4RtXkI#u?0&sKjG%6H*f%0k3KlMKCbR*XiQ%{t6Xo91eL%p zQOXC4b_WZ_LjGVmG>3sh>Wr}@VUaOF4Afv9Im6gFEHEoNE#zV+U=etq+axQ%#!bDg zVUOb)Z|c0tAiETCnXI!)Q7kfklYh4ZR zc`i&+X4~pC13}N!!1AgQtYlc1ruP!>sYZ$X514GI5u&mA_SOrK-{krw-+u{mQ5eO7 zVQqDhn(?_a@>�E)f$GkAmEN6qdizTjQEA4oV@9!hf7;Z?@W~iP|8hY%rz8l-|ZI zCh0bcK2m8`g>GB1ESrukUb5R zT`y4i9~hyn>=MY$0j{S4j0$YbTx@q;f&LUi2PL;V8~We$a74@ORj5~--4qKOrP_~y ze6<65&bjB@_OzVPF1cMgginBa!>BXc7U8t6Y&a4pXvc2_UJ2}CSby)ZAl#9Z4DTO2 z3@x;@&=T(s5IHP0bI$S!G~vMLvZcxYF7Li{X%f)|K!s_e5erp5vzHAHr;Hq5%kKO-0_bb`atXFVM=HgJ%Fyd-&_+gN#t$g4Uo z(=0A}2Ds4$B+uvzU4N++X7V%3M7+M!4CtH}BeI3&Y9xU%5RjRR(k(b_)#Z-|qDxs$Vp4DMik8`v}MN@oUly*-cyz@?^v zTujXOQBa~FmeaJjLkK|2u(pgR;U?~l3kEPrTzc_a#=GK%h<_Y+-na%#@z;0-Ho-42 zhHTdr2;-K)+tmg9;92WMT~u|Lx4wXtLR{uzfT;tvs#xG4ft3ghA)1Q_opO&>hjt>n zr$Yp3{;Id+eRwPK#deQqF;6}-&&dR$aU$)VFo9&keKnyz)me2|^4$Bxn^2ceIA=7K z32e9$%r;$o%e zHSDiB%mHiO8Eb5*Hy+|DB)tX3>Q4F^Q-x&ivyBD)XBu3Vo8G_)t|Tft?;Qo(tO z2l9@>R;u#|Xi!t!B+Lv)Ph3!JP^r#9sFG0c3qGvhIs^X}YVhDSh&0UMa3<7KQ#%*; zEE)l}$$u6;6QEcYX<*B7PW+|@7hYtLK&L;Q5HULf*$~i}fq;|u246flZLULYZmwoF zbrx?P8*QSktHQ1Nt8i1+iCf%a*<}gQMiu_H^&$rqVS+?kv&nYDI1pWhDiO{@L&CaP z)0m-Yv^M_{ukf&|)-bNXIZ&At27(FtCWh%AIDY{T3ISeNHp0Ii0!F1;s!|n+GNVKN zbJz?{C@QtCI^H`Ch@*sk@bt~eMy1&m$>_lT976cAF5u9y&Rd}K7U;Z1wJvqNT6YF7 z1BieoV`%%{FyhGbJGHT`cqmYNl5-G&f2=Tw0|sjyVteEmb>PIV~j- z{I1U|tL-F@V*I1I=3W8se0|+&@}cX>4j-D@A6+Rs#ADC&!q>Cz%D>M89ep5h7Ce=e zu7~qYL$3$+-tiuP%X7G30e2T=$dtBj*xXIx)Bww0X*XEz{&Mgp&up_ouyvkxoqvl6 zk`2@&%n3&B3@R$F2?Q*9Gi>js8%__sUo^N(=#Ip+*+aYuHa`~phw`O)g*nQ z3Zez9L9HRKIXGpfl^(u_P*J_jb$@JMP)xH9D`=lGK3Wj;!BO3jQIB?)wpC(lQ`+jx z(QAVf0pY2LH}PM1sZ(zL^-rotXk!ZlQ=e!OBrKzn7E%(Vw2=I6<a_wB^|| zB{z`A;z?87~>a^kAL59+%^(^=U>5t{g48ogKMq`5F84)wv!r{#BMfj(I-JGad%bg z$5xbVZ~yw6A%~Q>qIRXtLlG~@`Mx1J9L@~YI8AvepSjw~BwOuxR;ng06Um#(wIzAg zrd&1Y`#fICoQr?+B2&qmI87svjjT-6R1wKUTIOQY6!{qp6MryFP?xa7MN_#pLvcyU zECR~dwksUT0F$fdc*_e}RP`>PT&v`&&7)sf$WK(JUT z+3<3ml`s5RE(NqcK}S-Rt8DE9>YlU3zW8uNqLhCISY>$CE!eiu731+7S0B~xeXOzR!Lu98Pb$8TQZ zVw+2LY%WI#hx48}IRbz`+wC+iJ=9R$T>Z$uRHZOe%l?rm|E10H)F;~PmUWg!Gx$a& z4DGMF+n?wHyII^e8(B7460(|S^#=Zn{4vH>&iSR+ihn>=aTtX9djQnJU;sZ=6KEHE zvX_4>2I?7xSt=5;l_Au=&Pgp(B#CqNK8)#k;NF&K@SZq&EC7_rkH+JraTA{c2>{vy z3Ixz9qscuuNX?R!t2$Oq-6l<2OI}tDoznrAKQhuIJ2Jml7#!rh^$EUUhi2Z^S(26O z6DDRQ5r6*P{H+m{OxikY_AVXUYH;aC2j+wjZ9zW_9C;t#WxKOCs`JRnGi-FNdj8d5 zYJQ>&oz9@$dtPAtWQ-hxJyRb6>mP)G<&PRi2yWDf4%*6*rKi0ag7_b#k|codPy zZC>r{EZ!jvkf9r~5uhgWrw=MTWesQ>q&qY=v}PY^1T9{&k;x-qR&~6VlY>DmC9ITS zaOEd?o1zmL@puPT<*bt?KX=u^8Jnf>14EhF&>$$Z;8h3G2UIgXW)D*JF|C$((yS_{ zD1VFY-pOA%NNY0;Znn6QJmy8E8n`D!RXReRnz$}2!n^5MWul^>cO32qb=Y9FdqHj?8dml%YV?B zzI>8-wM7zC0*A1aE|$t(EEo&9i)CmI2QH~I!V(%w8w12Z9oCUMjGV&~v!c^NE^-0} zfzG)}vOH`&)Y}%$IPP)L=1m6KC6DW5lQmMuBGV6fpHiP_1lDF|frSq&tS;bA!Q@H| z&*fH@kPal-+^dP$9hC5(x-6QAu77*ItnZ5zf6Bnt`AVIbCuNDwmHo}&@*+gv}+nx5UfqpM~U}T(~10dn5?f6qLKNI)(d2s zHNLOVi>8-y)IScK&>6xA4@Pg1hPgqC>jA~@(8r`H#sK;%1`AggvV1zBvVTP|!omoI zxd~u*gx1!JZKdSJ4*c48(0X73!EQ!*oC@eK{+lk#xR5`eUWc_hAlgk2+0p1?;sq-I z9WylbN)2)|z;#rB(LfxlF1EW+_&SHsLW%9p1hh9J9Bh@naQT9(n_{|N%l(_(P`j`Q9{}}+P=6Pujp4Gc%_SQrXveQPR+e`$?6+U$420T;&kwqI11$`+ zz!Eef`vp{r#6N&0blqR}H2L%L^QVv|Y*kkUZ!j5Bd@1Y4T<+daE_9%};1{cDMk8E2_@NkQNGMFk10+;V%`M`=DxE?@WXn7a08-IC$$m=$)(=0AW zCRkJ@q=YrtkS!p>N`536M*BO@fX-<%m?@tgFZxU`xt^KsP|at&7<*bqbk1*e7Srt^ z#e}`>`$Oj7%Dkr=3Ij3n===D8Ax;M7uAM#PC4>F#V9#i%zB6d(?LZm;SCyW~#mp=g z1qBLXk*MOI5dzRMtbdroc_|7YQL{0%xNzdPgm*;^Ogrwpa}AidZt!7ehF>5I(a)AO z#w~&Ob7t&ttnIQbo7T_9p212X+OT2M+zA_146v7$2?U0~!^SyQxd)>|KRw&ifkE=R z9xdb!YyF?haHco&l0Zw*$Qjsl7GWp{McT|v<<%BhW7akOA9>+*ctH%2QO{y8}64Q9L%f_7~B#%>vde} z$RAxQ2Bf)cWIFBSX&}tOm!O6P((bwg`qCr2^T@937zP@e8}>D)Vp%QWKE(@pr^8lV zz2MLw=eS8&8H%2$OxB_5>{+7Z)o2pUoT)M+x)Y%vUSRYPBnq$$|Yjgz$A+!lh%JH%I5q(RuS`Q&;VJ6AWGsAOf0* zg+UXDCJ;>!nvGZlQ*XzfXAhOk)LRP17jG%{R(}#JQ2R@UZB#uq{b)+;v~=~{C8X~8 zxyxxLCOx)8^d#;3HJGYxW5LbtU%2De;J=9f7 zh}t%EU8Q`v^J@Te+zqC1orBTWsRpN8D;3L~Uj;y$>Uo{8Iv@M$Fk_B!TUT|=i=FyA z?|+`0<^}xvPhpURMsg2K#@6|zVfnmU{Pu}oQy*!7iAV5DwQ01NUZ`G9tCI-&T1~B* z?JSR?+^1k&wH#kEUEON-rEAL$@4DKbekiqw$38yuKf<&R*<&8)=(G2k_r;~KBdl*a z^d`RdIq2~(RE8Voafc{1*eNXrFC-^m62L$0saiyoKGp2ol1Ji3Pv1o`rd#jktcFg8_MO|Kf_X#VZ) z`tCgm(j}fL9h;EsUo_)(=#PBxUoX(UBS=VKu?2ft!C-N8h?lu zum-h(xMpz6&MQ59^PyO~&8yga7ckE{jG*~I@47xuCx`*(OZQJ z0pTf+i})XW)TxV~{-f&=l`@5axgQ>CNZ3Xx45ZMI!a&m37!Qv2a+H?oq%F^$baDfE zEZ&snqw2g`tFYfcuqgWd5#fY`qiPosgmX?`uqVZ_@-PfuUF9LbIjdZ8_M`-k9!9hs z#e|9mep|k+YJ5NM7Z8ruBs#%m#5slN=TN=u bvE^AaWx__-lsHKk%P=5(pbqzcy-HPBx#yy( diff --git a/searchindex.js b/searchindex.js index c335faa..e163e74 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["asset_server/asset_config_files", "asset_server/asset_server_config", "asset_server/asset_server_setup", "asset_server/hybrid_asset_server_setup", "aws/aws_authentication", "aws/aws_automation", "aws/aws_infrastructure_notes", "aws/aws_specify_asset_server_setup", "aws/aws_specify_cloud_setup", "aws/client_migration_notes", "aws/ec2_rds_specify7_setup", "aws/specify_cloud_graviton_setup", "dev_process/project_docs", "dev_process/specify_processes", "index", "misc/add_new_instance_to_specify_cloud", "misc/kuit_notes", "misc/specify7_ecs_most-in-one", "misc/useful_bash_cmds", "misc/vs_code_django_unit_test_debugging_notes", "security/aws_security", "security/fix_exposed_secret", "security/monitoring"], "filenames": ["asset_server/asset_config_files.md", "asset_server/asset_server_config.md", "asset_server/asset_server_setup.md", "asset_server/hybrid_asset_server_setup.md", "aws/aws_authentication.rst", "aws/aws_automation.rst", "aws/aws_infrastructure_notes.md", "aws/aws_specify_asset_server_setup.md", "aws/aws_specify_cloud_setup.md", "aws/client_migration_notes.md", "aws/ec2_rds_specify7_setup.md", "aws/specify_cloud_graviton_setup.md", "dev_process/project_docs.rst", "dev_process/specify_processes.rst", "index.rst", "misc/add_new_instance_to_specify_cloud.md", "misc/kuit_notes.md", "misc/specify7_ecs_most-in-one.md", "misc/useful_bash_cmds.md", "misc/vs_code_django_unit_test_debugging_notes.md", "security/aws_security.rst", "security/fix_exposed_secret.rst", "security/monitoring.rst"], "titles": ["Specify 7 Docker Config Example", "Asset Server Configuration", "EC2 Non-Dockerized Build", "Hybrid Asset Server Setup", "AWS Authentication", "AWS Automation", "AWS Infrastructure Notes", "AWS Specify Asset Server Setup", "Specify Cloud Setup", "Digital Ocean to AWS migration", "Deploy Specify7 to an EC2 instance", "Specify Cloud Graviton Setup", "Project (Github pages) documentation", "Specify Development Process", "Welcome to Specify Developer documentation!", "Add new Specify instance to Specify Cloud", "Working with central KU IT", "Create a Most-In-One Specify Docker image", "Useful bash commands", "VS Code Django Unit Test Debugging", "AWS Security", "Fix Exposed Secrets", "Security Monitoring"], "terms": {"database_host": [0, 8, 10, 11, 17], "10": [0, 4, 8, 10, 11, 13, 15, 18], "133": [0, 11], "58": [0, 8, 11], "98": [0, 11], "database_port": [0, 8, 10, 11, 17], "3306": [0, 9, 10, 11, 17], "master_nam": [0, 8, 10, 11, 17], "master": [0, 9, 10, 11, 15, 17, 19], "master_password": [0, 8, 10, 11, 15, 17], "secret_kei": [0, 8, 10, 17, 19], "asset_server_url": [0, 1, 8, 10, 17], "http": [0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 15, 16, 17, 19, 20], "assets1": [0, 2, 10, 11], "specifycloud": [0, 1, 2, 7, 9, 10, 11, 15, 17, 18], "org": [0, 1, 2, 7, 9, 10, 11, 15, 17, 18], "web_asset_stor": [0, 1, 2, 7, 8, 10, 11, 17], "xml": [0, 1, 2, 7, 8, 10, 11, 17], "asset_server_kei": [0, 8, 10, 17], "report_runner_host": [0, 8, 10, 11, 17], "report_runner_port": [0, 8, 10, 11, 17], "8080": [0, 1, 2, 7, 8, 10, 11, 17], "celery_broker_url": [0, 8, 10, 17], "redi": [0, 8, 10, 11, 17], "0": [0, 1, 2, 4, 7, 8, 10, 11, 15, 17, 18, 19], "celery_result_backend": [0, 8, 10, 17], "1": [0, 1, 2, 7, 8, 9, 10, 11, 12, 13, 17, 18, 19], "log_level": [0, 8, 10, 17], "warn": [0, 8, 10, 11, 12, 17, 22], "sp7_debug": [0, 8, 10, 17], "fals": [0, 1, 2, 7, 8, 10, 15, 19], "version": [0, 1, 2, 7, 10, 13, 19], "3": [0, 1, 7, 8, 10, 11, 13, 15, 17], "servic": [0, 1, 2, 4, 7, 9, 10, 11, 15, 16, 17, 18, 19], "client_nam": [0, 17], "imag": [0, 1, 2, 7, 10, 14], "specifyconsortium": [0, 1, 18], "specify7": [0, 1, 8, 9, 11, 14, 17, 18, 19], "issue_388": 0, "command": [0, 1, 10, 11, 12, 14, 16], "ve": [0, 2, 5, 7, 8, 11, 17, 18, 19], "bin": [0, 2, 7, 8, 11, 12, 15, 17, 18, 19], "gunicorn": [0, 11, 17], "w": [0, 1, 10, 11, 15, 17], "thread": 0, "5": [0, 1, 2, 7, 8, 9, 10, 11, 13, 19], "b": [0, 11, 13, 17, 18], "8000": [0, 11, 17], "t": [0, 10, 11, 15, 17, 18, 20], "300": [0, 1, 2, 7, 11, 17], "specifyweb_wsgi": [0, 11, 17], "init": [0, 1], "true": [0, 1, 2, 7, 10, 17, 19], "restart": [0, 1, 2, 7, 10, 11, 15, 16, 17], "unless": [0, 1, 2, 7], "stop": [0, 1, 10, 15], "volum": [0, 1, 11], "specify6803": [0, 8, 10, 11], "opt": [0, 11, 19], "ro": [0, 1], "static": [0, 2, 4, 7, 10, 11], "local_specify_set": [0, 11], "env_fil": 0, "environ": [0, 1, 7, 11, 12, 17, 19], "database_nam": [0, 8, 11, 17], "sandbox_rbg": 0, "asset_server_collect": 0, "worker": [0, 1, 8, 10, 11, 15, 17], "celeri": [0, 10, 11, 17], "A": [0, 2, 7, 11, 13, 16, 17], "specifyweb": [0, 11, 17, 18, 19], "l": [0, 9, 10, 11, 15, 16, 17, 18], "info": [0, 4, 11, 17], "concurr": [0, 11, 17], "q": [0, 11, 18], "specify6800": [0, 8], "specify6": [0, 9, 10, 11, 17], "6": [0, 2, 7, 8, 9, 10, 11, 13, 15, 17, 18, 19], "8": [0, 1, 2, 7, 8, 10, 11, 13, 17, 18, 19], "00": [0, 8], "specify6801": [0, 8, 11], "01": [0, 8], "03": [0, 8, 10, 11, 17], "port": [0, 1, 2, 4, 7, 10, 11, 17, 19], "80": [0, 1, 2, 7, 8, 11, 17], "443": [0, 1, 2, 7], "sp7demofish": [0, 1, 2, 7, 11, 17], "eu": [0, 8, 11], "rjb": 0, "madrid": 0, "mcnb": 0, "herb": 0, "rbge": 0, "cryoark": [0, 11], "test": [0, 2, 7, 10, 11, 13, 14, 15, 17], "eurl": [0, 15], "etc": [0, 1, 2, 4, 5, 7, 8, 10, 11, 15, 16, 17, 18], "d": [0, 1, 10, 11, 15, 16, 17], "letsencrypt": [0, 1, 2, 7, 11, 15, 16], "ssl": [0, 1, 2, 7, 10, 11, 15, 16], "cert": [0, 1, 2, 7, 16], "dhparam": [0, 1, 2, 7], "pem": [0, 1, 2, 7, 10, 16, 18], "var": [0, 1, 2, 7, 10, 11, 15], "www": [0, 1, 2, 7, 10, 11, 15], "listen": [0, 1, 2, 7, 11, 19], "server_nam": [0, 1, 2, 7, 11, 16, 17], "The": [0, 1, 2, 7, 9, 10, 11, 12, 13], "pass": [0, 1, 2, 4, 5, 7, 11, 13], "though": [0, 1, 2, 7, 11], "locat": [0, 1, 2, 7, 11, 16], "well": [0, 1, 2, 7, 10, 11, 20], "known": [0, 1, 2, 7, 11], "root": [0, 1, 2, 7, 9, 11, 18, 19], "return": 0, "301": 0, "host": [0, 2, 7, 8, 9, 10, 11, 19], "request_uri": 0, "thi": [0, 1, 2, 7, 10, 11, 13, 17, 20, 21], "stanza": [0, 1, 2, 7], "defin": [0, 1, 2, 4, 7, 13], "end": [0, 1, 2, 7, 10, 11, 19], "point": [0, 1, 2, 7, 11, 13, 15], "ssl_certif": [0, 1, 2, 7, 16], "live": [0, 1, 2, 7, 16], "fullchain": [0, 1, 2, 7, 16], "ssl_certificate_kei": [0, 1, 2, 7, 16], "privkei": [0, 1, 2, 7, 16], "from": [0, 1, 2, 4, 7, 9, 10, 11, 13, 15, 17, 19, 21], "cipherli": [0, 1, 2, 7], "st": [0, 1, 2, 7, 16], "raymii": [0, 1, 2, 7], "": [0, 1, 2, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19, 22], "tutori": [0, 1, 2, 7], "strong_ssl_security_on_nginx": [0, 1, 2, 7], "html": [0, 1, 2, 4, 5, 7, 11, 12, 19, 20], "ssl_protocol": [0, 1, 2, 7], "tlsv1": [0, 1, 2, 7], "2": [0, 1, 2, 7, 8, 10, 11, 13, 15, 16, 18, 19], "ssl_prefer_server_ciph": [0, 1, 2, 7], "ssl_cipher": [0, 1, 2, 7], "eecdh": [0, 1, 2, 7], "aesgcm": [0, 1, 2, 7], "edh": [0, 1, 2, 7], "aes256": [0, 1, 2, 7], "ssl_ecdh_curv": [0, 1, 2, 7], "secp384r1": [0, 1, 2, 7], "ssl_session_cach": [0, 1, 2, 7], "share": [0, 1, 2, 7, 10, 11], "10m": [0, 1, 2, 7, 18], "ssl_session_ticket": [0, 1, 2, 7], "off": [0, 1, 2, 7, 11, 18], "ssl_stapl": [0, 1, 2, 7], "ssl_stapling_verifi": [0, 1, 2, 7], "resolv": [0, 1, 2, 7, 11, 22], "4": [0, 1, 2, 7, 8, 13, 15, 17, 18, 19], "valid": [0, 1, 2, 7, 11], "resolver_timeout": [0, 1, 2, 7], "disabl": [0, 1, 2, 7, 11, 18, 20], "preload": [0, 1, 2, 7], "hst": [0, 1, 2, 7], "now": [0, 1, 2, 7, 9, 16], "you": [0, 1, 2, 5, 7, 9, 10, 11, 12, 20, 21], "can": [0, 1, 2, 4, 5, 7, 10, 12, 13, 18, 20], "us": [0, 1, 2, 4, 5, 7, 9, 10, 11, 12, 13, 14, 19, 20, 21], "comment": [0, 1, 2, 7, 13], "out": [0, 1, 2, 5, 7, 11, 16], "header": [0, 1, 2, 7, 11], "line": [0, 1, 2, 7, 10, 11, 15, 16], "includ": [0, 1, 2, 4, 7, 8, 10, 11, 12, 13], "direct": [0, 1, 2, 7, 11], "understand": [0, 1, 2, 7, 13, 21], "implic": [0, 1, 2, 7, 21], "add_head": [0, 1, 2, 7], "strict": [0, 1, 2, 7], "transport": [0, 1, 2, 7, 10], "secur": [0, 1, 2, 4, 7, 9, 10], "max": [0, 1, 2, 7, 22], "ag": [0, 1, 2, 7], "63072000": [0, 1, 2, 7], "includesubdomain": [0, 1, 2, 7], "x": [0, 1, 2, 7, 10, 11, 13], "frame": [0, 1, 2, 7], "option": [0, 1, 2, 7, 8, 10, 11, 16], "deni": [0, 1, 2, 7], "content": [0, 1, 2, 7, 12], "type": [0, 1, 2, 7, 10, 19], "nosniff": [0, 1, 2, 7], "ssl_dhparam": [0, 1, 2, 7], "i": [0, 1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22], "m": [0, 1, 2, 7, 8, 10, 11, 12, 18, 19], "sure": [0, 1, 2, 7, 8, 10, 15, 16], "need": [0, 1, 2, 4, 5, 7, 8, 10, 13, 15, 18, 19], "side": [0, 1, 2, 7], "just": [0, 1, 2, 7, 10, 15], "case": [0, 1, 2, 7, 13], "usr": [0, 2, 7, 10, 11, 17, 18], "rewrit": [0, 2, 7, 11], "break": [0, 11, 13], "depositori": [0, 11], "frontend": [0, 11, 17], "127": [0, 11, 19], "11": [0, 8, 9, 11, 13, 18], "30": [0, 2, 7, 11], "backend": [0, 11], "proxy_pass": [0, 1, 2, 7, 11], "proxy_set_head": [0, 11], "real": [0, 11], "ip": [0, 1, 9, 10, 11], "remote_addr": [0, 11], "forward": [0, 11], "For": [0, 2, 7, 9, 10, 11, 13, 15, 19, 20], "proxy_add_x_forwarded_for": [0, 11], "proto": [0, 11], "scheme": [0, 11], "proxy_read_timeout": [0, 11], "600": [0, 2, 7, 10, 11, 18], "client_max_body_s": [0, 1, 2, 7, 11], "github": [0, 7, 9, 10, 11, 13, 14, 17, 22], "repo": [0, 7, 10, 11, 17], "com": [0, 2, 4, 5, 7, 8, 9, 10, 11, 12, 16, 17, 18, 20], "sampl": [0, 2, 7], "turn": [0, 2, 7, 18], "bottl": [0, 2, 7], "debug": [0, 2, 5, 7, 11, 14, 17], "modul": [0, 2, 7, 11, 14], "reload": [0, 2, 7, 8, 10, 15, 17], "print": [0, 2, 7, 10, 12, 18, 19], "some": [0, 2, 7, 10, 13, 21], "inform": [0, 2, 7], "consol": [0, 2, 7, 10], "secret": [0, 2, 4, 7, 8, 10, 14, 20], "kei": [0, 2, 4, 7, 8, 10, 15, 16, 18, 20], "gener": [0, 2, 7, 8, 10, 12, 16], "authent": [0, 2, 5, 7, 10, 18], "token": [0, 2, 4, 7, 10], "request": [0, 2, 7, 11, 15, 16, 19], "same": [0, 1, 2, 7, 9, 16], "must": [0, 2, 4, 7, 11, 12, 21], "store": [0, 1, 2, 4, 5, 7, 9, 10, 20, 21], "attach": [0, 1, 2, 7, 15, 19], "prefer": [0, 2, 7, 10], "good": [0, 2, 7], "sourc": [0, 2, 7, 10, 11, 21], "valu": [0, 2, 7, 10, 11, 13], "grc": [0, 2, 7], "password": [0, 2, 4, 7, 8, 9, 10, 16, 18, 21], "htm": [0, 2, 7], "none": [0, 2, 7, 11, 18], "NOT": [0, 2, 4, 7], "recommend": [0, 2, 7, 11, 17], "sinc": [0, 2, 7, 9, 10, 18], "do": [0, 2, 4, 5, 7, 13, 15, 16, 18, 21, 22], "so": [0, 2, 7, 8, 18], "allow": [0, 2, 5, 7, 10, 11, 13], "anyon": [0, 2, 7], "internet": [0, 2, 7], "arbitrari": [0, 2, 7], "asset_kei": 0, "auth": [0, 2, 7, 10], "timestamp": [0, 2, 7], "within": [0, 2, 7], "mani": [0, 2, 7, 12, 20], "second": [0, 2, 7, 13], "time": [0, 2, 7, 10, 13, 18], "order": [0, 2, 7], "consid": [0, 2, 7, 13], "prevent": [0, 2, 7], "replai": [0, 2, 7], "attack": [0, 2, 7], "time_toler": [0, 2, 7], "requir": [0, 2, 7, 8, 10, 11, 12, 13, 19, 20], "download": [0, 2, 7, 10, 17], "addit": [0, 1, 2, 4, 7], "upload": [0, 2, 7, 11, 15], "delet": [0, 2, 7, 11, 18, 21, 22], "access": [0, 2, 4, 7, 8, 9, 10, 11, 15, 20], "enabl": [0, 2, 7, 11, 13, 17, 18, 19, 20], "affect": [0, 2, 7], "require_key_for_get": [0, 2, 7], "portal": [0, 2, 7], "getfileref": [0, 2, 7], "url": [0, 1, 2, 7, 9, 10, 11, 15], "allow_static_file_access": [0, 2, 7], "These": [0, 2, 7, 10, 12], "ar": [0, 2, 7, 8, 9, 10, 11, 12, 13, 16, 20, 22], "interpol": [0, 2, 7], "resourc": [0, 2, 4, 5, 7, 10, 13], "client": [0, 2, 7, 8, 10, 11, 13, 15, 17, 18], "know": [0, 1, 2, 7], "how": [0, 2, 4, 7, 12, 13, 20], "talk": [0, 2, 7], "name": [0, 2, 7, 10, 12, 16, 18, 19], "server_port": [0, 1, 2, 7], "develop": [0, 2, 7, 10], "should": [0, 2, 7, 10, 12, 13, 20], "development_port": [0, 2, 7], "map": [0, 2, 7], "collect": [0, 2, 7, 16], "directori": [0, 2, 7, 10, 11, 12, 15, 18], "everyth": [0, 1, 2, 7, 8, 11], "origin": [0, 2, 7, 10], "thumbnail": [0, 2, 7], "provis": [0, 2, 7, 10], "made": [0, 2, 7], "item": [0, 2, 7, 13], "scope": [0, 2, 7], "abov": [0, 1, 2, 7], "found": [0, 2, 7], "collection_dir": [0, 1, 2, 7], "collection_nam": [0, 2, 7], "directory_nam": [0, 2, 7], "base": [0, 2, 7, 13, 18], "all": [0, 1, 2, 4, 7, 8, 10, 11, 12, 13, 15, 19, 21], "base_dir": [0, 1, 2, 7], "home": [0, 1, 2, 7, 11, 15, 16, 17, 18, 19], "separ": [0, 1, 2, 7, 10], "thumb_dir": [0, 2, 7], "orig_dir": [0, 2, 7], "mime": [0, 2, 7], "try": [0, 2, 7, 10, 13, 19], "can_thumbnail": [0, 2, 7], "jpeg": [0, 2, 7], "gif": [0, 2, 7], "png": [0, 2, 7], "tiff": [0, 2, 7], "applic": [0, 2, 7, 10, 20], "pdf": [0, 2, 7], "what": [0, 2, 4, 5, 7, 11, 13], "stand": [0, 2, 7], "alon": [0, 2, 7], "oper": [0, 2, 7], "past": [0, 1, 2, 7, 19], "python": [0, 2, 7, 10, 11, 12, 19], "packag": [0, 2, 7], "fast": [0, 2, 7], "seem": [0, 2, 7], "work": [0, 1, 2, 5, 7, 10, 13, 14], "wsgiref": [0, 2, 7], "extra": [0, 2, 7], "arm64v8": [0, 17], "ubuntu": [0, 1, 2, 7, 10, 11, 17, 18], "18": [0, 8], "04": [0, 8, 10, 11, 17], "AS": 0, "run": [0, 1, 2, 4, 7, 8, 10, 11, 12, 15, 16, 17, 19], "apt": [0, 7, 10, 11, 17], "get": [0, 1, 2, 4, 7, 8, 10, 12, 17, 19], "updat": [0, 7, 9, 10, 11, 13, 17, 18], "y": [0, 7, 8, 10, 11, 13, 17], "instal": [0, 2, 5, 7, 10, 11, 17, 19], "ghostscript": [0, 7], "imagemagick": [0, 7], "python3": [0, 7, 8, 10, 11, 12, 17, 18, 19], "dev": [0, 7, 10, 11, 17, 18], "pip": [0, 7, 8, 10, 11, 12, 19], "venv": [0, 7, 8, 11, 12, 17, 19], "git": [0, 7, 8, 10, 11, 17, 21], "certbot": [0, 1, 7, 10, 11, 15, 17], "awscli": [0, 7, 10, 11, 17], "s3f": [0, 7], "clean": [0, 11, 17], "rm": [0, 10, 11, 17], "rf": 0, "lib": 0, "list": [0, 10, 13, 15, 18], "groupadd": 0, "g": [0, 10, 11, 17], "999": 0, "useradd": 0, "r": [0, 7, 8, 11, 12, 19], "u": [0, 2, 7, 10, 11, 13, 15, 16, 18, 19], "mkdir": [0, 1, 10, 11, 15, 17, 18], "p": [0, 10, 11, 15, 17, 18, 19], "chown": [0, 16, 18, 19], "user": [0, 2, 4, 7, 9, 11, 12, 13, 15, 17, 19], "workdir": 0, "copi": [0, 10, 16, 17, 19], "txt": [0, 7, 8, 10, 11, 12, 18, 19], "cach": [0, 7, 10, 11, 19], "dir": [0, 7, 11, 19], "view": [0, 13], "echo": [0, 10, 11, 17, 18], "import": [0, 10, 19], "o": [0, 10, 16, 17, 19], "nserver": 0, "nserver_nam": 0, "nserver_port": 0, "int": 0, "getenv": 0, "nkei": 0, "attachment_kei": [0, 1], "ndebug": 0, "debug_mod": [0, 1], "lower": 0, "configur": [0, 2, 7, 11, 14, 16, 19], "aw": [0, 10, 11, 14, 18], "aws_access_key_id": [0, 10, 11], "aws_secret_access_kei": [0, 10, 11], "region": [0, 8, 10, 11], "east": [0, 11], "output": [0, 8, 10, 11, 12, 16], "json": [0, 4, 8, 10, 11, 15, 19], "s3": [0, 4, 11], "mount": 0, "cloud": [0, 10, 14], "expos": [0, 14, 17], "cmd": [0, 17], "It": [0, 2, 7, 11, 12, 13, 20], "default_serv": [0, 1, 2, 7], "certif": [0, 1, 2, 4, 7, 10, 15], "mechan": [0, 2, 7], "place": [0, 2, 7, 13], "nonc": [0, 2, 7], "challeng": [0, 2, 7, 16], "prove": [0, 2, 7], "we": [0, 2, 7, 9, 13, 20, 22], "have": [0, 2, 4, 5, 7, 9, 10, 13, 15, 20], "control": [0, 2, 4, 5, 7], "domain": [0, 2, 7, 10, 15], "filesystem": [0, 2, 7], "easili": [0, 2, 7], "auto": [0, 2, 7], "renew": [0, 2, 7, 15], "system": [0, 2, 7, 13, 17], "proxi": [0, 2, 7, 11], "actual": [0, 2, 7, 15], "correct": [0, 2, 7, 16], "string": [0, 2, 7, 16], "substitut": [0, 2, 7], "respons": [0, 2, 7, 13], "make": [0, 1, 2, 4, 7, 8, 10, 11, 12, 15, 16, 17, 18, 21], "link": [0, 1, 2, 7, 13, 16], "localhost": [0, 2, 7, 11, 17, 18], "sub_filt": [0, 1, 2, 7], "sub_filter_onc": [0, 1, 2, 7], "sub_filter_typ": [0, 1, 2, 7], "text": [0, 1, 2, 7, 12], "other": [0, 2, 7, 13, 15, 20, 21], "unchang": [0, 2, 7], "except": [0, 1, 2, 7], "rewritten": [0, 1, 2, 7], "chang": [0, 1, 2, 7, 9, 10, 18, 21], "els": [0, 1, 2, 7, 11], "through": [0, 1, 2, 4, 7, 10, 15, 21], "here": [1, 9, 10, 13, 15, 16], "an": [1, 2, 3, 4, 7, 8, 9, 12, 13, 14, 15, 16], "exampl": [1, 9, 11, 12, 13, 14, 20], "latest": [1, 4, 5, 10, 11, 20], "specifi": [1, 2, 9, 10, 16, 19, 22], "connection_fix": [1, 18], "spun": 1, "up": [1, 4, 15, 18], "follow": [1, 8, 10, 11, 12, 13, 18], "config": [1, 4, 11, 14, 15], "got": 1, "docker": [1, 11, 14, 15, 19], "your": [1, 4, 5, 9, 10, 16, 21], "dn": [1, 10, 15], "record": [1, 15], "address": [1, 9, 10, 16], "compos": [1, 10, 15, 19], "yml": [1, 12, 19], "7": [1, 8, 9, 10, 11, 13, 14, 17, 18, 19], "nginx": [1, 2, 7, 10, 11, 15, 16, 17], "alpin": 1, "conf": [1, 2, 7, 10, 11, 12, 16, 17, 18, 19], "default": [1, 2, 7, 8, 10, 11, 12, 16, 17, 18], "outsid": 1, "contain": [1, 4, 8, 12, 19], "replac": [1, 9, 10, 21], "which": [1, 11, 12, 13], "would": [1, 5, 10, 20], "publicli": [1, 12], "avail": [1, 11, 17, 18, 20], "qwertyasdfghzxcvbnlmnop": 1, "kufishvouch": [1, 2, 7], "kufishtissu": [1, 2, 7], "file": [1, 2, 9, 11, 15, 16, 21], "Then": [1, 8, 10], "connect": [1, 9, 10], "creat": [1, 4, 9, 10, 11, 13, 14, 15, 16, 20, 21], "bash": [1, 3, 7, 8, 11, 14, 15, 17], "sudo": [1, 7, 8, 10, 11, 15, 16, 17, 18], "webroot": [1, 2, 7, 10, 15], "certonli": [1, 10, 15], "set": [1, 2, 7, 10, 11, 15, 17, 18, 19, 20], "let": 1, "me": 1, "new": [1, 12, 14, 18, 21], "asset_server_setup": 2, "sh": [2, 3, 7, 8, 11, 15, 17, 18], "initi": [2, 4, 5, 10, 12, 13], "asset": [2, 10, 11, 15, 16, 17, 18], "server": [2, 9, 10, 11, 15, 17], "systemd": [2, 7, 10, 17], "web": [2, 7, 9, 10, 11, 15, 21], "unit": [2, 7, 13, 14, 16, 17], "descript": [2, 7, 17], "want": [2, 7, 10, 11, 13, 17], "network": [2, 7, 10, 17], "target": [2, 7, 9, 17], "workingdirectori": [2, 7, 17], "execstart": [2, 7, 17], "py": [2, 7, 11, 12, 15, 17, 18, 19], "alwai": [2, 7, 10, 17], "wantedbi": [2, 7, 17], "multi": [2, 5, 7, 17], "test_attachment_kei": [2, 7], "ichthyologi": [2, 7], "herb_rbg": [2, 7, 8], "site": [2, 7, 11, 17, 21], "aasets1": 2, "suppli": [2, 7], "demo": [2, 7], "mean": [2, 7], "without": [2, 7, 12, 18], "privileg": [2, 4, 7, 15, 18, 19, 20], "authbind": [2, 7], "underli": [2, 7], "also": [2, 7, 10, 11, 12, 20], "caus": [2, 7], "subsequ": [2, 7], "go": [2, 7, 8, 10, 12], "renew_before_expiri": [2, 7], "dai": [2, 7], "chain": [2, 7, 16], "9": [2, 7, 8, 13, 18], "archive_dir": [2, 7], "archiv": [2, 7, 10, 16], "process": [2, 4, 5, 7, 11, 21], "renewalparam": [2, 7], "account": [2, 7, 10, 20, 22], "a563615cc912ed3d7a3edfede09d6760": 2, "post_hook": [2, 7], "systemctl": [2, 7, 8, 10, 11, 15, 16, 17], "acm": [2, 7], "v02": [2, 7], "api": [2, 7], "webroot_map": [2, 7], "specofycloud": 2, "begin": [2, 7], "dh": [2, 7], "paramet": [2, 4, 5, 7, 8, 11, 12], "miibcakcaqealcfksiufylwx47jxqbnt0wsvd6ifznsmcti8f7t": 2, "zaqqnr84iyim": 2, "pntt9e6srvkkjg2u1ngscnqj5larxvrda6zl66t8wmkffrgfnw7rycq3vpg6bpg": 2, "dj3": 2, "htwydnombecrdymz1ddfx": 2, "3owblttzrbjpvn": 2, "tegtan3dexp": 2, "qke9e2c1aux": 2, "mf": 2, "07vwpz7giemangame3fhdkyrenhtpfg1edkypuuhemr": 2, "pjmwq9lqbc12lyxop": 2, "dafwajurqweqrqp5feqdomdh522rwud2": 2, "fpextukqhi8guumjk652aelocn1ufhi": 2, "kbbv6tji7ws5f3hvanxgolmshq": 2, "cywocwibag": 2, "script": [3, 8, 10, 11], "hybrid_asset_server_setup": 3, "give": [4, 20], "ec2": [4, 5, 11, 14], "instanc": [4, 5, 7, 11, 14, 19, 21], "role": [4, 5], "profil": 4, "permiss": [4, 5, 19, 20], "read": [4, 10, 18], "kind": [4, 10], "thing": [4, 9, 10], "e": [4, 10, 11, 12, 15, 18, 19, 22], "lambda": 4, "saml": 4, "assert": 4, "edit": [4, 10, 11, 21], "manag": [4, 5, 10, 13, 15, 18, 19, 22], "polici": [4, 10], "trust": 4, "relationship": 4, "assumerol": 4, "group": [4, 11], "document": [4, 13], "directli": [4, 10, 11], "advisor": 4, "see": [4, 11], "ha": [4, 9, 11, 13, 22], "been": [4, 5, 9, 10, 11, 13, 22], "pare": 4, "down": [4, 13], "inbound": 4, "outbound": 4, "traffic": [4, 10], "anoth": [4, 20, 21], "sg": 4, "both": [4, 10, 12], "cheaper": 4, "less": 4, "project": [4, 10, 13, 14], "charg": 4, "standard": [4, 13], "10k": 4, "than": [4, 8, 12], "4k": 4, "encrypt": 4, "them": [4, 13], "km": 4, "add": [4, 7, 10, 11, 14, 19, 21, 22], "doc": [4, 5, 10, 12, 20], "public": [4, 10, 18], "40": [4, 8, 16], "mo": 4, "per": [4, 8], "05": [4, 8], "000": [4, 11], "temporari": [4, 10], "credenti": 4, "iam": [4, 20], "v": [4, 11, 14, 17, 18], "long": [4, 10], "term": [4, 13], "ident": 4, "function": [4, 13, 20], "contact": 4, "amazon": [4, 5, 9, 10, 20], "secretsmanag": [4, 5], "userguid": [4, 5, 20], "hardcod": 4, "apikei": 4, "privat": [4, 10, 21], "retriev": 4, "grant": [4, 11, 15, 18, 19, 22], "onli": [4, 8, 10, 11, 12, 18, 20, 21], "select": [4, 10, 12, 15, 18], "code": [4, 12, 13, 14, 16, 21], "interest": 4, "workload": 4, "travi": 4, "assign": [4, 13], "broad": 4, "identifi": [4, 8, 11, 18], "minimum": 4, "trigger": 5, "redshift": 5, "glue": 5, "instanti": 5, "workflow": [5, 12, 13], "problem": [5, 13], "mai": [5, 12, 15], "simpl": [5, 10, 11], "ani": [5, 11, 12, 13, 21, 22], "tip": 5, "appreci": 5, "procedur": 5, "bill": 5, "cost": 5, "explor": 5, "cloudtrail": 5, "monitor": [5, 14], "tell": 5, "administr": 5, "action": [5, 13], "cloudwatch": 5, "app": [5, 11], "perform": [5, 13], "agent": 5, "write": [5, 12, 13], "todo": [6, 7, 8], "variabl": [7, 8, 10, 17], "befor": [7, 8, 10, 13], "export": [7, 11, 17, 18], "domain_nam": [7, 8, 11, 17], "subdomain_prefix": 7, "first": [7, 10, 13], "section": [7, 10, 16, 20], "subdomain": [7, 8, 15], "build_non_docker_asset_serv": 7, "ssl_account": 7, "upgrad": [7, 8, 9, 10, 11, 17], "clone": [7, 10, 11, 17], "cd": [7, 10, 11, 12, 17], "checkout": [7, 11], "arm": [7, 8], "softwar": [7, 10, 13], "properti": [7, 10], "common": [7, 10, 16], "repositori": [7, 11, 21, 22], "ppa": [7, 11], "deadsnak": 7, "distutil": 7, "hvm": 8, "ssd": [8, 10], "bionic": 8, "arm64": [8, 11, 18], "20220131": 8, "ami": [8, 10], "0770bf1d6ae61c858": 8, "specify_cloud_setup": 8, "serveraliveinterv": [8, 10], "20": [8, 10, 11, 17], "tcpkeepal": [8, 10], "sshd_config": [8, 10], "clientaliveinterv": [8, 10], "1200": [8, 10], "clientalivecountmax": [8, 10], "sshd": [8, 10, 15], "spcloudserv": [8, 10, 15], "freshfish": 8, "sp7": [8, 10], "edg": [8, 10], "sp6": [8, 10], "env": [8, 10, 11, 17, 19], "anonymous_us": 8, "anon_user_nam": 8, "decommiss": [8, 10], "sp6version": [8, 10], "specify6802": 8, "02": 8, "fill": [8, 10], "between": [8, 10, 19], "db_instance_nam": 8, "rd": [8, 11], "amazonaw": [8, 10, 11, 18], "db_port": 8, "master_usernam": 8, "bogu": [8, 17, 19], "asset_server_fqdn": 8, "xxx": [8, 9], "xx": [8, 9, 16], "usernam": [8, 9, 18], "specify_us": 8, "specify_user_password": 8, "access_kei": [8, 11], "access_key_secret": [8, 11], "format": [8, 12], "start": [8, 10, 12, 13, 15, 17], "userdata": 8, "launch": [8, 10, 13, 19], "specify_cloud_ec2_userdata": 8, "bucket_nam": 8, "db_identifi": [8, 10], "db": [8, 9, 10, 19], "r5": 8, "larg": [8, 10], "vcpu": 8, "16": 8, "gb": 8, "ram": 8, "24": 8, "hour": 8, "173": 8, "month": [8, 9], "m5": [8, 10], "4vcpu": 8, "171": 8, "123": 8, "t3": [8, 10], "medium": [8, 10], "2vcpu": 8, "068": 8, "49": 8, "136": 8, "97": 8, "92": 8, "xlarg": 8, "272": 8, "195": 8, "t4g": 8, "065": 8, "46": 8, "129": 8, "88": 8, "v2": [8, 10, 11], "acu": 8, "12": 8, "86": 8, "v1": 8, "06": 8, "43": 8, "29": 8, "nano": 8, "0042": 8, "micro": 8, "0084": 8, "small": [8, 10, 13], "0168": 8, "0336": 8, "19": [8, 19], "0672": 8, "48": 8, "38": [8, 17], "1344": 8, "96": 8, "77": 8, "m7g": 8, "1vcpu": 8, "0408": 8, "0816": 8, "75": 8, "2232": 8, "160": 8, "70": 8, "fargat": 8, "linux": [8, 9, 10], "On": [8, 9, 10], "demand": 8, "03238": 8, "00356": 8, "spot": 8, "01279585": 8, "00140508": 8, "ephemer": 8, "storag": [8, 10], "000111": 8, "23": 8, "31": 8, "56": 8, "25": 8, "82": 8, "28": 8, "21": 8, "save": 8, "plan": [8, 13], "59": 8, "ex": [8, 9, 16], "cpu": 8, "22": [8, 10], "26": 8, "52": 8, "89": 8, "32": 8, "179": 8, "78": 8, "note": [8, 11, 14, 15], "purpos": [8, 10], "graviton": [8, 14], "memori": 8, "cheep": 8, "expens": 8, "na": [8, 9], "45": 8, "90": 8, "django": [8, 10, 11, 14, 17], "digit": [8, 14], "ocean": [8, 14], "usag": 8, "nomin": 8, "spike": 8, "task": [8, 10, 13, 18], "definit": 8, "vimsfish": 8, "might": [8, 10, 13, 19], "more": [8, 12, 13], "ca": [8, 10], "85": 8, "beati": 8, "72": 8, "mayb": [8, 10, 15, 17], "enough": 8, "handl": [8, 10, 12, 15], "each": [8, 9, 12, 13], "most": [8, 11, 14], "fine": [8, 15], "few": [8, 12], "over": 8, "combin": [8, 11], "comparison": 8, "reserv": 8, "36": 8, "install_ec2_wo_dock": 8, "yum": 8, "gcc": 8, "openldap": 8, "devel": 8, "mariadb": [8, 9, 10, 15, 17], "mariadb105": 8, "aarch64": 8, "nodj": 8, "npm": [8, 11, 17], "java": [8, 10], "openjdk": [8, 11, 17], "headless": 8, "corretto": 8, "python38": 8, "virtualenv": [8, 11], "python38u": 8, "redis6": 8, "unzip": [8, 11, 17], "dnf": 8, "wheel": [8, 11], "our": [9, 12, 13], "provid": [9, 13], "increas": [9, 18], "reliabl": 9, "mysql": [9, 10, 11, 15, 17, 18, 19], "deprec": 9, "v10": 9, "In": [9, 10, 11, 12, 13, 14], "futur": [9, 10], "hope": [9, 10], "postgresql": 9, "databas": [9, 10, 11, 15], "backup": [9, 15], "further": [9, 11], "improv": 9, "daili": 9, "via": 9, "ssh": [9, 10, 15], "two": [9, 10, 13], "login": [9, 10, 15], "institut": 9, "underscor": 9, "_": [9, 10], "dash": 9, "thei": [9, 13, 18], "wiki": 9, "remot": 9, "mac": 9, "n": 9, "l3307": 9, "institution_id": 9, "window": 9, "putti": 9, "c": [9, 10, 11, 13, 15, 16, 18], "program": 9, "your_us": 9, "private_key_": 9, "ppk": 9, "3307": 9, "log": [9, 10, 11], "previou": [9, 21], "soon": [9, 10, 21], "detail": 10, "instruct": 10, "solut": [10, 13], "deploy": 10, "ec": 10, "come": [10, 13], "composit": 10, "easiest": 10, "even": 10, "one": [10, 11, 12, 17, 21], "my": 10, "like": [10, 12], "could": 10, "instead": [10, 15], "wa": 10, "design": [10, 13, 20], "nativ": 10, "join": 10, "team": [10, 13], "pick": 10, "modern": 10, "cdk": 10, "scalabl": 10, "machin": [10, 21], "choos": [10, 12], "lt": 10, "64": 10, "bit": 10, "x86": 10, "architectur": 10, "better": 10, "pair": 10, "bucket": 10, "either": 10, "If": [10, 11, 12, 21], "insid": 10, "en": [10, 12], "keep": 10, "person": 10, "when": [10, 11, 13], "otherwis": 10, "sql": [10, 11, 15], "There": 10, "archireef": 10, "schema": 10, "input": 10, "tag": [10, 11, 21], "after": [10, 11, 13, 15, 16, 22], "tl": [10, 11], "rrhost_private_ip": 10, "your_database_host": 10, "your_master_password": 10, "temp": 10, "your_asset_server_kei": 10, "onc": [10, 13, 18], "chmod": [10, 18], "webpag": 10, "click": 10, "cloudshel": 10, "don": [10, 18], "local": [10, 11, 12, 15, 16], "happen": 10, "press": 10, "enter": [10, 18], "twice": 10, "back": 10, "shell": 10, "your_aws_access_kei": 10, "specify_cloud_bucket_nam": 10, "your_aws_access_key_id": 10, "your_aws_access_key_secret": 10, "avoid": 10, "dure": [10, 13], "sed": [10, 11, 17], "nrconf": 10, "kernelhint": 10, "needrestart": 10, "gh": [10, 12], "curl": [10, 11, 17], "wget": [10, 11, 17], "j2cli": [10, 11], "fssl": [10, 11], "gpg": 10, "dearmor": 10, "keyr": 10, "deb": [10, 11], "arch": [10, 18], "dpkg": 10, "sign": 10, "lsb_releas": 10, "stabl": 10, "tee": [10, 18], "null": 10, "ce": 10, "check": [10, 11, 12, 13, 15, 22], "correctli": 10, "cli": 10, "plugin": 10, "releas": [10, 13], "17": 10, "unam": 10, "cp": [10, 11, 16, 17], "snapshot": 10, "recurs": 10, "did": 10, "engin": [10, 13], "experi": 10, "aurora": [10, 11], "dynam": 10, "scale": 10, "templat": 10, "suggest": 10, "product": [10, 13, 17], "feel": 10, "someth": 10, "similar": [10, 12], "decid": 10, "size": [10, 18], "accommod": 10, "suffic": 10, "iop": 10, "comput": [10, 11, 18], "tab": 10, "mark": [10, 22], "endpoint": 10, "specify_cloud_database_nam": 10, "seed": [10, 11], "f": [10, 17], "remain": 10, "own": [10, 22], "navig": 10, "page": [10, 14], "ipv4": 10, "open": [10, 13], "browser": 10, "haven": 10, "yet": 10, "webpack": [10, 11, 17], "report": [10, 17, 18], "runner": [10, 17], "being": [10, 13], "hold": 10, "front": [10, 19], "independ": 10, "act": 10, "job": 10, "queue": 10, "broker": 10, "possibl": [10, 11, 21], "sq": 10, "serv": [10, 11], "conaint": 10, "remov": [10, 13, 15, 21], "move": 10, "startup": 10, "webserv": [10, 11, 17], "possibli": 10, "cloudfront": 10, "tool": [10, 20], "who": 10, "rout": 10, "53": 10, "probabl": 10, "elast": 10, "apach": [10, 11], "your_ec2_domain_nam": 10, "vim": [10, 15], "exec": [10, 15, 18], "specifycloud_nginx_1": [10, 15], "extend": 10, "mosti": 11, "lite": 11, "entrypoint": [11, 17], "jdk": [11, 17], "nodesourc": 11, "setup_18": 11, "build": [11, 12, 13, 14, 17], "essenti": [11, 17], "libldap2": [11, 17], "libmariadbcli": [11, 17], "libsasl2": [11, 17], "nodej": [11, 17], "maven": [11, 17], "ant": [11, 17], "node": [11, 16, 17], "apache2": 11, "libapache2": 11, "mod": 11, "wsgi": [11, 17], "py3": 11, "core": [11, 19], "specifysoftwar": [11, 17], "6803": [11, 17], "specify_unix_64": [11, 17], "ln": [11, 16, 17, 18], "pwd": [11, 18], "wb_upload_log": 11, "specify_depositori": 11, "v7": 11, "87": 11, "116": 11, "210": 11, "bashrc": [11, 17], "cqvncffkwz9t": 11, "danc": 11, "taco": 11, "magic": 11, "rainbow": 11, "vibe": 11, "web_attachment_url": 11, "web_attachment_kei": 11, "tnhercbrhtktanehul": [11, 17], "dukb": [11, 17], "web_attachment_collect": 11, "specifydb": 11, "specify_set": 11, "masterus": 11, "masterpassword": 11, "activ": [11, 12], "runserv": 11, "media": 11, "media_root": 11, "__init__": 11, "media_url": 11, "ufw": 11, "statu": [11, 16], "servernam": 11, "specifyweb_apach": 11, "invok": 11, "rc": 11, "your_domain": 11, "full": [11, 13, 16], "varibal": 11, "update_set": 11, "setting_kei": 11, "setting_valu": 11, "file_path": 11, "cat": [11, 16, 18], "eot": 11, "mastermast": 11, "54": 11, "162": 11, "114": 11, "41": 11, "128m": 11, "j": 11, "fileget": 11, "fileupload": 11, "filedelet": 11, "getmetadata": 11, "testkei": 11, "400m": 11, "client_body_buffer_s": 11, "client_body_timeout": 11, "120": 11, "uwsgi": 11, "uwsgi_pass": 11, "unix": 11, "socket": 11, "uwsgi_param": 11, "uwsgi_read_timeout": 11, "32m": 11, "alia": [11, 15, 17], "slash": 11, "virtualhost": 11, "followsymlink": 11, "index": [11, 12, 14], "multiview": 11, "web_upload_log": 11, "librari": 11, "establish": 11, "leav": 11, "wsgidaemonprocess": 11, "wsgiprocessgroup": 11, "wsgiscriptalia": 11, "errorlog": 11, "error": [11, 12], "notic": 11, "crit": 11, "alert": 11, "emerg": 11, "loglevel": 11, "customlog": 11, "hostnam": [11, 16, 17], "itself": 11, "redirect": 11, "context": [11, 15], "virtual": [11, 12, 21], "appear": 11, "match": 11, "decis": 11, "last": [11, 21], "resort": 11, "regardless": 11, "howev": 11, "explicitli": 11, "serveradmin": 11, "webmast": 11, "documentroot": 11, "trace8": 11, "trace1": 11, "particular": 11, "apache_log_dir": 11, "global": [11, 13], "level": [11, 12, 13], "cgi": 11, "a2disconf": 11, "73": 11, "compil": [11, 17], "104175": 11, "js_src": [11, 17], "spcloud": 11, "myst": 12, "parser": 12, "markdown": 12, "pars": 12, "quickstart": 12, "rst": 12, "bat": 12, "destin": 12, "_build": 12, "restructur": 12, "organ": [12, 16, 22], "logic": 12, "subdirectori": 12, "top": [12, 13, 21], "titl": 12, "displai": 12, "tabl": 12, "number": [12, 16], "sub": 12, "head": 12, "under": 12, "toctre": 12, "path": [12, 21], "rel": 12, "filenam": 12, "extens": 12, "maxdepth": 12, "indic": 12, "sublevel": 12, "veri": [12, 18], "termin": 12, "prior": 12, "push": [12, 21, 22], "exist": [12, 13], "io": 12, "alreadi": 12, "autom": [12, 14], "build_sphinx_doc": 12, "readthedoc": 12, "ensur": [12, 13], "depend": 12, "land": 12, "complet": 12, "successfulli": 12, "form": [12, 16], "At": 13, "structur": 13, "deliv": 13, "high": 13, "qualiti": 13, "meet": 13, "step": 13, "vision": 13, "re": 13, "solv": 13, "goal": 13, "achiev": 13, "stori": 13, "describ": 13, "specif": 13, "perspect": 13, "help": 13, "stai": 13, "focus": [13, 20], "data": 13, "model": 13, "ui": 13, "ux": 13, "technic": 13, "prioriti": 13, "priorit": 13, "factor": 13, "impact": 13, "complex": 13, "estim": 13, "implement": 13, "effect": 13, "timelin": 13, "alloc": 13, "issu": [13, 15], "creation": 13, "smaller": 13, "track": 13, "progress": 13, "collabor": 13, "assembl": 13, "relat": 13, "central": [13, 14], "effici": 13, "With": 13, "involv": 13, "interfac": 13, "least": [13, 15, 20], "three": 13, "differ": 13, "member": 13, "compon": 13, "expect": 13, "integr": [13, 22], "larger": 13, "seamlessli": 13, "phase": 13, "conduct": 13, "intern": 13, "week": 13, "feedback": 13, "find": 13, "final": 13, "thoroughli": 13, "deploi": [13, 14], "commun": 13, "By": 13, "align": 13, "sent": 13, "support": 13, "explan": 13, "rephras": 13, "anyth": 13, "ad": 13, "part": 13, "clear": 13, "checklist": 13, "present": 13, "z": 13, "compris": 13, "approv": 13, "post": [13, 15], "channel": [13, 22], "review": [13, 20], "lead": 13, "pull": 13, "branch": 13, "total": 13, "complianc": 13, "proce": 13, "bring": 13, "modif": 13, "pr": 13, "confirm": 13, "fail": [13, 15], "again": 13, "iter": 13, "merg": 13, "infrastructur": 14, "setup": 14, "migrat": 14, "non": [14, 19], "hybrid": 14, "fix": [14, 15], "ku": [14, 15], "IT": 14, "One": [14, 20], "search": 14, "look": [15, 16], "doesn": [15, 20], "flush": [15, 18], "registtr": 15, "dreamhost": 15, "websit": 15, "cname": 15, "style": 15, "wait": 15, "minut": 15, "circul": 15, "bitech": 15, "edu": 15, "su": [15, 18], "unsm": 15, "vp": 15, "automat": 15, "hook": 15, "crontab": 15, "cronjob": 15, "biprdsp6ap": 15, "cc": 15, "spcloudbackup": 15, "backup_specify_cloud": 15, "updown": [15, 18, 22], "system_info": 15, "authorized_kei": [15, 18], "droplet": 15, "mysqld": 15, "tc": 15, "heurist": 15, "recov": 15, "rollback": 15, "kuit": 16, "nav_to": 16, "uri": 16, "2fcom": 16, "glideapp": 16, "servicecatalog_cat_item_view": 16, "3fv": 16, "3d1": 16, "26sysparm_id": 16, "3d78fee42fdb2a8850162673e1ba96195b": 16, "26sysparm_link_par": 16, "3d322911f41bec6490cf2d337e034bcb23": 16, "26sysparm_catalog": 16, "3de0d08b13c3330100c8b837659bba8fb4": 16, "26sysparm_catalog_view": 16, "3dcatalog_default": 16, "26sysparm_view": 16, "csr": 16, "openssl": 16, "req": 16, "newkei": 16, "rsa": 16, "2048": 16, "keyout": 16, "countri": 16, "letter": 16, "state": 16, "provinc": 16, "kansa": 16, "eg": 16, "citi": 16, "lawrenc": 16, "compani": 16, "ltd": 16, "univers": 16, "organiz": 16, "biimag": 16, "biodivers": 16, "email": 16, "alec": [16, 22], "white": 16, "verifi": 16, "ou": 16, "cn": 16, "emailaddress": 16, "receiv": 16, "biimages_biodiversity_ku_edu": 16, "cer": 16, "biimages_biodiversity_ku_edu_cert": 16, "crt": 16, "biimages_biodiversity_ku_edu_interm": 16, "p7b": 16, "concaten": 16, "proper": 16, "increment": 16, "privkey40": 16, "cert40": 16, "chain40": 16, "fullchain40": 16, "symbol": 16, "where": [16, 21], "sf": 16, "hash": 16, "x509": 16, "noout": 16, "modulu": 16, "md5": 16, "webport": 16, "keystor": 16, "collections_biodiversity_ku_edu_cert": 16, "collections_biodiversity_ku_edu": 16, "collections_biodiversity_ku_edu_interm": 16, "webportal_serv": 16, "bi": 16, "sp7access": 16, "pod": 17, "exclud": 17, "sp6_version": 17, "sp6_version_str": 17, "tr": 17, "raw": 17, "githubusercont": 17, "nvm": 17, "v0": 17, "nvm_dir": 17, "load": 17, "ci": 17, "dist": 17, "npx": 17, "mode": 17, "font": [17, 18], "jar": [17, 18], "tmp": 17, "pom": 17, "mvn": 17, "war": 17, "explod": 17, "src": 17, "3000": [17, 19], "8888": [17, 19], "ptvsd": [17, 19], "fi": 17, "worker_count": 17, "daemon": 17, "conditionpathexist": 17, "jetti": 17, "ireportrunn": 17, "alec_specify_ssh_kei": 18, "ec2inst": 18, "put": 18, "alecwhit": 18, "exit": 18, "background": 18, "foreground": 18, "df": 18, "h": 18, "du": 18, "avz": 18, "cluster": 18, "img": 18, "inspect": 18, "jq": 18, "repotag": 18, "done": 18, "notif": 18, "notificationstest": 18, "file1": 18, "file2": 18, "appli": 18, "addus": 18, "geco": 18, "docker_cli_experiment": 18, "buildx": 18, "mybuild": 18, "bootstrap": 18, "platform": 18, "amd64": 18, "think": [18, 20], "ask": 18, "restrict": 18, "rbash": 18, "usermod": 18, "symlink": 18, "700": 18, "ssh_kei": 18, "dbuser": 18, "BY": 18, "dbuser_password": 18, "insert": 18, "ON": [18, 19], "your_database_nam": 18, "TO": [18, 19], "tail": 18, "1000": 18, "grep": 18, "awk": 18, "split": 18, "falloc": 18, "4g": 18, "swapfil": 18, "dd": 18, "zero": 18, "1024": 18, "count": 18, "4096k": 18, "mkswap": 18, "swapon": 18, "sw": 18, "fstab": 18, "perman": 18, "show": 18, "free": 18, "swappi": 18, "defaul": 18, "100": 18, "argess": 18, "absolutlei": 18, "necessari": 18, "proc": 18, "sy": 18, "vm": 18, "sysctl": 18, "chane": 18, "swapoff": 18, "8g": 18, "resiz": 18, "test_cuic": 19, "test_": 19, "devpress": 19, "csdn": 19, "net": 19, "62fe07607e66823466192fa3": 19, "pytest": 19, "hypothesi": 19, "jsonschema": 19, "ini": 19, "django_settings_modul": 19, "python_fil": 19, "testpars": 19, "addopt": 19, "ignor": [19, 22], "selenium_test": 19, "vscode": 19, "pythonpath": 19, "pytestarg": 19, "vv": 19, "pytesten": 19, "nosetestsen": 19, "unittesten": 19, "setdefault": 19, "run_main": 19, "werkzeug_run_main": 19, "debugpi": 19, "dockerfil": 19, "debugg": 19, "runtim": 19, "pathmap": 19, "localroot": 19, "workspacefold": 19, "remoteroot": 19, "unittestarg": 19, "lint": 19, "mypyen": 19, "wellarchitect": 20, "pillar": 20, "sec_securely_operate_aws_account": 20, "mfa": 20, "programmat": 20, "disallow": 20, "best": [20, 21], "practic": [20, 21], "architect": 20, "principl": 20, "divid": 20, "sever": 20, "welcom": 20, "proscript": 20, "answer": 20, "rather": 20, "discuss": 20, "about": 20, "variou": 20, "facet": 20, "postur": 20, "reduc": 20, "great": 20, "inadvert": 21, "revok": [21, 22], "investig": 21, "physic": 21, "old": 21, "unus": 21, "safe": 21, "gitguardian": 21, "suffici": 21, "commit": 21, "current": 21, "forc": 21, "amend": 21, "aime": 22, "lifemapp": 22, "biotaphi": 22, "specifysystem": 22, "incid": 22, "determin": 22, "risk": 22, "invalid": 22, "slack": 22}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"specifi": [0, 7, 8, 11, 13, 14, 15, 17, 18], "7": 0, "docker": [0, 2, 7, 8, 10, 17, 18], "config": [0, 7, 8, 10], "exampl": [0, 15, 18], "default": 0, "env": 0, "compos": 0, "yml": 0, "nginx": [0, 18], "conf": 0, "asset": [0, 1, 3, 7, 14], "server": [0, 1, 3, 7, 8, 14, 16], "set": [0, 12], "py": 0, "file": [0, 7, 8, 10, 12, 18], "possibl": 0, "dockerfil": 0, "ec": 0, "build": [0, 2, 7, 18], "unfinish": 0, "web": [0, 14, 16], "configur": [1, 8, 10, 12], "ec2": [2, 7, 8, 10], "non": [2, 7], "hybrid": 3, "setup": [3, 7, 8, 10, 11, 12], "aw": [4, 5, 6, 7, 8, 9, 20], "authent": 4, "note": [4, 5, 6, 10], "organ": [4, 5], "complet": [4, 5], "question": 4, "remain": 4, "autom": 5, "todo": [5, 12, 20], "log": [5, 18], "infrastructur": 6, "shell": 7, "script": 7, "cloud": [8, 11, 15], "aurora": 8, "mysql": 8, "databas": [8, 18], "initi": 8, "command": [8, 18], "ssh": [8, 18], "info": 8, "misc": [8, 14, 15], "credenti": 8, "user": [8, 18, 20], "data": [8, 10], "price": 8, "instal": [8, 12], "ubuntu": 8, "instanc": [8, 10, 15], "us": [8, 18], "amazon": [8, 14], "arm54": 8, "cento": 8, "imag": [8, 17, 18], "digit": 9, "ocean": 9, "migrat": 9, "deploi": 10, "specify7": 10, "an": 10, "spin": 10, "up": 10, "s3": 10, "rd": 10, "upload": 10, "contain": 10, "depend": 10, "conclud": 10, "graviton": 11, "project": 12, "github": [12, 21], "page": 12, "document": [12, 14], "sphinx": 12, "edit": 12, "view": [12, 18], "publish": 12, "site": 12, "On": 12, "creat": [12, 17, 18], "repositori": 12, "For": 12, "action": 12, "add": [12, 15, 18], "yaml": 12, "test": [12, 18, 19], "thi": 12, "after": 12, "branch": 12, "from": [12, 20], "develop": [13, 14], "process": [13, 14], "overview": 13, "detail": 13, "new": [13, 15, 16], "featur": 13, "request": 13, "welcom": 14, "servic": 14, "intern": 14, "secur": [14, 20, 22], "indic": 14, "tabl": 14, "dbname": 15, "troubleshoot": 15, "work": 16, "central": 16, "ku": 16, "IT": 16, "certif": 16, "edu": 16, "portal": 16, "most": 17, "In": 17, "One": 17, "bash": 18, "sftp": 18, "check": 18, "storag": 18, "rsync": 18, "architectur": 18, "o": 18, "run": 18, "django": [18, 19], "unit": [18, 19], "through": 18, "git": 18, "stash": 18, "push": 18, "multipl": 18, "linux": 18, "login": 18, "access": 18, "live": 18, "format": 18, "swap": 18, "memori": 18, "v": 19, "code": 19, "debug": 19, "root": 20, "refer": 20, "travi": 20, "berklei": 20, "fix": 21, "expos": 21, "secret": 21, "monitor": 22, "gitguardian": 22}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"Specify 7 Docker Config Example": [[0, "specify-7-docker-config-example"]], "Example defaults.env": [[0, "example-defaults-env"]], "Example docker-compose.yml": [[0, "example-docker-compose-yml"]], "Example nginx.conf": [[0, "example-nginx-conf"]], "Asset Server": [[0, "asset-server"]], "Example settings.py file": [[0, "example-settings-py-file"]], "Possible Dockerfile for ECS Build (Unfinished)": [[0, "possible-dockerfile-for-ecs-build-unfinished"]], "Asset nginx web-server config": [[0, "asset-nginx-web-server-config"]], "Asset Server Configuration": [[1, "asset-server-configuration"]], "EC2 Non-Dockerized Build": [[2, "ec2-non-dockerized-build"], [7, "ec2-non-dockerized-build"]], "Hybrid Asset Server Setup": [[3, "hybrid-asset-server-setup"]], "AWS Authentication": [[4, "aws-authentication"]], "Notes to be Organized and Completed": [[4, "notes-to-be-organized-and-completed"], [5, "notes-to-be-organized-and-completed"]], "Authentication": [[4, "authentication"]], "Questions remaining": [[4, "questions-remaining"]], "AWS Automation": [[5, "aws-automation"]], "TODO:": [[5, "todo"], [20, "todo"]], "Automation": [[5, "automation"]], "Logging": [[5, "logging"]], "AWS Infrastructure Notes": [[6, "aws-infrastructure-notes"]], "AWS Specify Asset Server Setup": [[7, "aws-specify-asset-server-setup"]], "Config files": [[7, "config-files"], [8, "config-files"]], "EC2 Non-docker build shell script": [[7, "ec2-non-docker-build-shell-script"]], "Docker Build": [[7, "docker-build"]], "Specify Cloud Setup": [[8, "specify-cloud-setup"]], "Setup Aurora MySQL Database": [[8, "setup-aurora-mysql-database"]], "Setup EC2 Server": [[8, "setup-ec2-server"]], "Initial Commands": [[8, "initial-commands"]], "SSH Configuration": [[8, "ssh-configuration"]], "Info Misc.": [[8, "info-misc"]], "aws credentials:": [[8, "aws-credentials"]], "AWS EC2 User data:": [[8, "aws-ec2-user-data"]], "AWS Pricing": [[8, "aws-pricing"]], "Install Ubuntu EC2 instance with no docker": [[8, "install-ubuntu-ec2-instance-with-no-docker"]], "Using the Amazon arm54 centos image:": [[8, "using-the-amazon-arm54-centos-image"]], "Digital Ocean to AWS migration": [[9, "digital-ocean-to-aws-migration"]], "Deploy Specify7 to an EC2 instance": [[10, "deploy-specify7-to-an-ec2-instance"]], "Spin Up EC2 Instance": [[10, "spin-up-ec2-instance"]], "S3 Setup": [[10, "s3-setup"]], "Config file": [[10, "config-file"]], "Configure Specify7": [[10, "configure-specify7"]], "Spin Up RDS Instance": [[10, "spin-up-rds-instance"]], "Upload Data": [[10, "upload-data"]], "Deploy Specify7": [[10, "deploy-specify7"]], "Docker Container Dependencies": [[10, "docker-container-dependencies"]], "Concluding Notes": [[10, "concluding-notes"]], "Specify Cloud Graviton Setup": [[11, "specify-cloud-graviton-setup"]], "Project (Github pages) documentation": [[12, "project-github-pages-documentation"]], "Install Configure Sphinx": [[12, "install-configure-sphinx"]], "Edit Documentation and View": [[12, "edit-documentation-and-view"]], "Publish as Github Pages Site": [[12, "publish-as-github-pages-site"]], "On Github, Create Repository for Pages site": [[12, "on-github-create-repository-for-pages-site"]], "For Github Action, add YAML configuration files": [[12, "for-github-action-add-yaml-configuration-files"]], "TODO: test this after setup branch to publish from": [[12, "todo-test-this-after-setup-branch-to-publish-from"]], "Set Pages Site to branch created by Github action": [[12, "set-pages-site-to-branch-created-by-github-action"]], "Specify Development Process": [[13, "specify-development-process"]], "Overview": [[13, "overview"]], "Detailed process for new feature requests": [[13, "detailed-process-for-new-feature-requests"]], "Welcome to Specify Developer documentation!": [[14, "welcome-to-specify-developer-documentation"]], "Amazon Web Services:": [[14, null]], "Asset Server:": [[14, null]], "Internal Processes:": [[14, null]], "Security:": [[14, null]], "Misc:": [[14, null]], "Indices and tables": [[14, "indices-and-tables"]], "Add new Specify instance to Specify Cloud": [[15, "add-new-specify-instance-to-specify-cloud"]], "Example for ": [[15, "example-for"]], "Misc": [[15, "misc"]], "Troubleshooting": [[15, "troubleshooting"]], "Working with central KU IT": [[16, "working-with-central-ku-it"]], "New certificate on ku.edu server": [[16, "new-certificate-on-ku-edu-server"]], "web-portal certificate": [[16, "web-portal-certificate"]], "Create a Most-In-One Specify Docker image": [[17, "create-a-most-in-one-specify-docker-image"]], "Image": [[17, "image"]], "Useful bash commands": [[18, "useful-bash-commands"]], "sftp": [[18, "sftp"]], "check storage": [[18, "check-storage"]], "rsync": [[18, "rsync"]], "docker images view architecture and OS": [[18, "docker-images-view-architecture-and-os"]], "run a django unit test through docker": [[18, "run-a-django-unit-test-through-docker"]], "git stash specify files": [[18, "git-stash-specify-files"]], "add user": [[18, "add-user"]], "docker build and push for multiple architectures": [[18, "docker-build-and-push-for-multiple-architectures"]], "create linux user for ssh login and database access": [[18, "create-linux-user-for-ssh-login-and-database-access"]], "view live formatted nginx logs example": [[18, "view-live-formatted-nginx-logs-example"]], "Add swap memory": [[18, "add-swap-memory"]], "VS Code Django Unit Test Debugging": [[19, "vs-code-django-unit-test-debugging"]], "AWS Security": [[20, "aws-security"]], "Root user": [[20, "root-user"]], "References": [[20, "references"]], "From Travis Berkley:": [[20, "from-travis-berkley"]], "Fix Exposed Secrets": [[21, "fix-exposed-secrets"]], "Secrets": [[21, "secrets"]], "Github": [[21, "github"]], "Security Monitoring": [[22, "security-monitoring"]], "GitGuardian": [[22, "gitguardian"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["asset_server/asset_config_files", "asset_server/asset_server_config", "asset_server/asset_server_setup", "asset_server/hybrid_asset_server_setup", "aws/aws_authentication", "aws/aws_automation", "aws/aws_infrastructure_notes", "aws/aws_specify_asset_server_setup", "aws/aws_specify_cloud_setup", "aws/client_migration_notes", "aws/ec2_rds_specify7_setup", "aws/specify_cloud_graviton_setup", "dev_process/project_docs", "dev_process/specify_processes", "index", "misc/add_new_instance_to_specify_cloud", "misc/kuit_notes", "misc/specify7_ecs_most-in-one", "misc/useful_bash_cmds", "misc/vs_code_django_unit_test_debugging_notes", "security/aws_security", "security/fix_exposed_secret", "security/monitoring"], "filenames": ["asset_server/asset_config_files.md", "asset_server/asset_server_config.md", "asset_server/asset_server_setup.md", "asset_server/hybrid_asset_server_setup.md", "aws/aws_authentication.rst", "aws/aws_automation.rst", "aws/aws_infrastructure_notes.md", "aws/aws_specify_asset_server_setup.md", "aws/aws_specify_cloud_setup.md", "aws/client_migration_notes.md", "aws/ec2_rds_specify7_setup.md", "aws/specify_cloud_graviton_setup.md", "dev_process/project_docs.rst", "dev_process/specify_processes.rst", "index.rst", "misc/add_new_instance_to_specify_cloud.md", "misc/kuit_notes.md", "misc/specify7_ecs_most-in-one.md", "misc/useful_bash_cmds.md", "misc/vs_code_django_unit_test_debugging_notes.md", "security/aws_security.rst", "security/fix_exposed_secret.rst", "security/monitoring.rst"], "titles": ["Specify 7 Docker Config Example", "Asset Server Configuration", "EC2 Non-Dockerized Build", "Hybrid Asset Server Setup", "AWS Authentication", "AWS Automation", "AWS Infrastructure Notes", "AWS Specify Asset Server Setup", "Specify Cloud Setup", "Digital Ocean to AWS migration", "Deploy Specify7 to an EC2 instance", "Specify Cloud Graviton Setup", "Project (Github pages) documentation", "Specify Development Process", "Welcome to Specify Developer documentation!", "Add new Specify instance to Specify Cloud", "Working with central KU IT", "Create a Most-In-One Specify Docker image", "Useful bash commands", "VS Code Django Unit Test Debugging", "AWS Security", "Fix Exposed Secrets", "Security Monitoring"], "terms": {"database_host": [0, 8, 10, 11, 17], "10": [0, 4, 8, 10, 11, 13, 15, 18], "133": [0, 11], "58": [0, 8, 11], "98": [0, 11], "database_port": [0, 8, 10, 11, 17], "3306": [0, 9, 10, 11, 17], "master_nam": [0, 8, 10, 11, 17], "master": [0, 9, 10, 11, 15, 17, 19], "master_password": [0, 8, 10, 11, 15, 17], "secret_kei": [0, 8, 10, 17, 19], "asset_server_url": [0, 1, 8, 10, 17], "http": [0, 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 15, 16, 17, 19, 20], "assets1": [0, 2, 10, 11], "specifycloud": [0, 1, 2, 7, 9, 10, 11, 15, 17, 18], "org": [0, 1, 2, 7, 9, 10, 11, 15, 17, 18], "web_asset_stor": [0, 1, 2, 7, 8, 10, 11, 17], "xml": [0, 1, 2, 7, 8, 10, 11, 17], "asset_server_kei": [0, 8, 10, 17], "report_runner_host": [0, 8, 10, 11, 17], "report_runner_port": [0, 8, 10, 11, 17], "8080": [0, 1, 2, 7, 8, 10, 11, 17], "celery_broker_url": [0, 8, 10, 17], "redi": [0, 8, 10, 11, 17], "0": [0, 1, 2, 4, 7, 8, 10, 11, 15, 17, 18, 19], "celery_result_backend": [0, 8, 10, 17], "1": [0, 1, 2, 7, 8, 9, 10, 11, 12, 13, 17, 18, 19], "log_level": [0, 8, 10, 17], "warn": [0, 4, 8, 10, 11, 12, 17, 22], "sp7_debug": [0, 8, 10, 17], "fals": [0, 1, 2, 7, 8, 10, 15, 19], "version": [0, 1, 2, 7, 10, 13, 19], "3": [0, 1, 7, 8, 10, 11, 13, 15, 17], "servic": [0, 1, 2, 4, 7, 9, 10, 11, 15, 16, 17, 18, 19], "client_nam": [0, 17], "imag": [0, 1, 2, 7, 10, 14], "specifyconsortium": [0, 1, 18], "specify7": [0, 1, 8, 9, 11, 14, 17, 18, 19], "issue_388": 0, "command": [0, 1, 10, 11, 12, 14, 16], "ve": [0, 2, 5, 7, 8, 11, 17, 18, 19], "bin": [0, 2, 7, 8, 11, 12, 15, 17, 18, 19], "gunicorn": [0, 11, 17], "w": [0, 1, 10, 11, 15, 17], "thread": 0, "5": [0, 1, 2, 7, 8, 9, 10, 11, 13, 19], "b": [0, 11, 13, 17, 18], "8000": [0, 11, 17], "t": [0, 10, 11, 15, 17, 18, 20], "300": [0, 1, 2, 7, 11, 17], "specifyweb_wsgi": [0, 11, 17], "init": [0, 1], "true": [0, 1, 2, 7, 10, 17, 19], "restart": [0, 1, 2, 7, 10, 11, 15, 16, 17], "unless": [0, 1, 2, 7], "stop": [0, 1, 10, 15], "volum": [0, 1, 4, 11], "specify6803": [0, 8, 10, 11], "opt": [0, 11, 19], "ro": [0, 1], "static": [0, 2, 4, 7, 10, 11], "local_specify_set": [0, 11], "env_fil": 0, "environ": [0, 1, 7, 11, 12, 17, 19], "database_nam": [0, 8, 11, 17], "sandbox_rbg": 0, "asset_server_collect": 0, "worker": [0, 1, 8, 10, 11, 15, 17], "celeri": [0, 10, 11, 17], "A": [0, 2, 7, 11, 13, 16, 17], "specifyweb": [0, 11, 17, 18, 19], "l": [0, 9, 10, 11, 15, 16, 17, 18], "info": [0, 4, 11, 17], "concurr": [0, 11, 17], "q": [0, 11, 18], "specify6800": [0, 8], "specify6": [0, 9, 10, 11, 17], "6": [0, 2, 4, 7, 8, 9, 10, 11, 13, 15, 17, 18, 19], "8": [0, 1, 2, 4, 7, 8, 10, 11, 13, 17, 18, 19], "00": [0, 8], "specify6801": [0, 8, 11], "01": [0, 8], "03": [0, 8, 10, 11, 17], "port": [0, 1, 2, 4, 7, 10, 11, 17, 19], "80": [0, 1, 2, 7, 8, 11, 17], "443": [0, 1, 2, 7], "sp7demofish": [0, 1, 2, 7, 11, 17], "eu": [0, 8, 11], "rjb": 0, "madrid": 0, "mcnb": 0, "herb": 0, "rbge": 0, "cryoark": [0, 11], "test": [0, 2, 7, 10, 11, 13, 14, 15, 17], "eurl": [0, 15], "etc": [0, 1, 2, 4, 5, 7, 8, 10, 11, 15, 16, 17, 18], "d": [0, 1, 10, 11, 15, 16, 17], "letsencrypt": [0, 1, 2, 7, 11, 15, 16], "ssl": [0, 1, 2, 7, 10, 11, 15, 16], "cert": [0, 1, 2, 7, 16], "dhparam": [0, 1, 2, 7], "pem": [0, 1, 2, 7, 10, 16, 18], "var": [0, 1, 2, 7, 10, 11, 15], "www": [0, 1, 2, 7, 10, 11, 15], "listen": [0, 1, 2, 7, 11, 19], "server_nam": [0, 1, 2, 7, 11, 16, 17], "The": [0, 1, 2, 7, 9, 10, 11, 12, 13], "pass": [0, 1, 2, 4, 5, 7, 11, 13], "though": [0, 1, 2, 7, 11], "locat": [0, 1, 2, 7, 11, 16], "well": [0, 1, 2, 7, 10, 11, 20], "known": [0, 1, 2, 7, 11], "root": [0, 1, 2, 7, 9, 11, 18, 19], "return": 0, "301": 0, "host": [0, 2, 7, 8, 9, 10, 11, 19], "request_uri": 0, "thi": [0, 1, 2, 4, 7, 10, 11, 13, 17, 20, 21], "stanza": [0, 1, 2, 7], "defin": [0, 1, 2, 4, 7, 13], "end": [0, 1, 2, 4, 7, 10, 11, 19], "point": [0, 1, 2, 7, 11, 13, 15], "ssl_certif": [0, 1, 2, 7, 16], "live": [0, 1, 2, 7, 16], "fullchain": [0, 1, 2, 7, 16], "ssl_certificate_kei": [0, 1, 2, 7, 16], "privkei": [0, 1, 2, 7, 16], "from": [0, 1, 2, 7, 9, 10, 11, 13, 15, 17, 19, 21], "cipherli": [0, 1, 2, 7], "st": [0, 1, 2, 7, 16], "raymii": [0, 1, 2, 7], "": [0, 1, 2, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19, 22], "tutori": [0, 1, 2, 7], "strong_ssl_security_on_nginx": [0, 1, 2, 7], "html": [0, 1, 2, 4, 5, 7, 11, 12, 19, 20], "ssl_protocol": [0, 1, 2, 7], "tlsv1": [0, 1, 2, 7], "2": [0, 1, 2, 7, 8, 10, 11, 13, 15, 16, 18, 19], "ssl_prefer_server_ciph": [0, 1, 2, 7], "ssl_cipher": [0, 1, 2, 7], "eecdh": [0, 1, 2, 7], "aesgcm": [0, 1, 2, 7], "edh": [0, 1, 2, 7], "aes256": [0, 1, 2, 7], "ssl_ecdh_curv": [0, 1, 2, 7], "secp384r1": [0, 1, 2, 7], "ssl_session_cach": [0, 1, 2, 7], "share": [0, 1, 2, 7, 10, 11], "10m": [0, 1, 2, 7, 18], "ssl_session_ticket": [0, 1, 2, 7], "off": [0, 1, 2, 7, 11, 18], "ssl_stapl": [0, 1, 2, 7], "ssl_stapling_verifi": [0, 1, 2, 7], "resolv": [0, 1, 2, 7, 11, 22], "4": [0, 1, 2, 4, 7, 8, 13, 15, 17, 18, 19], "valid": [0, 1, 2, 7, 11], "resolver_timeout": [0, 1, 2, 7], "disabl": [0, 1, 2, 7, 11, 18, 20], "preload": [0, 1, 2, 7], "hst": [0, 1, 2, 7], "now": [0, 1, 2, 7, 9, 16], "you": [0, 1, 2, 5, 7, 9, 10, 11, 12, 20, 21], "can": [0, 1, 2, 4, 5, 7, 10, 12, 13, 18, 20], "us": [0, 1, 2, 4, 5, 7, 9, 10, 11, 12, 13, 14, 19, 20, 21], "comment": [0, 1, 2, 7, 13], "out": [0, 1, 2, 4, 5, 7, 11, 16], "header": [0, 1, 2, 7, 11], "line": [0, 1, 2, 7, 10, 11, 15, 16], "includ": [0, 1, 2, 4, 7, 8, 10, 11, 12, 13], "direct": [0, 1, 2, 7, 11], "understand": [0, 1, 2, 7, 13, 21], "implic": [0, 1, 2, 7, 21], "add_head": [0, 1, 2, 7], "strict": [0, 1, 2, 7], "transport": [0, 1, 2, 7, 10], "secur": [0, 1, 2, 4, 7, 9, 10], "max": [0, 1, 2, 7, 22], "ag": [0, 1, 2, 7], "63072000": [0, 1, 2, 7], "includesubdomain": [0, 1, 2, 7], "x": [0, 1, 2, 7, 10, 11, 13], "frame": [0, 1, 2, 7], "option": [0, 1, 2, 7, 8, 10, 11, 16], "deni": [0, 1, 2, 7], "content": [0, 1, 2, 7, 12], "type": [0, 1, 2, 7, 10, 19], "nosniff": [0, 1, 2, 7], "ssl_dhparam": [0, 1, 2, 7], "i": [0, 1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22], "m": [0, 1, 2, 7, 8, 10, 11, 12, 18, 19], "sure": [0, 1, 2, 7, 8, 10, 15, 16], "need": [0, 1, 2, 4, 5, 7, 8, 10, 13, 15, 18, 19], "side": [0, 1, 2, 7], "just": [0, 1, 2, 7, 10, 15], "case": [0, 1, 2, 7, 13], "usr": [0, 2, 7, 10, 11, 17, 18], "rewrit": [0, 2, 7, 11], "break": [0, 11, 13], "depositori": [0, 11], "frontend": [0, 11, 17], "127": [0, 11, 19], "11": [0, 8, 9, 11, 13, 18], "30": [0, 2, 4, 7, 11], "backend": [0, 11], "proxy_pass": [0, 1, 2, 7, 11], "proxy_set_head": [0, 11], "real": [0, 11], "ip": [0, 1, 9, 10, 11], "remote_addr": [0, 11], "forward": [0, 11], "For": [0, 2, 4, 7, 9, 10, 11, 13, 15, 19, 20], "proxy_add_x_forwarded_for": [0, 11], "proto": [0, 11], "scheme": [0, 11], "proxy_read_timeout": [0, 11], "600": [0, 2, 7, 10, 11, 18], "client_max_body_s": [0, 1, 2, 7, 11], "github": [0, 7, 9, 10, 11, 13, 14, 17, 22], "repo": [0, 7, 10, 11, 17], "com": [0, 2, 4, 5, 7, 8, 9, 10, 11, 12, 16, 17, 18, 20], "sampl": [0, 2, 7], "turn": [0, 2, 7, 18], "bottl": [0, 2, 7], "debug": [0, 2, 5, 7, 11, 14, 17], "modul": [0, 2, 7, 11, 14], "reload": [0, 2, 7, 8, 10, 15, 17], "print": [0, 2, 7, 10, 12, 18, 19], "some": [0, 2, 7, 10, 13, 21], "inform": [0, 2, 7], "consol": [0, 2, 4, 7, 10], "secret": [0, 2, 4, 7, 8, 10, 14, 20], "kei": [0, 2, 4, 7, 8, 10, 15, 16, 18, 20], "gener": [0, 2, 7, 8, 10, 12, 16], "authent": [0, 2, 5, 7, 10, 18], "token": [0, 2, 4, 7, 10], "request": [0, 2, 7, 11, 15, 16, 19], "same": [0, 1, 2, 7, 9, 16], "must": [0, 2, 4, 7, 11, 12, 21], "store": [0, 1, 2, 4, 5, 7, 9, 10, 20, 21], "attach": [0, 1, 2, 7, 15, 19], "prefer": [0, 2, 7, 10], "good": [0, 2, 7], "sourc": [0, 2, 7, 10, 11, 21], "valu": [0, 2, 7, 10, 11, 13], "grc": [0, 2, 7], "password": [0, 2, 4, 7, 8, 9, 10, 16, 18, 21], "htm": [0, 2, 7], "none": [0, 2, 7, 11, 18], "NOT": [0, 2, 4, 7], "recommend": [0, 2, 4, 7, 11, 17], "sinc": [0, 2, 7, 9, 10, 18], "do": [0, 2, 4, 5, 7, 13, 15, 16, 18, 21, 22], "so": [0, 2, 7, 8, 18], "allow": [0, 2, 5, 7, 10, 11, 13], "anyon": [0, 2, 7], "internet": [0, 2, 7], "arbitrari": [0, 2, 7], "asset_kei": 0, "auth": [0, 2, 7, 10], "timestamp": [0, 2, 7], "within": [0, 2, 7], "mani": [0, 2, 7, 12, 20], "second": [0, 2, 7, 13], "time": [0, 2, 7, 10, 13, 18], "order": [0, 2, 7], "consid": [0, 2, 7, 13], "prevent": [0, 2, 7], "replai": [0, 2, 7], "attack": [0, 2, 7], "time_toler": [0, 2, 7], "requir": [0, 2, 7, 8, 10, 11, 12, 13, 19, 20], "download": [0, 2, 7, 10, 17], "addit": [0, 1, 2, 4, 7], "upload": [0, 2, 7, 11, 15], "delet": [0, 2, 7, 11, 18, 21, 22], "access": [0, 2, 7, 8, 9, 10, 11, 15, 20], "enabl": [0, 2, 7, 11, 13, 17, 18, 19, 20], "affect": [0, 2, 7], "require_key_for_get": [0, 2, 7], "portal": [0, 2, 7], "getfileref": [0, 2, 7], "url": [0, 1, 2, 7, 9, 10, 11, 15], "allow_static_file_access": [0, 2, 7], "These": [0, 2, 7, 10, 12], "ar": [0, 2, 7, 8, 9, 10, 11, 12, 13, 16, 20, 22], "interpol": [0, 2, 7], "resourc": [0, 2, 4, 5, 7, 10, 13], "client": [0, 2, 7, 8, 10, 11, 13, 15, 17, 18], "know": [0, 1, 2, 7], "how": [0, 2, 4, 7, 12, 13, 20], "talk": [0, 2, 7], "name": [0, 2, 7, 10, 12, 16, 18, 19], "server_port": [0, 1, 2, 7], "develop": [0, 2, 7, 10], "should": [0, 2, 7, 10, 12, 13, 20], "development_port": [0, 2, 7], "map": [0, 2, 7], "collect": [0, 2, 7, 16], "directori": [0, 2, 7, 10, 11, 12, 15, 18], "everyth": [0, 1, 2, 7, 8, 11], "origin": [0, 2, 7, 10], "thumbnail": [0, 2, 7], "provis": [0, 2, 4, 7, 10], "made": [0, 2, 7], "item": [0, 2, 7, 13], "scope": [0, 2, 7], "abov": [0, 1, 2, 7], "found": [0, 2, 7], "collection_dir": [0, 1, 2, 7], "collection_nam": [0, 2, 7], "directory_nam": [0, 2, 7], "base": [0, 2, 4, 7, 13, 18], "all": [0, 1, 2, 4, 7, 8, 10, 11, 12, 13, 15, 19, 21], "base_dir": [0, 1, 2, 7], "home": [0, 1, 2, 7, 11, 15, 16, 17, 18, 19], "separ": [0, 1, 2, 7, 10], "thumb_dir": [0, 2, 7], "orig_dir": [0, 2, 7], "mime": [0, 2, 7], "try": [0, 2, 7, 10, 13, 19], "can_thumbnail": [0, 2, 7], "jpeg": [0, 2, 7], "gif": [0, 2, 7], "png": [0, 2, 7], "tiff": [0, 2, 7], "applic": [0, 2, 7, 10, 20], "pdf": [0, 2, 7], "what": [0, 2, 4, 5, 7, 11, 13], "stand": [0, 2, 7], "alon": [0, 2, 7], "oper": [0, 2, 7], "past": [0, 1, 2, 7, 19], "python": [0, 2, 7, 10, 11, 12, 19], "packag": [0, 2, 7], "fast": [0, 2, 4, 7], "seem": [0, 2, 7], "work": [0, 1, 2, 5, 7, 10, 13, 14], "wsgiref": [0, 2, 7], "extra": [0, 2, 7], "arm64v8": [0, 17], "ubuntu": [0, 1, 2, 7, 10, 11, 17, 18], "18": [0, 8], "04": [0, 8, 10, 11, 17], "AS": 0, "run": [0, 1, 2, 4, 7, 8, 10, 11, 12, 15, 16, 17, 19], "apt": [0, 7, 10, 11, 17], "get": [0, 1, 2, 4, 7, 8, 10, 12, 17, 19], "updat": [0, 7, 9, 10, 11, 13, 17, 18], "y": [0, 7, 8, 10, 11, 13, 17], "instal": [0, 2, 4, 5, 7, 10, 11, 17, 19], "ghostscript": [0, 7], "imagemagick": [0, 7], "python3": [0, 7, 8, 10, 11, 12, 17, 18, 19], "dev": [0, 7, 10, 11, 17, 18], "pip": [0, 7, 8, 10, 11, 12, 19], "venv": [0, 7, 8, 11, 12, 17, 19], "git": [0, 7, 8, 10, 11, 17, 21], "certbot": [0, 1, 7, 10, 11, 15, 17], "awscli": [0, 7, 10, 11, 17], "s3f": [0, 7], "clean": [0, 11, 17], "rm": [0, 10, 11, 17], "rf": 0, "lib": 0, "list": [0, 10, 13, 15, 18], "groupadd": 0, "g": [0, 10, 11, 17], "999": 0, "useradd": 0, "r": [0, 7, 8, 11, 12, 19], "u": [0, 2, 7, 10, 11, 13, 15, 16, 18, 19], "mkdir": [0, 1, 10, 11, 15, 17, 18], "p": [0, 10, 11, 15, 17, 18, 19], "chown": [0, 16, 18, 19], "user": [0, 2, 4, 7, 9, 11, 12, 13, 15, 17, 19], "workdir": 0, "copi": [0, 10, 16, 17, 19], "txt": [0, 7, 8, 10, 11, 12, 18, 19], "cach": [0, 7, 10, 11, 19], "dir": [0, 7, 11, 19], "view": [0, 4, 13], "echo": [0, 10, 11, 17, 18], "import": [0, 10, 19], "o": [0, 10, 16, 17, 19], "nserver": 0, "nserver_nam": 0, "nserver_port": 0, "int": 0, "getenv": 0, "nkei": 0, "attachment_kei": [0, 1], "ndebug": 0, "debug_mod": [0, 1], "lower": 0, "configur": [0, 2, 7, 11, 14, 16, 19], "aw": [0, 10, 11, 14, 18], "aws_access_key_id": [0, 10, 11], "aws_secret_access_kei": [0, 10, 11], "region": [0, 8, 10, 11], "east": [0, 11], "output": [0, 8, 10, 11, 12, 16], "json": [0, 4, 8, 10, 11, 15, 19], "s3": [0, 11], "mount": 0, "cloud": [0, 10, 14], "expos": [0, 14, 17], "cmd": [0, 17], "It": [0, 2, 7, 11, 12, 13, 20], "default_serv": [0, 1, 2, 7], "certif": [0, 1, 2, 4, 7, 10, 15], "mechan": [0, 2, 7], "place": [0, 2, 7, 13], "nonc": [0, 2, 7], "challeng": [0, 2, 7, 16], "prove": [0, 2, 7], "we": [0, 2, 7, 9, 13, 20, 22], "have": [0, 2, 4, 5, 7, 9, 10, 13, 15, 20], "control": [0, 2, 4, 5, 7], "domain": [0, 2, 7, 10, 15], "filesystem": [0, 2, 7], "easili": [0, 2, 7], "auto": [0, 2, 7], "renew": [0, 2, 7, 15], "system": [0, 2, 7, 13, 17], "proxi": [0, 2, 7, 11], "actual": [0, 2, 7, 15], "correct": [0, 2, 7, 16], "string": [0, 2, 7, 16], "substitut": [0, 2, 7], "respons": [0, 2, 7, 13], "make": [0, 1, 2, 4, 7, 8, 10, 11, 12, 15, 16, 17, 18, 21], "link": [0, 1, 2, 7, 13, 16], "localhost": [0, 2, 7, 11, 17, 18], "sub_filt": [0, 1, 2, 7], "sub_filter_onc": [0, 1, 2, 7], "sub_filter_typ": [0, 1, 2, 7], "text": [0, 1, 2, 7, 12], "other": [0, 2, 7, 13, 15, 20, 21], "unchang": [0, 2, 7], "except": [0, 1, 2, 7], "rewritten": [0, 1, 2, 7], "chang": [0, 1, 2, 4, 7, 9, 10, 18, 21], "els": [0, 1, 2, 7, 11], "through": [0, 1, 2, 4, 7, 10, 15, 21], "here": [1, 9, 10, 13, 15, 16], "an": [1, 2, 3, 4, 7, 8, 9, 12, 13, 14, 15, 16], "exampl": [1, 9, 11, 12, 13, 14, 20], "latest": [1, 4, 5, 10, 11, 20], "specifi": [1, 2, 9, 10, 16, 19, 22], "connection_fix": [1, 18], "spun": 1, "up": [1, 4, 15, 18], "follow": [1, 8, 10, 11, 12, 13, 18], "config": [1, 4, 11, 14, 15], "got": 1, "docker": [1, 11, 14, 15, 19], "your": [1, 4, 5, 9, 10, 16, 21], "dn": [1, 10, 15], "record": [1, 15], "address": [1, 9, 10, 16], "compos": [1, 10, 15, 19], "yml": [1, 12, 19], "7": [1, 8, 9, 10, 11, 13, 14, 17, 18, 19], "nginx": [1, 2, 7, 10, 11, 15, 16, 17], "alpin": 1, "conf": [1, 2, 7, 10, 11, 12, 16, 17, 18, 19], "default": [1, 2, 7, 8, 10, 11, 12, 16, 17, 18], "outsid": 1, "contain": [1, 4, 8, 12, 19], "replac": [1, 9, 10, 21], "which": [1, 4, 11, 12, 13], "would": [1, 5, 10, 20], "publicli": [1, 12], "avail": [1, 11, 17, 18, 20], "qwertyasdfghzxcvbnlmnop": 1, "kufishvouch": [1, 2, 7], "kufishtissu": [1, 2, 7], "file": [1, 2, 9, 11, 15, 16, 21], "Then": [1, 8, 10], "connect": [1, 9, 10], "creat": [1, 4, 9, 10, 11, 13, 14, 15, 16, 20, 21], "bash": [1, 3, 7, 8, 11, 14, 15, 17], "sudo": [1, 7, 8, 10, 11, 15, 16, 17, 18], "webroot": [1, 2, 7, 10, 15], "certonli": [1, 10, 15], "set": [1, 2, 7, 10, 11, 15, 17, 18, 19, 20], "let": 1, "me": 1, "new": [1, 12, 14, 18, 21], "asset_server_setup": 2, "sh": [2, 3, 7, 8, 11, 15, 17, 18], "initi": [2, 4, 5, 10, 12, 13], "asset": [2, 10, 11, 15, 16, 17, 18], "server": [2, 9, 10, 11, 15, 17], "systemd": [2, 7, 10, 17], "web": [2, 7, 9, 10, 11, 15, 21], "unit": [2, 7, 13, 14, 16, 17], "descript": [2, 7, 17], "want": [2, 7, 10, 11, 13, 17], "network": [2, 4, 7, 10, 17], "target": [2, 7, 9, 17], "workingdirectori": [2, 7, 17], "execstart": [2, 7, 17], "py": [2, 7, 11, 12, 15, 17, 18, 19], "alwai": [2, 7, 10, 17], "wantedbi": [2, 7, 17], "multi": [2, 5, 7, 17], "test_attachment_kei": [2, 7], "ichthyologi": [2, 7], "herb_rbg": [2, 7, 8], "site": [2, 7, 11, 17, 21], "aasets1": 2, "suppli": [2, 7], "demo": [2, 7], "mean": [2, 7], "without": [2, 7, 12, 18], "privileg": [2, 4, 7, 15, 18, 19, 20], "authbind": [2, 7], "underli": [2, 7], "also": [2, 7, 10, 11, 12, 20], "caus": [2, 7], "subsequ": [2, 7], "go": [2, 7, 8, 10, 12], "renew_before_expiri": [2, 7], "dai": [2, 7], "chain": [2, 7, 16], "9": [2, 7, 8, 13, 18], "archive_dir": [2, 7], "archiv": [2, 7, 10, 16], "process": [2, 4, 5, 7, 11, 21], "renewalparam": [2, 7], "account": [2, 7, 10, 20, 22], "a563615cc912ed3d7a3edfede09d6760": 2, "post_hook": [2, 7], "systemctl": [2, 7, 8, 10, 11, 15, 16, 17], "acm": [2, 7], "v02": [2, 7], "api": [2, 7], "webroot_map": [2, 7], "specofycloud": 2, "begin": [2, 7], "dh": [2, 7], "paramet": [2, 4, 5, 7, 8, 11, 12], "miibcakcaqealcfksiufylwx47jxqbnt0wsvd6ifznsmcti8f7t": 2, "zaqqnr84iyim": 2, "pntt9e6srvkkjg2u1ngscnqj5larxvrda6zl66t8wmkffrgfnw7rycq3vpg6bpg": 2, "dj3": 2, "htwydnombecrdymz1ddfx": 2, "3owblttzrbjpvn": 2, "tegtan3dexp": 2, "qke9e2c1aux": 2, "mf": 2, "07vwpz7giemangame3fhdkyrenhtpfg1edkypuuhemr": 2, "pjmwq9lqbc12lyxop": 2, "dafwajurqweqrqp5feqdomdh522rwud2": 2, "fpextukqhi8guumjk652aelocn1ufhi": 2, "kbbv6tji7ws5f3hvanxgolmshq": 2, "cywocwibag": 2, "script": [3, 8, 10, 11], "hybrid_asset_server_setup": 3, "give": [4, 20], "role": [4, 5], "profil": 4, "permiss": [4, 5, 19, 20], "read": [4, 10, 18], "kind": [4, 10], "thing": [4, 9, 10], "e": [4, 10, 11, 12, 15, 18, 19, 22], "lambda": 4, "saml": 4, "assert": 4, "edit": [4, 10, 11, 21], "manag": [4, 5, 10, 13, 15, 18, 19, 22], "polici": [4, 10], "trust": 4, "relationship": 4, "assumerol": 4, "group": [4, 11], "document": [4, 13], "directli": [4, 10, 11], "advisor": 4, "see": [4, 11], "ha": [4, 9, 11, 13, 22], "been": [4, 5, 9, 10, 11, 13, 22], "pare": 4, "down": [4, 13], "inbound": 4, "outbound": 4, "traffic": [4, 10], "anoth": [4, 20, 21], "sg": 4, "both": [4, 10, 12], "cheaper": 4, "less": 4, "project": [4, 10, 13, 14], "charg": 4, "standard": [4, 13], "10k": 4, "than": [4, 8, 12], "4k": 4, "encrypt": 4, "them": [4, 13], "km": 4, "add": [4, 7, 10, 11, 14, 19, 21, 22], "doc": [4, 5, 10, 12, 20], "public": [4, 10, 18], "40": [4, 8, 16], "mo": 4, "per": [4, 8], "05": [4, 8], "000": [4, 11], "temporari": [4, 10], "credenti": 4, "iam": [4, 20], "v": [4, 11, 14, 17, 18], "long": [4, 10], "term": [4, 13], "ident": 4, "function": [4, 13, 20], "contact": 4, "amazon": [4, 5, 9, 10, 20], "secretsmanag": [4, 5], "userguid": [4, 5, 20], "hardcod": 4, "apikei": 4, "privat": [4, 10, 21], "retriev": 4, "grant": [4, 11, 15, 18, 19, 22], "onli": [4, 8, 10, 11, 12, 18, 20, 21], "select": [4, 10, 12, 15, 18], "code": [4, 12, 13, 14, 16, 21], "interest": 4, "whatev": 4, "write": [4, 5, 12, 13], "specif": [4, 13], "bucket": [4, 10], "folder": 4, "redshift": [4, 5], "amazonredshiftallcommandsfullaccess": 4, "amazons3readonlyaccess": 4, "secretsmanagerreadwrit": 4, "assign": [4, 13], "repost": 4, "knowledg": 4, "center": 4, "eb": 4, "throughput": 4, "under": [4, 12], "cannot": 4, "send": 4, "data": [4, 13], "enough": [4, 8], "often": 4, "happen": [4, 10], "sever": [4, 20], "togeth": 4, "thei": [4, 9, 13, 18], "accept": 4, "faster": 4, "transmit": 4, "awsec2": 4, "optim": 4, "In": [4, 9, 10, 11, 12, 13, 14], "page": [4, 10, 14], "comput": [4, 10, 11, 18], "click": [4, 10], "detail": [4, 10], "displai": [4, 12], "window": [4, 9], "along": 4, "graph": 4, "demonstr": 4, "differ": [4, 13], "cpu": [4, 8], "cost": [4, 5], "spnet_dev": 4, "machin": [4, 10, 21], "error": [4, 11, 12], "appear": [4, 11], "after": [4, 10, 11, 13, 15, 16, 22], "rais": 4, "gb": [4, 8], "chose": 4, "t3": [4, 8, 10], "micro": [4, 8], "show": [4, 18], "necessari": [4, 18], "hypervisor": 4, "storag": [4, 8, 10], "interfac": [4, 13], "resiz": [4, 18], "limit": 4, "front": [4, 10, 19], "npm": [4, 8, 11, 17], "workload": 4, "travi": 4, "broad": 4, "identifi": [4, 8, 11, 18], "minimum": 4, "trigger": 5, "glue": 5, "instanti": 5, "ec2": [5, 11, 14], "instanc": [5, 7, 11, 14, 19, 21], "workflow": [5, 12, 13], "problem": [5, 13], "mai": [5, 12, 15], "simpl": [5, 10, 11], "ani": [5, 11, 12, 13, 21, 22], "tip": 5, "appreci": 5, "procedur": 5, "bill": 5, "explor": 5, "cloudtrail": 5, "monitor": [5, 14], "tell": 5, "administr": 5, "action": [5, 13], "cloudwatch": 5, "app": [5, 11], "perform": [5, 13], "agent": 5, "todo": [6, 7, 8], "variabl": [7, 8, 10, 17], "befor": [7, 8, 10, 13], "export": [7, 11, 17, 18], "domain_nam": [7, 8, 11, 17], "subdomain_prefix": 7, "first": [7, 10, 13], "section": [7, 10, 16, 20], "subdomain": [7, 8, 15], "build_non_docker_asset_serv": 7, "ssl_account": 7, "upgrad": [7, 8, 9, 10, 11, 17], "clone": [7, 10, 11, 17], "cd": [7, 10, 11, 12, 17], "checkout": [7, 11], "arm": [7, 8], "softwar": [7, 10, 13], "properti": [7, 10], "common": [7, 10, 16], "repositori": [7, 11, 21, 22], "ppa": [7, 11], "deadsnak": 7, "distutil": 7, "hvm": 8, "ssd": [8, 10], "bionic": 8, "arm64": [8, 11, 18], "20220131": 8, "ami": [8, 10], "0770bf1d6ae61c858": 8, "specify_cloud_setup": 8, "serveraliveinterv": [8, 10], "20": [8, 10, 11, 17], "tcpkeepal": [8, 10], "sshd_config": [8, 10], "clientaliveinterv": [8, 10], "1200": [8, 10], "clientalivecountmax": [8, 10], "sshd": [8, 10, 15], "spcloudserv": [8, 10, 15], "freshfish": 8, "sp7": [8, 10], "edg": [8, 10], "sp6": [8, 10], "env": [8, 10, 11, 17, 19], "anonymous_us": 8, "anon_user_nam": 8, "decommiss": [8, 10], "sp6version": [8, 10], "specify6802": 8, "02": 8, "fill": [8, 10], "between": [8, 10, 19], "db_instance_nam": 8, "rd": [8, 11], "amazonaw": [8, 10, 11, 18], "db_port": 8, "master_usernam": 8, "bogu": [8, 17, 19], "asset_server_fqdn": 8, "xxx": [8, 9], "xx": [8, 9, 16], "usernam": [8, 9, 18], "specify_us": 8, "specify_user_password": 8, "access_kei": [8, 11], "access_key_secret": [8, 11], "format": [8, 12], "start": [8, 10, 12, 13, 15, 17], "userdata": 8, "launch": [8, 10, 13, 19], "specify_cloud_ec2_userdata": 8, "bucket_nam": 8, "db_identifi": [8, 10], "db": [8, 9, 10, 19], "r5": 8, "larg": [8, 10], "vcpu": 8, "16": 8, "ram": 8, "24": 8, "hour": 8, "173": 8, "month": [8, 9], "m5": [8, 10], "4vcpu": 8, "171": 8, "123": 8, "medium": [8, 10], "2vcpu": 8, "068": 8, "49": 8, "136": 8, "97": 8, "92": 8, "xlarg": 8, "272": 8, "195": 8, "t4g": 8, "065": 8, "46": 8, "129": 8, "88": 8, "v2": [8, 10, 11], "acu": 8, "12": 8, "86": 8, "v1": 8, "06": 8, "43": 8, "29": 8, "nano": 8, "0042": 8, "0084": 8, "small": [8, 10, 13], "0168": 8, "0336": 8, "19": [8, 19], "0672": 8, "48": 8, "38": [8, 17], "1344": 8, "96": 8, "77": 8, "m7g": 8, "1vcpu": 8, "0408": 8, "0816": 8, "75": 8, "2232": 8, "160": 8, "70": 8, "fargat": 8, "linux": [8, 9, 10], "On": [8, 9, 10], "demand": 8, "03238": 8, "00356": 8, "spot": 8, "01279585": 8, "00140508": 8, "ephemer": 8, "000111": 8, "23": 8, "31": 8, "56": 8, "25": 8, "82": 8, "28": 8, "21": 8, "save": 8, "plan": [8, 13], "59": 8, "ex": [8, 9, 16], "22": [8, 10], "26": 8, "52": 8, "89": 8, "32": 8, "179": 8, "78": 8, "note": [8, 11, 14, 15], "purpos": [8, 10], "graviton": [8, 14], "memori": 8, "cheep": 8, "expens": 8, "na": [8, 9], "45": 8, "90": 8, "django": [8, 10, 11, 14, 17], "digit": [8, 14], "ocean": [8, 14], "usag": 8, "nomin": 8, "spike": 8, "task": [8, 10, 13, 18], "definit": 8, "vimsfish": 8, "might": [8, 10, 13, 19], "more": [8, 12, 13], "ca": [8, 10], "85": 8, "beati": 8, "72": 8, "mayb": [8, 10, 15, 17], "handl": [8, 10, 12, 15], "each": [8, 9, 12, 13], "most": [8, 11, 14], "fine": [8, 15], "few": [8, 12], "over": 8, "combin": [8, 11], "comparison": 8, "reserv": 8, "36": 8, "install_ec2_wo_dock": 8, "yum": 8, "gcc": 8, "openldap": 8, "devel": 8, "mariadb": [8, 9, 10, 15, 17], "mariadb105": 8, "aarch64": 8, "nodj": 8, "java": [8, 10], "openjdk": [8, 11, 17], "headless": 8, "corretto": 8, "python38": 8, "virtualenv": [8, 11], "python38u": 8, "redis6": 8, "unzip": [8, 11, 17], "dnf": 8, "wheel": [8, 11], "our": [9, 12, 13], "provid": [9, 13], "increas": [9, 18], "reliabl": 9, "mysql": [9, 10, 11, 15, 17, 18, 19], "deprec": 9, "v10": 9, "futur": [9, 10], "hope": [9, 10], "postgresql": 9, "databas": [9, 10, 11, 15], "backup": [9, 15], "further": [9, 11], "improv": 9, "daili": 9, "via": 9, "ssh": [9, 10, 15], "two": [9, 10, 13], "login": [9, 10, 15], "institut": 9, "underscor": 9, "_": [9, 10], "dash": 9, "wiki": 9, "remot": 9, "mac": 9, "n": 9, "l3307": 9, "institution_id": 9, "putti": 9, "c": [9, 10, 11, 13, 15, 16, 18], "program": 9, "your_us": 9, "private_key_": 9, "ppk": 9, "3307": 9, "log": [9, 10, 11], "previou": [9, 21], "soon": [9, 10, 21], "instruct": 10, "solut": [10, 13], "deploy": 10, "ec": 10, "come": [10, 13], "composit": 10, "easiest": 10, "even": 10, "one": [10, 11, 12, 17, 21], "my": 10, "like": [10, 12], "could": 10, "instead": [10, 15], "wa": 10, "design": [10, 13, 20], "nativ": 10, "join": 10, "team": [10, 13], "pick": 10, "modern": 10, "cdk": 10, "scalabl": 10, "choos": [10, 12], "lt": 10, "64": 10, "bit": 10, "x86": 10, "architectur": 10, "better": 10, "pair": 10, "either": 10, "If": [10, 11, 12, 21], "insid": 10, "en": [10, 12], "keep": 10, "person": 10, "when": [10, 11, 13], "otherwis": 10, "sql": [10, 11, 15], "There": 10, "archireef": 10, "schema": 10, "input": 10, "tag": [10, 11, 21], "tl": [10, 11], "rrhost_private_ip": 10, "your_database_host": 10, "your_master_password": 10, "temp": 10, "your_asset_server_kei": 10, "onc": [10, 13, 18], "chmod": [10, 18], "webpag": 10, "cloudshel": 10, "don": [10, 18], "local": [10, 11, 12, 15, 16], "press": 10, "enter": [10, 18], "twice": 10, "back": 10, "shell": 10, "your_aws_access_kei": 10, "specify_cloud_bucket_nam": 10, "your_aws_access_key_id": 10, "your_aws_access_key_secret": 10, "avoid": 10, "dure": [10, 13], "sed": [10, 11, 17], "nrconf": 10, "kernelhint": 10, "needrestart": 10, "gh": [10, 12], "curl": [10, 11, 17], "wget": [10, 11, 17], "j2cli": [10, 11], "fssl": [10, 11], "gpg": 10, "dearmor": 10, "keyr": 10, "deb": [10, 11], "arch": [10, 18], "dpkg": 10, "sign": 10, "lsb_releas": 10, "stabl": 10, "tee": [10, 18], "null": 10, "ce": 10, "check": [10, 11, 12, 13, 15, 22], "correctli": 10, "cli": 10, "plugin": 10, "releas": [10, 13], "17": 10, "unam": 10, "cp": [10, 11, 16, 17], "snapshot": 10, "recurs": 10, "did": 10, "engin": [10, 13], "experi": 10, "aurora": [10, 11], "dynam": 10, "scale": 10, "templat": 10, "suggest": 10, "product": [10, 13, 17], "feel": 10, "someth": 10, "similar": [10, 12], "decid": 10, "size": [10, 18], "accommod": 10, "suffic": 10, "iop": 10, "tab": 10, "mark": [10, 22], "endpoint": 10, "specify_cloud_database_nam": 10, "seed": [10, 11], "f": [10, 17], "remain": 10, "own": [10, 22], "navig": 10, "ipv4": 10, "open": [10, 13], "browser": 10, "haven": 10, "yet": 10, "webpack": [10, 11, 17], "report": [10, 17, 18], "runner": [10, 17], "being": [10, 13], "hold": 10, "independ": 10, "act": 10, "job": 10, "queue": 10, "broker": 10, "possibl": [10, 11, 21], "sq": 10, "serv": [10, 11], "conaint": 10, "remov": [10, 13, 15, 21], "move": 10, "startup": 10, "webserv": [10, 11, 17], "possibli": 10, "cloudfront": 10, "tool": [10, 20], "who": 10, "rout": 10, "53": 10, "probabl": 10, "elast": 10, "apach": [10, 11], "your_ec2_domain_nam": 10, "vim": [10, 15], "exec": [10, 15, 18], "specifycloud_nginx_1": [10, 15], "extend": 10, "mosti": 11, "lite": 11, "entrypoint": [11, 17], "jdk": [11, 17], "nodesourc": 11, "setup_18": 11, "build": [11, 12, 13, 14, 17], "essenti": [11, 17], "libldap2": [11, 17], "libmariadbcli": [11, 17], "libsasl2": [11, 17], "nodej": [11, 17], "maven": [11, 17], "ant": [11, 17], "node": [11, 16, 17], "apache2": 11, "libapache2": 11, "mod": 11, "wsgi": [11, 17], "py3": 11, "core": [11, 19], "specifysoftwar": [11, 17], "6803": [11, 17], "specify_unix_64": [11, 17], "ln": [11, 16, 17, 18], "pwd": [11, 18], "wb_upload_log": 11, "specify_depositori": 11, "v7": 11, "87": 11, "116": 11, "210": 11, "bashrc": [11, 17], "cqvncffkwz9t": 11, "danc": 11, "taco": 11, "magic": 11, "rainbow": 11, "vibe": 11, "web_attachment_url": 11, "web_attachment_kei": 11, "tnhercbrhtktanehul": [11, 17], "dukb": [11, 17], "web_attachment_collect": 11, "specifydb": 11, "specify_set": 11, "masterus": 11, "masterpassword": 11, "activ": [11, 12], "runserv": 11, "media": 11, "media_root": 11, "__init__": 11, "media_url": 11, "ufw": 11, "statu": [11, 16], "servernam": 11, "specifyweb_apach": 11, "invok": 11, "rc": 11, "your_domain": 11, "full": [11, 13, 16], "varibal": 11, "update_set": 11, "setting_kei": 11, "setting_valu": 11, "file_path": 11, "cat": [11, 16, 18], "eot": 11, "mastermast": 11, "54": 11, "162": 11, "114": 11, "41": 11, "128m": 11, "j": 11, "fileget": 11, "fileupload": 11, "filedelet": 11, "getmetadata": 11, "testkei": 11, "400m": 11, "client_body_buffer_s": 11, "client_body_timeout": 11, "120": 11, "uwsgi": 11, "uwsgi_pass": 11, "unix": 11, "socket": 11, "uwsgi_param": 11, "uwsgi_read_timeout": 11, "32m": 11, "alia": [11, 15, 17], "slash": 11, "virtualhost": 11, "followsymlink": 11, "index": [11, 12, 14], "multiview": 11, "web_upload_log": 11, "librari": 11, "establish": 11, "leav": 11, "wsgidaemonprocess": 11, "wsgiprocessgroup": 11, "wsgiscriptalia": 11, "errorlog": 11, "notic": 11, "crit": 11, "alert": 11, "emerg": 11, "loglevel": 11, "customlog": 11, "hostnam": [11, 16, 17], "itself": 11, "redirect": 11, "context": [11, 15], "virtual": [11, 12, 21], "match": 11, "decis": 11, "last": [11, 21], "resort": 11, "regardless": 11, "howev": 11, "explicitli": 11, "serveradmin": 11, "webmast": 11, "documentroot": 11, "trace8": 11, "trace1": 11, "particular": 11, "apache_log_dir": 11, "global": [11, 13], "level": [11, 12, 13], "cgi": 11, "a2disconf": 11, "73": 11, "compil": [11, 17], "104175": 11, "js_src": [11, 17], "spcloud": 11, "myst": 12, "parser": 12, "markdown": 12, "pars": 12, "quickstart": 12, "rst": 12, "bat": 12, "destin": 12, "_build": 12, "restructur": 12, "organ": [12, 16, 22], "logic": 12, "subdirectori": 12, "top": [12, 13, 21], "titl": 12, "tabl": 12, "number": [12, 16], "sub": 12, "head": 12, "toctre": 12, "path": [12, 21], "rel": 12, "filenam": 12, "extens": 12, "maxdepth": 12, "indic": 12, "sublevel": 12, "veri": [12, 18], "termin": 12, "prior": 12, "push": [12, 21, 22], "exist": [12, 13], "io": 12, "alreadi": 12, "autom": [12, 14], "build_sphinx_doc": 12, "readthedoc": 12, "ensur": [12, 13], "depend": 12, "land": 12, "complet": 12, "successfulli": 12, "form": [12, 16], "At": 13, "structur": 13, "deliv": 13, "high": 13, "qualiti": 13, "meet": 13, "step": 13, "vision": 13, "re": 13, "solv": 13, "goal": 13, "achiev": 13, "stori": 13, "describ": 13, "perspect": 13, "help": 13, "stai": 13, "focus": [13, 20], "model": 13, "ui": 13, "ux": 13, "technic": 13, "prioriti": 13, "priorit": 13, "factor": 13, "impact": 13, "complex": 13, "estim": 13, "implement": 13, "effect": 13, "timelin": 13, "alloc": 13, "issu": [13, 15], "creation": 13, "smaller": 13, "track": 13, "progress": 13, "collabor": 13, "assembl": 13, "relat": 13, "central": [13, 14], "effici": 13, "With": 13, "involv": 13, "least": [13, 15, 20], "three": 13, "member": 13, "compon": 13, "expect": 13, "integr": [13, 22], "larger": 13, "seamlessli": 13, "phase": 13, "conduct": 13, "intern": 13, "week": 13, "feedback": 13, "find": 13, "final": 13, "thoroughli": 13, "deploi": [13, 14], "commun": 13, "By": 13, "align": 13, "sent": 13, "support": 13, "explan": 13, "rephras": 13, "anyth": 13, "ad": 13, "part": 13, "clear": 13, "checklist": 13, "present": 13, "z": 13, "compris": 13, "approv": 13, "post": [13, 15], "channel": [13, 22], "review": [13, 20], "lead": 13, "pull": 13, "branch": 13, "total": 13, "complianc": 13, "proce": 13, "bring": 13, "modif": 13, "pr": 13, "confirm": 13, "fail": [13, 15], "again": 13, "iter": 13, "merg": 13, "infrastructur": 14, "setup": 14, "migrat": 14, "non": [14, 19], "hybrid": 14, "fix": [14, 15], "ku": [14, 15], "IT": 14, "One": [14, 20], "search": 14, "look": [15, 16], "doesn": [15, 20], "flush": [15, 18], "registtr": 15, "dreamhost": 15, "websit": 15, "cname": 15, "style": 15, "wait": 15, "minut": 15, "circul": 15, "bitech": 15, "edu": 15, "su": [15, 18], "unsm": 15, "vp": 15, "automat": 15, "hook": 15, "crontab": 15, "cronjob": 15, "biprdsp6ap": 15, "cc": 15, "spcloudbackup": 15, "backup_specify_cloud": 15, "updown": [15, 18, 22], "system_info": 15, "authorized_kei": [15, 18], "droplet": 15, "mysqld": 15, "tc": 15, "heurist": 15, "recov": 15, "rollback": 15, "kuit": 16, "nav_to": 16, "uri": 16, "2fcom": 16, "glideapp": 16, "servicecatalog_cat_item_view": 16, "3fv": 16, "3d1": 16, "26sysparm_id": 16, "3d78fee42fdb2a8850162673e1ba96195b": 16, "26sysparm_link_par": 16, "3d322911f41bec6490cf2d337e034bcb23": 16, "26sysparm_catalog": 16, "3de0d08b13c3330100c8b837659bba8fb4": 16, "26sysparm_catalog_view": 16, "3dcatalog_default": 16, "26sysparm_view": 16, "csr": 16, "openssl": 16, "req": 16, "newkei": 16, "rsa": 16, "2048": 16, "keyout": 16, "countri": 16, "letter": 16, "state": 16, "provinc": 16, "kansa": 16, "eg": 16, "citi": 16, "lawrenc": 16, "compani": 16, "ltd": 16, "univers": 16, "organiz": 16, "biimag": 16, "biodivers": 16, "email": 16, "alec": [16, 22], "white": 16, "verifi": 16, "ou": 16, "cn": 16, "emailaddress": 16, "receiv": 16, "biimages_biodiversity_ku_edu": 16, "cer": 16, "biimages_biodiversity_ku_edu_cert": 16, "crt": 16, "biimages_biodiversity_ku_edu_interm": 16, "p7b": 16, "concaten": 16, "proper": 16, "increment": 16, "privkey40": 16, "cert40": 16, "chain40": 16, "fullchain40": 16, "symbol": 16, "where": [16, 21], "sf": 16, "hash": 16, "x509": 16, "noout": 16, "modulu": 16, "md5": 16, "webport": 16, "keystor": 16, "collections_biodiversity_ku_edu_cert": 16, "collections_biodiversity_ku_edu": 16, "collections_biodiversity_ku_edu_interm": 16, "webportal_serv": 16, "bi": 16, "sp7access": 16, "pod": 17, "exclud": 17, "sp6_version": 17, "sp6_version_str": 17, "tr": 17, "raw": 17, "githubusercont": 17, "nvm": 17, "v0": 17, "nvm_dir": 17, "load": 17, "ci": 17, "dist": 17, "npx": 17, "mode": 17, "font": [17, 18], "jar": [17, 18], "tmp": 17, "pom": 17, "mvn": 17, "war": 17, "explod": 17, "src": 17, "3000": [17, 19], "8888": [17, 19], "ptvsd": [17, 19], "fi": 17, "worker_count": 17, "daemon": 17, "conditionpathexist": 17, "jetti": 17, "ireportrunn": 17, "alec_specify_ssh_kei": 18, "ec2inst": 18, "put": 18, "alecwhit": 18, "exit": 18, "background": 18, "foreground": 18, "df": 18, "h": 18, "du": 18, "avz": 18, "cluster": 18, "img": 18, "inspect": 18, "jq": 18, "repotag": 18, "done": 18, "notif": 18, "notificationstest": 18, "file1": 18, "file2": 18, "appli": 18, "addus": 18, "geco": 18, "docker_cli_experiment": 18, "buildx": 18, "mybuild": 18, "bootstrap": 18, "platform": 18, "amd64": 18, "think": [18, 20], "ask": 18, "restrict": 18, "rbash": 18, "usermod": 18, "symlink": 18, "700": 18, "ssh_kei": 18, "dbuser": 18, "BY": 18, "dbuser_password": 18, "insert": 18, "ON": [18, 19], "your_database_nam": 18, "TO": [18, 19], "tail": 18, "1000": 18, "grep": 18, "awk": 18, "split": 18, "falloc": 18, "4g": 18, "swapfil": 18, "dd": 18, "zero": 18, "1024": 18, "count": 18, "4096k": 18, "mkswap": 18, "swapon": 18, "sw": 18, "fstab": 18, "perman": 18, "free": 18, "swappi": 18, "defaul": 18, "100": 18, "argess": 18, "absolutlei": 18, "proc": 18, "sy": 18, "vm": 18, "sysctl": 18, "chane": 18, "swapoff": 18, "8g": 18, "test_cuic": 19, "test_": 19, "devpress": 19, "csdn": 19, "net": 19, "62fe07607e66823466192fa3": 19, "pytest": 19, "hypothesi": 19, "jsonschema": 19, "ini": 19, "django_settings_modul": 19, "python_fil": 19, "testpars": 19, "addopt": 19, "ignor": [19, 22], "selenium_test": 19, "vscode": 19, "pythonpath": 19, "pytestarg": 19, "vv": 19, "pytesten": 19, "nosetestsen": 19, "unittesten": 19, "setdefault": 19, "run_main": 19, "werkzeug_run_main": 19, "debugpi": 19, "dockerfil": 19, "debugg": 19, "runtim": 19, "pathmap": 19, "localroot": 19, "workspacefold": 19, "remoteroot": 19, "unittestarg": 19, "lint": 19, "mypyen": 19, "wellarchitect": 20, "pillar": 20, "sec_securely_operate_aws_account": 20, "mfa": 20, "programmat": 20, "disallow": 20, "best": [20, 21], "practic": [20, 21], "architect": 20, "principl": 20, "divid": 20, "welcom": 20, "proscript": 20, "answer": 20, "rather": 20, "discuss": 20, "about": 20, "variou": 20, "facet": 20, "postur": 20, "reduc": 20, "great": 20, "inadvert": 21, "revok": [21, 22], "investig": 21, "physic": 21, "old": 21, "unus": 21, "safe": 21, "gitguardian": 21, "suffici": 21, "commit": 21, "current": 21, "forc": 21, "amend": 21, "aime": 22, "lifemapp": 22, "biotaphi": 22, "specifysystem": 22, "incid": 22, "determin": 22, "risk": 22, "invalid": 22, "slack": 22}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"specifi": [0, 7, 8, 11, 13, 14, 15, 17, 18], "7": 0, "docker": [0, 2, 4, 7, 8, 10, 17, 18], "config": [0, 7, 8, 10], "exampl": [0, 15, 18], "default": 0, "env": 0, "compos": [0, 4], "yml": 0, "nginx": [0, 18], "conf": 0, "asset": [0, 1, 3, 7, 14], "server": [0, 1, 3, 7, 8, 14, 16], "set": [0, 12], "py": 0, "file": [0, 7, 8, 10, 12, 18], "possibl": 0, "dockerfil": 0, "ec": 0, "build": [0, 2, 7, 18], "unfinish": 0, "web": [0, 14, 16], "configur": [1, 8, 10, 12], "ec2": [2, 4, 7, 8, 10], "non": [2, 7], "hybrid": 3, "setup": [3, 7, 8, 10, 11, 12], "aw": [4, 5, 6, 7, 8, 9, 20], "authent": 4, "note": [4, 5, 6, 10], "organ": [4, 5], "complet": [4, 5], "allow": 4, "s3": [4, 10], "access": [4, 18], "from": [4, 12, 20], "instanc": [4, 8, 10, 15], "troubleshoot": [4, 15], "slowli": 4, "never": 4, "respond": 4, "stop": 4, "dure": 4, "question": 4, "remain": 4, "autom": 5, "todo": [5, 12, 20], "log": [5, 18], "infrastructur": 6, "shell": 7, "script": 7, "cloud": [8, 11, 15], "aurora": 8, "mysql": 8, "databas": [8, 18], "initi": 8, "command": [8, 18], "ssh": [8, 18], "info": 8, "misc": [8, 14, 15], "credenti": 8, "user": [8, 18, 20], "data": [8, 10], "price": 8, "instal": [8, 12], "ubuntu": 8, "us": [8, 18], "amazon": [8, 14], "arm54": 8, "cento": 8, "imag": [8, 17, 18], "digit": 9, "ocean": 9, "migrat": 9, "deploi": 10, "specify7": 10, "an": 10, "spin": 10, "up": 10, "rd": 10, "upload": 10, "contain": 10, "depend": 10, "conclud": 10, "graviton": 11, "project": 12, "github": [12, 21], "page": 12, "document": [12, 14], "sphinx": 12, "edit": 12, "view": [12, 18], "publish": 12, "site": 12, "On": 12, "creat": [12, 17, 18], "repositori": 12, "For": 12, "action": 12, "add": [12, 15, 18], "yaml": 12, "test": [12, 18, 19], "thi": 12, "after": 12, "branch": 12, "develop": [13, 14], "process": [13, 14], "overview": 13, "detail": 13, "new": [13, 15, 16], "featur": 13, "request": 13, "welcom": 14, "servic": 14, "intern": 14, "secur": [14, 20, 22], "indic": 14, "tabl": 14, "dbname": 15, "work": 16, "central": 16, "ku": 16, "IT": 16, "certif": 16, "edu": 16, "portal": 16, "most": 17, "In": 17, "One": 17, "bash": 18, "sftp": 18, "check": 18, "storag": 18, "rsync": 18, "architectur": 18, "o": 18, "run": 18, "django": [18, 19], "unit": [18, 19], "through": 18, "git": 18, "stash": 18, "push": 18, "multipl": 18, "linux": 18, "login": 18, "live": 18, "format": 18, "swap": 18, "memori": 18, "v": 19, "code": 19, "debug": 19, "root": 20, "refer": 20, "travi": 20, "berklei": 20, "fix": 21, "expos": 21, "secret": 21, "monitor": 22, "gitguardian": 22}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"Specify 7 Docker Config Example": [[0, "specify-7-docker-config-example"]], "Example defaults.env": [[0, "example-defaults-env"]], "Example docker-compose.yml": [[0, "example-docker-compose-yml"]], "Example nginx.conf": [[0, "example-nginx-conf"]], "Asset Server": [[0, "asset-server"]], "Example settings.py file": [[0, "example-settings-py-file"]], "Possible Dockerfile for ECS Build (Unfinished)": [[0, "possible-dockerfile-for-ecs-build-unfinished"]], "Asset nginx web-server config": [[0, "asset-nginx-web-server-config"]], "Asset Server Configuration": [[1, "asset-server-configuration"]], "EC2 Non-Dockerized Build": [[2, "ec2-non-dockerized-build"], [7, "ec2-non-dockerized-build"]], "Hybrid Asset Server Setup": [[3, "hybrid-asset-server-setup"]], "AWS Authentication": [[4, "aws-authentication"]], "Notes to be Organized and Completed": [[4, "notes-to-be-organized-and-completed"], [5, "notes-to-be-organized-and-completed"]], "Authentication": [[4, "authentication"]], "Allow S3 access from EC2 instance": [[4, "allow-s3-access-from-ec2-instance"]], "Troubleshooting": [[4, "troubleshooting"], [15, "troubleshooting"]], "EC2 slowly or never responds": [[4, "ec2-slowly-or-never-responds"]], "EC2 stops responding during docker compose": [[4, "ec2-stops-responding-during-docker-compose"]], "Questions remaining": [[4, "questions-remaining"]], "AWS Automation": [[5, "aws-automation"]], "TODO:": [[5, "todo"], [20, "todo"]], "Automation": [[5, "automation"]], "Logging": [[5, "logging"]], "AWS Infrastructure Notes": [[6, "aws-infrastructure-notes"]], "AWS Specify Asset Server Setup": [[7, "aws-specify-asset-server-setup"]], "Config files": [[7, "config-files"], [8, "config-files"]], "EC2 Non-docker build shell script": [[7, "ec2-non-docker-build-shell-script"]], "Docker Build": [[7, "docker-build"]], "Specify Cloud Setup": [[8, "specify-cloud-setup"]], "Setup Aurora MySQL Database": [[8, "setup-aurora-mysql-database"]], "Setup EC2 Server": [[8, "setup-ec2-server"]], "Initial Commands": [[8, "initial-commands"]], "SSH Configuration": [[8, "ssh-configuration"]], "Info Misc.": [[8, "info-misc"]], "aws credentials:": [[8, "aws-credentials"]], "AWS EC2 User data:": [[8, "aws-ec2-user-data"]], "AWS Pricing": [[8, "aws-pricing"]], "Install Ubuntu EC2 instance with no docker": [[8, "install-ubuntu-ec2-instance-with-no-docker"]], "Using the Amazon arm54 centos image:": [[8, "using-the-amazon-arm54-centos-image"]], "Digital Ocean to AWS migration": [[9, "digital-ocean-to-aws-migration"]], "Deploy Specify7 to an EC2 instance": [[10, "deploy-specify7-to-an-ec2-instance"]], "Spin Up EC2 Instance": [[10, "spin-up-ec2-instance"]], "S3 Setup": [[10, "s3-setup"]], "Config file": [[10, "config-file"]], "Configure Specify7": [[10, "configure-specify7"]], "Spin Up RDS Instance": [[10, "spin-up-rds-instance"]], "Upload Data": [[10, "upload-data"]], "Deploy Specify7": [[10, "deploy-specify7"]], "Docker Container Dependencies": [[10, "docker-container-dependencies"]], "Concluding Notes": [[10, "concluding-notes"]], "Specify Cloud Graviton Setup": [[11, "specify-cloud-graviton-setup"]], "Project (Github pages) documentation": [[12, "project-github-pages-documentation"]], "Install Configure Sphinx": [[12, "install-configure-sphinx"]], "Edit Documentation and View": [[12, "edit-documentation-and-view"]], "Publish as Github Pages Site": [[12, "publish-as-github-pages-site"]], "On Github, Create Repository for Pages site": [[12, "on-github-create-repository-for-pages-site"]], "For Github Action, add YAML configuration files": [[12, "for-github-action-add-yaml-configuration-files"]], "TODO: test this after setup branch to publish from": [[12, "todo-test-this-after-setup-branch-to-publish-from"]], "Set Pages Site to branch created by Github action": [[12, "set-pages-site-to-branch-created-by-github-action"]], "Specify Development Process": [[13, "specify-development-process"]], "Overview": [[13, "overview"]], "Detailed process for new feature requests": [[13, "detailed-process-for-new-feature-requests"]], "Welcome to Specify Developer documentation!": [[14, "welcome-to-specify-developer-documentation"]], "Amazon Web Services:": [[14, null]], "Asset Server:": [[14, null]], "Internal Processes:": [[14, null]], "Security:": [[14, null]], "Misc:": [[14, null]], "Indices and tables": [[14, "indices-and-tables"]], "Add new Specify instance to Specify Cloud": [[15, "add-new-specify-instance-to-specify-cloud"]], "Example for ": [[15, "example-for"]], "Misc": [[15, "misc"]], "Working with central KU IT": [[16, "working-with-central-ku-it"]], "New certificate on ku.edu server": [[16, "new-certificate-on-ku-edu-server"]], "web-portal certificate": [[16, "web-portal-certificate"]], "Create a Most-In-One Specify Docker image": [[17, "create-a-most-in-one-specify-docker-image"]], "Image": [[17, "image"]], "Useful bash commands": [[18, "useful-bash-commands"]], "sftp": [[18, "sftp"]], "check storage": [[18, "check-storage"]], "rsync": [[18, "rsync"]], "docker images view architecture and OS": [[18, "docker-images-view-architecture-and-os"]], "run a django unit test through docker": [[18, "run-a-django-unit-test-through-docker"]], "git stash specify files": [[18, "git-stash-specify-files"]], "add user": [[18, "add-user"]], "docker build and push for multiple architectures": [[18, "docker-build-and-push-for-multiple-architectures"]], "create linux user for ssh login and database access": [[18, "create-linux-user-for-ssh-login-and-database-access"]], "view live formatted nginx logs example": [[18, "view-live-formatted-nginx-logs-example"]], "Add swap memory": [[18, "add-swap-memory"]], "VS Code Django Unit Test Debugging": [[19, "vs-code-django-unit-test-debugging"]], "AWS Security": [[20, "aws-security"]], "Root user": [[20, "root-user"]], "References": [[20, "references"]], "From Travis Berkley:": [[20, "from-travis-berkley"]], "Fix Exposed Secrets": [[21, "fix-exposed-secrets"]], "Secrets": [[21, "secrets"]], "Github": [[21, "github"]], "Security Monitoring": [[22, "security-monitoring"]], "GitGuardian": [[22, "gitguardian"]]}, "indexentries": {}}) \ No newline at end of file