From f5d8c78df3d7339b675bfeb6b3f05603a60e35d4 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 6 Mar 2024 23:12:01 +0000 Subject: [PATCH] Add changes for fa01b891353ec841cbfa38814338ef7c7e87f09e --- _sources/aws/aws_automation.rst.txt | 8 ++ _sources/aws/aws_security.rst.txt | 34 ++++++ aws/aws_automation.html | 135 ++++++++++++++++++++++++ aws/aws_security.html | 156 ++++++++++++++++++++++++++++ objects.inv | 8 +- searchindex.js | 2 +- 6 files changed, 338 insertions(+), 5 deletions(-) create mode 100644 _sources/aws/aws_automation.rst.txt create mode 100644 _sources/aws/aws_security.rst.txt create mode 100644 aws/aws_automation.html create mode 100644 aws/aws_security.html diff --git a/_sources/aws/aws_automation.rst.txt b/_sources/aws/aws_automation.rst.txt new file mode 100644 index 0000000..805c303 --- /dev/null +++ b/_sources/aws/aws_automation.rst.txt @@ -0,0 +1,8 @@ +AWS Automation +##################### + +TODO: +====== + + * triggering processes in Redshift, Glue, instantiating EC2 instances, etc + * Logging of multi-resource workflows to debug problems - may be simple, but any tips would be appreciated \ No newline at end of file diff --git a/_sources/aws/aws_security.rst.txt b/_sources/aws/aws_security.rst.txt new file mode 100644 index 0000000..8b31f9e --- /dev/null +++ b/_sources/aws/aws_security.rst.txt @@ -0,0 +1,34 @@ +AWS Security +####################### + +TODO: +======== + +Security best practices, including: +* role overview +* how to determine smallest workable permissions for manual/console and automated processes +* best way to include authentication in scripts and automated processes (secrets vs + manually configuring things) +* how to handle names of less secret information in order to retrieve authentication + and access resources, so how best to deal with account numbers, usernames, + role names, secret names, domain names, bucket names, etc + + +References +================== + +https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html + +From Travis Berkley: +------------ + +Another tool we have available is the Well-Architected Review. This is a set of +design principles that you can use to design and review applications. It is divided +into several “pillars.” One such pillar focuses on security. +https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html +It doesn’t give proscriptive answers. Rather, it discusses how you should think about +various facets of the security posture of the application. For example, there are +sections on least privilege access, reducing permissions, storing and using secrets, +and many others. This would also be a great reference to use. + + diff --git a/aws/aws_automation.html b/aws/aws_automation.html new file mode 100644 index 0000000..8ca32a2 --- /dev/null +++ b/aws/aws_automation.html @@ -0,0 +1,135 @@ + + + + + + + AWS Automation — Specify Developer Documentation documentation + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

AWS Automation

+
+

TODO:

+
+
    +
  • triggering processes in Redshift, Glue, instantiating EC2 instances, etc

  • +
  • Logging of multi-resource workflows to debug problems - may be simple, but any tips would be appreciated

  • +
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/aws/aws_security.html b/aws/aws_security.html new file mode 100644 index 0000000..ac5ccd1 --- /dev/null +++ b/aws/aws_security.html @@ -0,0 +1,156 @@ + + + + + + + AWS Security — Specify Developer Documentation documentation + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

AWS Security

+
+

TODO:

+

Security best practices, including: +* role overview +* how to determine smallest workable permissions for manual/console and automated processes +* best way to include authentication in scripts and automated processes (secrets vs

+
+

manually configuring things)

+
+
    +
  • how to handle names of less secret information in order to retrieve authentication +and access resources, so how best to deal with account numbers, usernames, +role names, secret names, domain names, bucket names, etc

  • +
+
+
+

References

+

https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html

+
+

From Travis Berkley:

+

Another tool we have available is the Well-Architected Review. This is a set of +design principles that you can use to design and review applications. It is divided +into several “pillars.” One such pillar focuses on security. +https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html +It doesn’t give proscriptive answers. Rather, it discusses how you should think about +various facets of the security posture of the application. For example, there are +sections on least privilege access, reducing permissions, storing and using secrets, +and many others. This would also be a great reference to use.

+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/objects.inv b/objects.inv index 79191ff..b471f8f 100644 --- a/objects.inv +++ b/objects.inv @@ -2,7 +2,7 @@ # Project: Specify Developer Documentation # Version: # The remainder of this file is compressed using zlib. -xڕUn1}+@Q*JJ}=,ns朙Y/6&(BtȌ GgsWHo~/`ދRk=Hrr~{&a`1GQm:ݦ)Z VAY3": [[12, "example-for"]], "Misc": [[12, "misc"]], "Troubleshooting": [[12, "troubleshooting"]], "Working with central KU IT": [[13, "working-with-central-ku-it"]], "New certificate on ku.edu server": [[13, "new-certificate-on-ku-edu-server"]], "web-portal certificate": [[13, "web-portal-certificate"]], "Create a Most-In-One Specify Docker image": [[14, "create-a-most-in-one-specify-docker-image"]], "Image": [[14, "image"]], "Useful bash commands": [[15, "useful-bash-commands"]], "sftp": [[15, "sftp"]], "check storage": [[15, "check-storage"]], "rsync": [[15, "rsync"]], "docker images view architecture and OS": [[15, "docker-images-view-architecture-and-os"]], "run a django unit test through docker": [[15, "run-a-django-unit-test-through-docker"]], "git stash specify files": [[15, "git-stash-specify-files"]], "add user": [[15, "add-user"]], "docker build and push for multiple architectures": [[15, "docker-build-and-push-for-multiple-architectures"]], "create linux user for ssh login and database access": [[15, "create-linux-user-for-ssh-login-and-database-access"]], "view live formatted nginx logs example": [[15, "view-live-formatted-nginx-logs-example"]], "Add swap memory": [[15, "add-swap-memory"]], "VS Code Django Unit Test Debugging": [[16, "vs-code-django-unit-test-debugging"]], "Fix Exposed Secrets": [[17, "fix-exposed-secrets"]], "Secrets": [[17, "secrets"]], "Github": [[17, "github"]]}, "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_automation", "aws/aws_infrastructure_notes", "aws/aws_security", "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/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/fix_exposed_secret"], "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_automation.rst", "aws/aws_infrastructure_notes.md", "aws/aws_security.rst", "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/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/fix_exposed_secret.rst"], "titles": ["Specify 7 Docker Config Example", "<no title>", "EC2 Non-Dockerized Build", "<no title>", "AWS Automation", "AWS Infrastructure Notes", "AWS Security", "AWS Specify Asset Server Setup", "Specify Cloud Setup", "Digital Ocean to AWS migration", "Deploy Specify7 to an EC2 instance", "<no title>", "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", "Fix Exposed Secrets"], "terms": {"database_host": [0, 8, 10, 11, 16], "10": [0, 8, 10, 11, 12, 14, 17], "133": [0, 11], "58": [0, 8, 11], "98": [0, 11], "database_port": [0, 8, 10, 11, 16], "3306": [0, 9, 10, 11, 16], "master_nam": [0, 8, 10, 11, 16], "master": [0, 9, 10, 11, 14, 16, 18], "master_password": [0, 8, 10, 11, 14, 16], "secret_kei": [0, 8, 10, 16, 18], "asset_server_url": [0, 1, 8, 10, 16], "http": [0, 1, 2, 6, 7, 8, 9, 10, 11, 14, 15, 16, 18], "assets1": [0, 2, 10, 11], "specifycloud": [0, 1, 2, 7, 9, 10, 11, 14, 16, 17], "org": [0, 1, 2, 7, 9, 10, 11, 14, 16, 17], "web_asset_stor": [0, 1, 2, 7, 8, 10, 11, 16], "xml": [0, 1, 2, 7, 8, 10, 11, 16], "asset_server_kei": [0, 8, 10, 16], "report_runner_host": [0, 8, 10, 11, 16], "report_runner_port": [0, 8, 10, 11, 16], "8080": [0, 1, 2, 7, 8, 10, 11, 16], "celery_broker_url": [0, 8, 10, 16], "redi": [0, 8, 10, 11, 16], "0": [0, 1, 2, 7, 8, 10, 11, 14, 16, 17, 18], "celery_result_backend": [0, 8, 10, 16], "1": [0, 1, 2, 7, 8, 9, 10, 11, 12, 16, 17, 18], "log_level": [0, 8, 10, 16], "warn": [0, 8, 10, 11, 16], "sp7_debug": [0, 8, 10, 16], "fals": [0, 1, 2, 7, 8, 10, 14, 18], "version": [0, 1, 2, 7, 10, 12, 18], "3": [0, 1, 7, 8, 10, 11, 12, 14, 16], "servic": [0, 1, 2, 7, 9, 10, 11, 14, 15, 16, 17, 18], "client_nam": [0, 16], "imag": [0, 1, 2, 7, 10, 13], "specifyconsortium": [0, 1, 17], "specify7": [0, 1, 8, 9, 11, 13, 16, 17, 18], "issue_388": 0, "command": [0, 1, 10, 11, 13, 15], "ve": [0, 2, 7, 8, 11, 16, 17, 18], "bin": [0, 2, 7, 8, 11, 14, 16, 17, 18], "gunicorn": [0, 11, 16], "w": [0, 1, 10, 11, 14, 16], "thread": 0, "5": [0, 1, 2, 7, 8, 9, 10, 11, 12, 18], "b": [0, 11, 12, 16, 17], "8000": [0, 11, 16], "t": [0, 6, 10, 11, 14, 16, 17], "300": [0, 1, 2, 7, 11, 16], "specifyweb_wsgi": [0, 11, 16], "init": [0, 1], "true": [0, 1, 2, 7, 10, 16, 18], "restart": [0, 1, 2, 7, 10, 11, 14, 15, 16], "unless": [0, 1, 2, 7], "stop": [0, 1, 10, 14], "volum": [0, 1, 11], "specify6803": [0, 8, 10, 11], "opt": [0, 11, 18], "ro": [0, 1], "static": [0, 2, 7, 10, 11], "local_specify_set": [0, 11], "env_fil": 0, "environ": [0, 1, 7, 11, 16, 18], "database_nam": [0, 8, 11, 16], "sandbox_rbg": 0, "asset_server_collect": 0, "worker": [0, 1, 8, 10, 11, 14, 16], "celeri": [0, 10, 11, 16], "A": [0, 2, 7, 11, 12, 15, 16], "specifyweb": [0, 11, 16, 17, 18], "l": [0, 9, 10, 11, 14, 15, 16, 17], "info": [0, 11, 16], "concurr": [0, 11, 16], "q": [0, 11, 17], "specify6800": [0, 8], "specify6": [0, 9, 10, 11, 16], "6": [0, 2, 7, 8, 9, 10, 11, 12, 14, 16, 17, 18], "8": [0, 1, 2, 7, 8, 10, 11, 12, 16, 17, 18], "00": [0, 8], "specify6801": [0, 8, 11], "01": [0, 8], "03": [0, 8, 10, 11, 16], "port": [0, 1, 2, 7, 10, 11, 16, 18], "80": [0, 1, 2, 7, 8, 11, 16], "443": [0, 1, 2, 7], "sp7demofish": [0, 1, 2, 7, 11, 16], "eu": [0, 8, 11], "rjb": 0, "madrid": 0, "mcnb": 0, "herb": 0, "rbge": 0, "cryoark": [0, 11], "test": [0, 2, 7, 10, 11, 12, 13, 14, 16], "eurl": [0, 14], "etc": [0, 1, 2, 4, 6, 7, 8, 10, 11, 14, 15, 16, 17], "d": [0, 1, 10, 11, 14, 15, 16], "letsencrypt": [0, 1, 2, 7, 11, 14, 15], "ssl": [0, 1, 2, 7, 10, 11, 14, 15], "cert": [0, 1, 2, 7, 15], "dhparam": [0, 1, 2, 7], "pem": [0, 1, 2, 7, 10, 15, 17], "var": [0, 1, 2, 7, 10, 11, 14], "www": [0, 1, 2, 7, 10, 11, 14], "listen": [0, 1, 2, 7, 11, 18], "server_nam": [0, 1, 2, 7, 11, 15, 16], "The": [0, 1, 2, 7, 9, 10, 11, 12], "pass": [0, 1, 2, 7, 11, 12], "though": [0, 1, 2, 7, 11], "locat": [0, 1, 2, 7, 11, 15], "well": [0, 1, 2, 6, 7, 10, 11], "known": [0, 1, 2, 7, 11], "root": [0, 1, 2, 7, 9, 11, 17, 18], "return": 0, "301": 0, "host": [0, 2, 7, 8, 9, 10, 11, 18], "request_uri": 0, "thi": [0, 1, 2, 6, 7, 10, 11, 12, 16, 19], "stanza": [0, 1, 2, 7], "defin": [0, 1, 2, 7, 12], "end": [0, 1, 2, 7, 10, 11, 18], "point": [0, 1, 2, 7, 11, 12, 14], "ssl_certif": [0, 1, 2, 7, 15], "live": [0, 1, 2, 7, 15], "fullchain": [0, 1, 2, 7, 15], "ssl_certificate_kei": [0, 1, 2, 7, 15], "privkei": [0, 1, 2, 7, 15], "from": [0, 1, 2, 7, 9, 10, 11, 12, 14, 16, 18, 19], "cipherli": [0, 1, 2, 7], "st": [0, 1, 2, 7, 15], "raymii": [0, 1, 2, 7], "": [0, 1, 2, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18], "tutori": [0, 1, 2, 7], "strong_ssl_security_on_nginx": [0, 1, 2, 7], "html": [0, 1, 2, 6, 7, 11, 18], "ssl_protocol": [0, 1, 2, 7], "tlsv1": [0, 1, 2, 7], "2": [0, 1, 2, 7, 8, 10, 11, 12, 14, 15, 17, 18], "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, 17], "ssl_session_ticket": [0, 1, 2, 7], "off": [0, 1, 2, 7, 11, 17], "ssl_stapl": [0, 1, 2, 7], "ssl_stapling_verifi": [0, 1, 2, 7], "resolv": [0, 1, 2, 7, 11], "4": [0, 1, 2, 7, 8, 12, 14, 16, 17, 18], "valid": [0, 1, 2, 7, 11], "resolver_timeout": [0, 1, 2, 7], "disabl": [0, 1, 2, 7, 11, 17], "preload": [0, 1, 2, 7], "hst": [0, 1, 2, 7], "now": [0, 1, 2, 7, 9, 15], "you": [0, 1, 2, 6, 7, 9, 10, 11, 19], "can": [0, 1, 2, 6, 7, 10, 12, 17], "us": [0, 1, 2, 6, 7, 9, 10, 11, 12, 13, 18, 19], "comment": [0, 1, 2, 7, 12], "out": [0, 1, 2, 7, 11, 15], "header": [0, 1, 2, 7, 11], "line": [0, 1, 2, 7, 10, 11, 14, 15], "includ": [0, 1, 2, 6, 7, 8, 10, 11, 12], "direct": [0, 1, 2, 7, 11], "understand": [0, 1, 2, 7, 12, 19], "implic": [0, 1, 2, 7, 19], "add_head": [0, 1, 2, 7], "strict": [0, 1, 2, 7], "transport": [0, 1, 2, 7, 10], "secur": [0, 1, 2, 7, 9, 10], "max": [0, 1, 2, 7], "ag": [0, 1, 2, 7], "63072000": [0, 1, 2, 7], "includesubdomain": [0, 1, 2, 7], "x": [0, 1, 2, 7, 10, 11, 12], "frame": [0, 1, 2, 7], "option": [0, 1, 2, 7, 8, 10, 11, 15], "deni": [0, 1, 2, 7], "content": [0, 1, 2, 7], "type": [0, 1, 2, 7, 10, 18], "nosniff": [0, 1, 2, 7], "ssl_dhparam": [0, 1, 2, 7], "i": [0, 1, 2, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19], "m": [0, 1, 2, 7, 8, 10, 11, 17, 18], "sure": [0, 1, 2, 7, 8, 10, 14, 15], "need": [0, 1, 2, 7, 8, 10, 12, 14, 17, 18], "side": [0, 1, 2, 7], "just": [0, 1, 2, 7, 10, 14], "case": [0, 1, 2, 7, 12], "usr": [0, 2, 7, 10, 11, 16, 17], "rewrit": [0, 2, 7, 11], "break": [0, 11, 12], "depositori": [0, 11], "frontend": [0, 11, 16], "127": [0, 11, 18], "11": [0, 8, 9, 11, 12, 17], "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, 6, 7, 9, 10, 11, 12, 14, 18], "proxy_add_x_forwarded_for": [0, 11], "proto": [0, 11], "scheme": [0, 11], "proxy_read_timeout": [0, 11], "600": [0, 2, 7, 10, 11, 17], "client_max_body_s": [0, 1, 2, 7, 11], "github": [0, 7, 9, 10, 11, 12, 16], "repo": [0, 7, 10, 11, 16], "com": [0, 2, 6, 7, 8, 9, 10, 11, 15, 16, 17], "sampl": [0, 2, 7], "turn": [0, 2, 7, 17], "bottl": [0, 2, 7], "debug": [0, 2, 4, 7, 11, 13, 16], "modul": [0, 2, 7, 11, 13], "reload": [0, 2, 7, 8, 10, 14, 16], "print": [0, 2, 7, 10, 17, 18], "some": [0, 2, 7, 10, 12, 19], "inform": [0, 2, 6, 7], "consol": [0, 2, 6, 7, 10], "secret": [0, 2, 6, 7, 8, 10, 13], "kei": [0, 2, 7, 8, 10, 14, 15, 17], "gener": [0, 2, 7, 8, 10, 15], "authent": [0, 2, 6, 7, 10, 17], "token": [0, 2, 7, 10], "request": [0, 2, 7, 11, 14, 15, 18], "same": [0, 1, 2, 7, 9, 15], "must": [0, 2, 7, 11, 19], "store": [0, 1, 2, 6, 7, 9, 10, 19], "attach": [0, 1, 2, 7, 14, 18], "prefer": [0, 2, 7, 10], "good": [0, 2, 7], "sourc": [0, 2, 7, 10, 11, 19], "valu": [0, 2, 7, 10, 11, 12], "grc": [0, 2, 7], "password": [0, 2, 7, 8, 9, 10, 15, 17, 19], "htm": [0, 2, 7], "none": [0, 2, 7, 11, 17], "NOT": [0, 2, 7], "recommend": [0, 2, 7, 11, 16], "sinc": [0, 2, 7, 9, 10, 17], "do": [0, 2, 7, 12, 14, 15, 17, 19], "so": [0, 2, 6, 7, 8, 17], "allow": [0, 2, 7, 10, 11, 12], "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, 6, 7], "second": [0, 2, 7, 12], "time": [0, 2, 7, 10, 12, 17], "order": [0, 2, 6, 7], "consid": [0, 2, 7, 12], "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, 18], "download": [0, 2, 7, 10, 16], "addit": [0, 1, 2, 7], "upload": [0, 2, 7, 11, 14], "delet": [0, 2, 7, 11, 17, 19], "access": [0, 2, 6, 7, 8, 9, 10, 11, 14], "enabl": [0, 2, 7, 11, 12, 16, 17, 18], "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, 14], "allow_static_file_access": [0, 2, 7], "These": [0, 2, 7, 10], "ar": [0, 2, 6, 7, 8, 9, 10, 11, 12, 15], "interpol": [0, 2, 7], "resourc": [0, 2, 4, 6, 7, 10, 12], "client": [0, 2, 7, 8, 10, 11, 12, 14, 16, 17], "know": [0, 1, 2, 7], "how": [0, 2, 6, 7, 12], "talk": [0, 2, 7], "name": [0, 2, 6, 7, 10, 15, 17, 18], "server_port": [0, 1, 2, 7], "develop": [0, 2, 7, 10], "should": [0, 2, 6, 7, 10, 12], "development_port": [0, 2, 7], "map": [0, 2, 7], "collect": [0, 2, 7, 15], "directori": [0, 2, 7, 10, 11, 14, 17], "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, 12], "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, 12, 17], "all": [0, 1, 2, 7, 8, 10, 11, 12, 14, 18, 19], "base_dir": [0, 1, 2, 7], "home": [0, 1, 2, 7, 11, 14, 15, 16, 17, 18], "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, 12, 18], "can_thumbnail": [0, 2, 7], "jpeg": [0, 2, 7], "gif": [0, 2, 7], "png": [0, 2, 7], "tiff": [0, 2, 7], "applic": [0, 2, 6, 7, 10], "pdf": [0, 2, 7], "what": [0, 2, 7, 11, 12], "stand": [0, 2, 7], "alon": [0, 2, 7], "oper": [0, 2, 7], "past": [0, 1, 2, 7, 18], "python": [0, 2, 7, 10, 11, 18], "packag": [0, 2, 7], "fast": [0, 2, 7], "seem": [0, 2, 7], "work": [0, 1, 2, 7, 10, 12, 13], "wsgiref": [0, 2, 7], "extra": [0, 2, 7], "arm64v8": [0, 16], "ubuntu": [0, 1, 2, 7, 10, 11, 16, 17], "18": [0, 8], "04": [0, 8, 10, 11, 16], "AS": 0, "run": [0, 1, 2, 7, 8, 10, 11, 14, 15, 16, 18], "apt": [0, 7, 10, 11, 16], "get": [0, 1, 2, 7, 8, 10, 16, 18], "updat": [0, 7, 9, 10, 11, 12, 16, 17], "y": [0, 7, 8, 10, 11, 12, 16], "instal": [0, 2, 7, 10, 11, 16, 18], "ghostscript": [0, 7], "imagemagick": [0, 7], "python3": [0, 7, 8, 10, 11, 16, 17, 18], "dev": [0, 7, 10, 11, 16, 17], "pip": [0, 7, 8, 10, 11, 18], "venv": [0, 7, 8, 11, 16, 18], "git": [0, 7, 8, 10, 11, 16, 19], "certbot": [0, 1, 7, 10, 11, 14, 16], "awscli": [0, 7, 10, 11, 16], "s3f": [0, 7], "clean": [0, 11, 16], "rm": [0, 10, 11, 16], "rf": 0, "lib": 0, "list": [0, 10, 12, 14, 17], "groupadd": 0, "g": [0, 10, 11, 16], "999": 0, "useradd": 0, "r": [0, 7, 8, 11, 18], "u": [0, 2, 7, 10, 11, 12, 14, 15, 17, 18], "mkdir": [0, 1, 10, 11, 14, 16, 17], "p": [0, 10, 11, 14, 16, 17, 18], "chown": [0, 15, 17, 18], "user": [0, 2, 7, 9, 11, 12, 14, 16, 18], "workdir": 0, "copi": [0, 10, 15, 16, 18], "txt": [0, 7, 8, 10, 11, 17, 18], "cach": [0, 7, 10, 11, 18], "dir": [0, 7, 11, 18], "view": [0, 12], "echo": [0, 10, 11, 16, 17], "import": [0, 10, 18], "o": [0, 10, 15, 16, 18], "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, 1, 2, 6, 7, 11, 15, 18], "aw": [0, 10, 11, 13, 17], "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, 15], "json": [0, 8, 10, 11, 14, 18], "s3": [0, 11], "mount": 0, "cloud": [0, 10, 11, 13], "expos": [0, 13, 16], "cmd": [0, 16], "It": [0, 2, 6, 7, 11, 12], "default_serv": [0, 1, 2, 7], "certif": [0, 1, 2, 7, 10, 14], "mechan": [0, 2, 7], "place": [0, 2, 7, 12], "nonc": [0, 2, 7], "challeng": [0, 2, 7, 15], "prove": [0, 2, 7], "we": [0, 2, 6, 7, 9, 12], "have": [0, 2, 6, 7, 9, 10, 12, 14], "control": [0, 2, 7], "domain": [0, 2, 6, 7, 10, 14], "filesystem": [0, 2, 7], "easili": [0, 2, 7], "auto": [0, 2, 7], "renew": [0, 2, 7, 14], "system": [0, 2, 7, 12, 16], "proxi": [0, 2, 7, 11], "actual": [0, 2, 7, 14], "correct": [0, 2, 7, 15], "string": [0, 2, 7, 15], "substitut": [0, 2, 7], "respons": [0, 2, 7, 12], "make": [0, 1, 2, 7, 8, 10, 11, 14, 15, 16, 17, 19], "link": [0, 1, 2, 7, 12, 15], "localhost": [0, 2, 7, 11, 16, 17], "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], "other": [0, 2, 6, 7, 12, 14, 19], "unchang": [0, 2, 7], "except": [0, 1, 2, 7], "rewritten": [0, 1, 2, 7], "chang": [0, 1, 2, 7, 9, 10, 17, 19], "els": [0, 1, 2, 7, 11], "through": [0, 1, 2, 7, 10, 14, 19], "here": [1, 9, 10, 12, 14, 15], "an": [1, 2, 3, 7, 8, 9, 12, 13, 14, 15], "asset": [1, 2, 3, 10, 11, 13, 14, 15, 16, 17], "server": [1, 2, 3, 9, 10, 11, 13, 14, 16], "exampl": [1, 6, 9, 11, 12], "latest": [1, 6, 10, 11], "specifi": [1, 2, 9, 10, 11, 15, 18], "connection_fix": [1, 17], "spun": 1, "up": [1, 14, 17], "follow": [1, 8, 10, 11, 12, 17], "config": [1, 11, 14], "got": 1, "docker": [1, 11, 13, 14, 18], "your": [1, 9, 10, 15, 19], "dn": [1, 10, 14], "record": [1, 14], "address": [1, 9, 10, 15], "compos": [1, 10, 14, 18], "yml": [1, 18], "7": [1, 8, 9, 10, 11, 12, 16, 17, 18], "nginx": [1, 2, 7, 10, 11, 14, 15, 16], "alpin": 1, "conf": [1, 2, 7, 10, 11, 15, 16, 17, 18], "default": [1, 2, 7, 8, 10, 11, 15, 16, 17], "outsid": 1, "contain": [1, 8, 18], "replac": [1, 9, 10, 19], "which": [1, 11, 12], "would": [1, 4, 6, 10], "publicli": 1, "avail": [1, 6, 11, 16, 17], "qwertyasdfghzxcvbnlmnop": 1, "kufishvouch": [1, 2, 7], "kufishtissu": [1, 2, 7], "file": [1, 2, 9, 11, 14, 15, 19], "Then": [1, 8, 10], "connect": [1, 9, 10], "creat": [1, 9, 10, 11, 12, 13, 14, 15, 19], "bash": [1, 7, 8, 11, 13, 14, 16], "sudo": [1, 7, 8, 10, 11, 14, 15, 16, 17], "webroot": [1, 2, 7, 10, 14], "certonli": [1, 10, 14], "set": [1, 2, 6, 7, 10, 11, 14, 16, 17, 18], "let": 1, "me": 1, "new": [1, 13, 17, 19], "asset_server_setup": 2, "sh": [2, 3, 7, 8, 11, 14, 16, 17], "initi": [2, 10, 12], "systemd": [2, 7, 10, 16], "web": [2, 7, 9, 10, 11, 14, 19], "unit": [2, 7, 12, 13, 15, 16], "descript": [2, 7, 16], "want": [2, 7, 10, 11, 12, 16], "network": [2, 7, 10, 16], "target": [2, 7, 9, 16], "workingdirectori": [2, 7, 16], "execstart": [2, 7, 16], "py": [2, 7, 11, 14, 16, 17, 18], "alwai": [2, 7, 10, 16], "wantedbi": [2, 7, 16], "multi": [2, 4, 7, 16], "test_attachment_kei": [2, 7], "ichthyologi": [2, 7], "herb_rbg": [2, 7, 8], "site": [2, 7, 11, 16, 19], "aasets1": 2, "suppli": [2, 7], "demo": [2, 7], "mean": [2, 7], "without": [2, 7, 17], "privileg": [2, 6, 7, 14, 17, 18], "authbind": [2, 7], "underli": [2, 7], "also": [2, 6, 7, 10, 11], "caus": [2, 7], "subsequ": [2, 7], "go": [2, 7, 8, 10], "renew_before_expiri": [2, 7], "dai": [2, 7], "chain": [2, 7, 15], "9": [2, 7, 8, 12, 17], "archive_dir": [2, 7], "archiv": [2, 7, 10, 15], "process": [2, 4, 6, 7, 11, 19], "renewalparam": [2, 7], "account": [2, 6, 7, 10], "a563615cc912ed3d7a3edfede09d6760": 2, "post_hook": [2, 7], "systemctl": [2, 7, 8, 10, 11, 14, 15, 16], "acm": [2, 7], "v02": [2, 7], "api": [2, 7], "webroot_map": [2, 7], "specofycloud": 2, "begin": [2, 7], "dh": [2, 7], "paramet": [2, 7, 8, 11], "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, "instruct": [3, 10], "setup": [3, 11, 13], "hybrid_asset_server_setup": 3, "trigger": 4, "redshift": 4, "glue": 4, "instanti": 4, "ec2": [4, 11, 13], "instanc": [4, 7, 11, 13, 18, 19], "log": [4, 9, 10, 11], "workflow": [4, 12], "problem": [4, 12], "mai": [4, 14], "simpl": [4, 10, 11], "ani": [4, 11, 12, 19], "tip": 4, "appreci": 4, "todo": [5, 7, 8], "best": [6, 19], "practic": [6, 19], "role": 6, "overview": 6, "determin": 6, "smallest": 6, "workabl": 6, "permiss": [6, 18], "manual": 6, "autom": 6, "wai": 6, "script": [6, 8, 10, 11], "v": [6, 11, 13, 16, 17], "thing": [6, 9, 10], "handl": [6, 8, 10, 14], "less": 6, "retriev": 6, "deal": 6, "number": [6, 15], "usernam": [6, 8, 9, 17], "bucket": [6, 10], "doc": [6, 10], "amazon": [6, 9, 10], "iam": 6, "userguid": 6, "anoth": [6, 19], "tool": [6, 10], "architect": 6, "review": [6, 12], "design": [6, 10, 12], "principl": 6, "divid": 6, "sever": 6, "pillar": 6, "One": [6, 13], "focus": [6, 12], "wellarchitect": 6, "welcom": 6, "doesn": [6, 14], "give": 6, "proscript": 6, "answer": 6, "rather": 6, "discuss": 6, "think": [6, 17], "about": 6, "variou": 6, "facet": 6, "postur": 6, "section": [6, 7, 10, 15], "least": [6, 12, 14], "reduc": 6, "great": 6, "variabl": [7, 8, 10, 16], "befor": [7, 8, 10, 12], "export": [7, 11, 16, 17], "domain_nam": [7, 8, 11, 16], "subdomain_prefix": 7, "first": [7, 10, 12], "subdomain": [7, 8, 14], "build_non_docker_asset_serv": 7, "ssl_account": 7, "upgrad": [7, 8, 9, 10, 11, 16], "clone": [7, 10, 11, 16], "cd": [7, 10, 11, 16], "checkout": [7, 11], "arm": [7, 8], "softwar": [7, 10, 12], "properti": [7, 10], "common": [7, 10, 15], "add": [7, 10, 11, 13, 18, 19], "repositori": [7, 11, 19], "ppa": [7, 11], "deadsnak": 7, "distutil": 7, "hvm": 8, "ssd": [8, 10], "bionic": 8, "arm64": [8, 11, 17], "20220131": 8, "ami": [8, 10], "0770bf1d6ae61c858": 8, "specify_cloud_setup": 8, "serveraliveinterv": [8, 10], "20": [8, 10, 11, 16], "tcpkeepal": [8, 10], "sshd_config": [8, 10], "clientaliveinterv": [8, 10], "1200": [8, 10], "clientalivecountmax": [8, 10], "sshd": [8, 10, 14], "spcloudserv": [8, 10, 14], "freshfish": 8, "sp7": [8, 10], "edg": [8, 10], "sp6": [8, 10], "env": [8, 10, 11, 16, 18], "anonymous_us": 8, "anon_user_nam": 8, "decommiss": [8, 10], "sp6version": [8, 10], "specify6802": 8, "02": 8, "fill": [8, 10], "between": [8, 10, 18], "db_instance_nam": 8, "identifi": [8, 11, 17], "rd": [8, 11], "amazonaw": [8, 10, 11, 17], "db_port": 8, "master_usernam": 8, "bogu": [8, 16, 18], "asset_server_fqdn": 8, "xxx": [8, 9], "xx": [8, 9, 15], "specify_us": 8, "specify_user_password": 8, "access_kei": [8, 11], "access_key_secret": [8, 11], "format": 8, "start": [8, 10, 12, 14, 16], "userdata": 8, "launch": [8, 10, 12, 18], "specify_cloud_ec2_userdata": 8, "bucket_nam": 8, "db_identifi": [8, 10], "db": [8, 9, 10, 18], "r5": 8, "larg": [8, 10], "vcpu": 8, "16": 8, "gb": 8, "ram": 8, "24": 8, "per": 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, "40": [8, 15], "v1": 8, "06": 8, "43": 8, "29": 8, "nano": 8, "0042": 8, "micro": 8, "0084": 8, "05": 8, "small": [8, 10, 12], "0168": 8, "0336": 8, "19": [8, 18], "0672": 8, "48": 8, "38": [8, 16], "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, 12], "59": 8, "ex": [8, 9, 15], "cpu": 8, "22": [8, 10], "26": 8, "52": 8, "89": 8, "32": 8, "179": 8, "78": 8, "note": [8, 11, 13, 14], "purpos": [8, 10], "graviton": 8, "memori": 8, "cheep": 8, "expens": 8, "na": [8, 9], "45": 8, "90": 8, "django": [8, 10, 11, 13, 16], "digit": [8, 13], "ocean": [8, 13], "usag": 8, "nomin": 8, "spike": 8, "task": [8, 10, 12, 17], "definit": 8, "vimsfish": 8, "might": [8, 10, 12, 18], "more": [8, 12], "than": 8, "ca": [8, 10], "85": 8, "beati": 8, "72": 8, "mayb": [8, 10, 14, 16], "enough": 8, "each": [8, 9, 12], "most": [8, 11, 13], "fine": [8, 14], "onli": [8, 10, 11, 17, 19], "few": 8, "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, 14, 16], "mariadb105": 8, "aarch64": 8, "nodj": 8, "npm": [8, 11, 16], "java": [8, 10], "openjdk": [8, 11, 16], "headless": 8, "corretto": 8, "python38": 8, "virtualenv": [8, 11], "python38u": 8, "redis6": 8, "unzip": [8, 11, 16], "dnf": 8, "wheel": [8, 11], "ha": [9, 11, 12], "our": [9, 12], "provid": [9, 12], "increas": [9, 17], "reliabl": 9, "mysql": [9, 10, 11, 14, 16, 17, 18], "deprec": 9, "v10": 9, "In": [9, 10, 11, 12, 13], "futur": [9, 10], "hope": [9, 10], "postgresql": 9, "databas": [9, 10, 11, 14], "backup": [9, 14], "further": [9, 11], "improv": 9, "daili": 9, "via": 9, "ssh": [9, 10, 14], "two": [9, 10, 12], "login": [9, 10, 14], "institut": 9, "underscor": 9, "_": [9, 10], "dash": 9, "thei": [9, 12, 17], "been": [9, 10, 11, 12], "wiki": 9, "remot": 9, "mac": 9, "n": 9, "l3307": 9, "institution_id": 9, "window": 9, "putti": 9, "c": [9, 10, 11, 12, 14, 15, 17], "program": 9, "your_us": 9, "private_key_": 9, "ppk": 9, "3307": 9, "previou": [9, 19], "soon": [9, 10, 19], "detail": 10, "temporari": 10, "solut": [10, 12], "deploy": 10, "ec": 10, "come": [10, 12], "composit": 10, "privat": [10, 19], "kind": 10, "easiest": 10, "even": 10, "one": [10, 11, 16, 19], "my": 10, "like": 10, "could": 10, "instead": [10, 14], "wa": 10, "nativ": 10, "join": 10, "team": [10, 12], "pick": 10, "project": [10, 12], "modern": 10, "cdk": 10, "scalabl": 10, "machin": [10, 19], "choos": 10, "lt": 10, "64": 10, "bit": 10, "x86": 10, "architectur": 10, "better": 10, "traffic": 10, "pair": 10, "either": 10, "directli": [10, 11], "If": [10, 11, 19], "insid": 10, "en": 10, "keep": 10, "person": 10, "when": [10, 11, 12], "read": [10, 17], "otherwis": 10, "sql": [10, 11, 14], "There": 10, "archireef": 10, "edit": [10, 11, 19], "schema": 10, "input": 10, "tag": [10, 11, 19], "after": [10, 11, 12, 14, 15], "tl": [10, 11], "rrhost_private_ip": 10, "your_database_host": 10, "your_master_password": 10, "temp": 10, "your_asset_server_kei": 10, "onc": [10, 12, 17], "chmod": [10, 17], "webpag": 10, "click": 10, "cloudshel": 10, "don": [10, 17], "local": [10, 11, 14, 15], "manag": [10, 12, 14, 17, 18], "happen": 10, "press": 10, "enter": [10, 17], "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, 12], "sed": [10, 11, 16], "nrconf": 10, "kernelhint": 10, "needrestart": 10, "gh": 10, "curl": [10, 11, 16], "wget": [10, 11, 16], "j2cli": [10, 11], "fssl": [10, 11], "gpg": 10, "dearmor": 10, "keyr": 10, "deb": [10, 11], "arch": [10, 17], "dpkg": 10, "sign": 10, "lsb_releas": 10, "stabl": 10, "tee": [10, 17], "null": 10, "polici": 10, "ce": 10, "check": [10, 11, 12, 14], "correctli": 10, "cli": 10, "plugin": 10, "releas": [10, 12], "17": 10, "unam": 10, "cp": [10, 11, 15, 16], "snapshot": 10, "recurs": 10, "did": 10, "engin": [10, 12], "experi": 10, "aurora": [10, 11], "dynam": 10, "scale": 10, "templat": 10, "suggest": 10, "product": [10, 12, 16], "feel": 10, "someth": 10, "similar": 10, "decid": 10, "size": [10, 17], "accommod": 10, "suffic": 10, "iop": 10, "select": [10, 14, 17], "comput": [10, 11, 17], "tab": 10, "mark": 10, "endpoint": 10, "specify_cloud_database_nam": 10, "seed": [10, 11], "e": [10, 11, 14, 17, 18], "f": [10, 16], "remain": 10, "own": 10, "navig": 10, "page": [10, 13], "public": [10, 17], "ipv4": 10, "open": [10, 12], "browser": 10, "haven": 10, "yet": 10, "webpack": [10, 11, 16], "report": [10, 16, 17], "runner": [10, 16], "being": [10, 12], "hold": 10, "front": [10, 18], "independ": 10, "long": 10, "act": 10, "job": 10, "queue": 10, "broker": 10, "possibl": [10, 11, 19], "sq": 10, "both": 10, "serv": [10, 11], "conaint": 10, "remov": [10, 12, 14, 19], "move": 10, "startup": 10, "webserv": [10, 11, 16], "possibli": 10, "cloudfront": 10, "who": 10, "rout": 10, "53": 10, "probabl": 10, "elast": 10, "apach": [10, 11], "your_ec2_domain_nam": 10, "vim": [10, 14], "exec": [10, 14, 17], "specifycloud_nginx_1": [10, 14], "extend": 10, "see": 11, "mosti": 11, "lite": 11, "entrypoint": [11, 16], "jdk": [11, 16], "nodesourc": 11, "setup_18": 11, "build": [11, 12, 16], "essenti": [11, 16], "libldap2": [11, 16], "libmariadbcli": [11, 16], "libsasl2": [11, 16], "nodej": [11, 16], "maven": [11, 16], "ant": [11, 16], "node": [11, 15, 16], "apache2": 11, "libapache2": 11, "mod": 11, "wsgi": [11, 16], "py3": 11, "core": [11, 18], "specifysoftwar": [11, 16], "6803": [11, 16], "specify_unix_64": [11, 16], "ln": [11, 15, 16, 17], "pwd": [11, 17], "wb_upload_log": 11, "specify_depositori": 11, "v7": 11, "87": 11, "116": 11, "210": 11, "bashrc": [11, 16], "cqvncffkwz9t": 11, "danc": 11, "taco": 11, "magic": 11, "rainbow": 11, "vibe": 11, "web_attachment_url": 11, "web_attachment_kei": 11, "tnhercbrhtktanehul": [11, 16], "dukb": [11, 16], "web_attachment_collect": 11, "specifydb": 11, "specify_set": 11, "masterus": 11, "masterpassword": 11, "activ": 11, "runserv": 11, "media": 11, "media_root": 11, "__init__": 11, "media_url": 11, "ufw": 11, "statu": [11, 15], "servernam": 11, "specifyweb_apach": 11, "000": 11, "invok": 11, "rc": 11, "your_domain": 11, "full": [11, 12, 15], "varibal": 11, "update_set": 11, "setting_kei": 11, "setting_valu": 11, "file_path": 11, "cat": [11, 15, 17], "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, "app": 11, "socket": 11, "uwsgi_param": 11, "uwsgi_read_timeout": 11, "32m": 11, "alia": [11, 14, 16], "slash": 11, "virtualhost": 11, "grant": [11, 14, 17, 18], "followsymlink": 11, "index": [11, 13], "multiview": 11, "web_upload_log": 11, "group": 11, "librari": 11, "establish": 11, "leav": 11, "wsgidaemonprocess": 11, "wsgiprocessgroup": 11, "wsgiscriptalia": 11, "errorlog": 11, "error": 11, "notic": 11, "crit": 11, "alert": 11, "emerg": 11, "loglevel": 11, "customlog": 11, "hostnam": [11, 15, 16], "itself": 11, "redirect": 11, "context": [11, 14], "virtual": [11, 19], "appear": 11, "match": 11, "decis": 11, "last": [11, 19], "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, 12], "level": [11, 12], "cgi": 11, "a2disconf": 11, "73": 11, "compil": [11, 16], "104175": 11, "js_src": [11, 16], "spcloud": 11, "At": 12, "structur": 12, "ensur": 12, "deliv": 12, "high": 12, "qualiti": 12, "meet": 12, "step": 12, "vision": 12, "re": 12, "solv": 12, "goal": 12, "achiev": 12, "stori": 12, "describ": 12, "specif": 12, "function": 12, "perspect": 12, "help": 12, "stai": 12, "them": 12, "down": 12, "data": 12, "model": 12, "ui": 12, "ux": 12, "technic": 12, "prioriti": 12, "priorit": 12, "factor": 12, "impact": 12, "complex": 12, "estim": 12, "implement": 12, "effect": 12, "timelin": 12, "alloc": 12, "issu": [12, 14], "creation": 12, "smaller": 12, "track": 12, "progress": 12, "collabor": 12, "assembl": 12, "relat": 12, "central": [12, 13], "effici": 12, "With": 12, "involv": 12, "write": 12, "code": [12, 13, 15, 19], "interfac": 12, "three": 12, "differ": 12, "member": 12, "compon": 12, "expect": 12, "integr": 12, "larger": 12, "perform": 12, "seamlessli": 12, "exist": 12, "phase": 12, "conduct": 12, "intern": 12, "week": 12, "feedback": 12, "find": 12, "final": 12, "thoroughli": 12, "standard": 12, "deploi": [12, 13], "commun": 12, "By": 12, "align": 12, "document": 12, "sent": 12, "support": 12, "explan": 12, "rephras": 12, "term": 12, "anyth": 12, "ad": 12, "top": [12, 19], "part": 12, "clear": 12, "checklist": 12, "present": 12, "z": 12, "action": 12, "compris": 12, "approv": 12, "post": [12, 14], "channel": 12, "lead": 12, "assign": 12, "pull": 12, "branch": 12, "total": 12, "complianc": 12, "proce": 12, "bring": 12, "modif": 12, "pr": 12, "confirm": 12, "fail": [12, 14], "again": 12, "iter": 12, "merg": 12, "infrastructur": 13, "migrat": 13, "fix": [13, 14], "ku": [13, 14], "IT": 13, "search": 13, "look": [14, 15], "flush": [14, 17], "registtr": 14, "dreamhost": 14, "websit": 14, "cname": 14, "style": 14, "wait": 14, "minut": 14, "circul": 14, "bitech": 14, "edu": 14, "su": [14, 17], "unsm": 14, "vp": 14, "automat": 14, "hook": 14, "crontab": 14, "cronjob": 14, "biprdsp6ap": 14, "cc": 14, "spcloudbackup": 14, "backup_specify_cloud": 14, "updown": [14, 17], "system_info": 14, "authorized_kei": [14, 17], "droplet": 14, "mysqld": 14, "tc": 14, "heurist": 14, "recov": 14, "rollback": 14, "form": 15, "kuit": 15, "nav_to": 15, "uri": 15, "2fcom": 15, "glideapp": 15, "servicecatalog_cat_item_view": 15, "3fv": 15, "3d1": 15, "26sysparm_id": 15, "3d78fee42fdb2a8850162673e1ba96195b": 15, "26sysparm_link_par": 15, "3d322911f41bec6490cf2d337e034bcb23": 15, "26sysparm_catalog": 15, "3de0d08b13c3330100c8b837659bba8fb4": 15, "26sysparm_catalog_view": 15, "3dcatalog_default": 15, "26sysparm_view": 15, "csr": 15, "openssl": 15, "req": 15, "newkei": 15, "rsa": 15, "2048": 15, "keyout": 15, "countri": 15, "letter": 15, "state": 15, "provinc": 15, "kansa": 15, "eg": 15, "citi": 15, "lawrenc": 15, "organ": 15, "compani": 15, "ltd": 15, "univers": 15, "organiz": 15, "biimag": 15, "biodivers": 15, "email": 15, "alec": 15, "white": 15, "verifi": 15, "ou": 15, "cn": 15, "emailaddress": 15, "receiv": 15, "biimages_biodiversity_ku_edu": 15, "cer": 15, "biimages_biodiversity_ku_edu_cert": 15, "crt": 15, "biimages_biodiversity_ku_edu_interm": 15, "p7b": 15, "concaten": 15, "proper": 15, "increment": 15, "privkey40": 15, "cert40": 15, "chain40": 15, "fullchain40": 15, "symbol": 15, "where": [15, 19], "sf": 15, "hash": 15, "x509": 15, "noout": 15, "modulu": 15, "md5": 15, "webport": 15, "keystor": 15, "collections_biodiversity_ku_edu_cert": 15, "collections_biodiversity_ku_edu": 15, "collections_biodiversity_ku_edu_interm": 15, "webportal_serv": 15, "bi": 15, "sp7access": 15, "pod": 16, "exclud": 16, "sp6_version": 16, "sp6_version_str": 16, "tr": 16, "raw": 16, "githubusercont": 16, "nvm": 16, "v0": 16, "nvm_dir": 16, "load": 16, "ci": 16, "dist": 16, "npx": 16, "mode": 16, "font": [16, 17], "jar": [16, 17], "tmp": 16, "pom": 16, "mvn": 16, "war": 16, "explod": 16, "src": 16, "3000": [16, 18], "8888": [16, 18], "ptvsd": [16, 18], "fi": 16, "worker_count": 16, "daemon": 16, "conditionpathexist": 16, "jetti": 16, "ireportrunn": 16, "alec_specify_ssh_kei": 17, "ec2inst": 17, "put": 17, "alecwhit": 17, "exit": 17, "background": 17, "foreground": 17, "df": 17, "h": 17, "du": 17, "avz": 17, "cluster": 17, "img": 17, "inspect": 17, "jq": 17, "repotag": 17, "done": 17, "notif": 17, "notificationstest": 17, "file1": 17, "file2": 17, "appli": 17, "addus": 17, "geco": 17, "docker_cli_experiment": 17, "buildx": 17, "mybuild": 17, "bootstrap": 17, "platform": 17, "amd64": 17, "ask": 17, "restrict": 17, "rbash": 17, "usermod": 17, "symlink": 17, "700": 17, "ssh_kei": 17, "dbuser": 17, "BY": 17, "dbuser_password": 17, "insert": 17, "ON": [17, 18], "your_database_nam": 17, "TO": [17, 18], "tail": 17, "1000": 17, "grep": 17, "awk": 17, "split": 17, "falloc": 17, "4g": 17, "swapfil": 17, "dd": 17, "zero": 17, "1024": 17, "count": 17, "4096k": 17, "mkswap": 17, "swapon": 17, "sw": 17, "fstab": 17, "perman": 17, "show": 17, "free": 17, "swappi": 17, "defaul": 17, "100": 17, "veri": 17, "argess": 17, "absolutlei": 17, "necessari": 17, "proc": 17, "sy": 17, "vm": 17, "sysctl": 17, "chane": 17, "swapoff": 17, "8g": 17, "resiz": 17, "test_cuic": 18, "test_": 18, "devpress": 18, "csdn": 18, "net": 18, "62fe07607e66823466192fa3": 18, "pytest": 18, "hypothesi": 18, "jsonschema": 18, "ini": 18, "django_settings_modul": 18, "python_fil": 18, "testpars": 18, "addopt": 18, "ignor": 18, "selenium_test": 18, "vscode": 18, "pythonpath": 18, "pytestarg": 18, "vv": 18, "pytesten": 18, "nosetestsen": 18, "unittesten": 18, "setdefault": 18, "run_main": 18, "werkzeug_run_main": 18, "debugpi": 18, "dockerfil": 18, "non": 18, "debugg": 18, "runtim": 18, "pathmap": 18, "localroot": 18, "workspacefold": 18, "remoteroot": 18, "unittestarg": 18, "lint": 18, "mypyen": 18, "inadvert": 19, "revok": 19, "investig": 19, "physic": 19, "old": 19, "unus": 19, "safe": 19, "gitguardian": 19, "suffici": 19, "commit": 19, "current": 19, "forc": 19, "push": 19, "path": 19, "amend": 19}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"specifi": [0, 7, 8, 12, 13, 14, 16, 17], "7": 0, "docker": [0, 2, 7, 8, 10, 16, 17], "config": [0, 7, 8, 10], "exampl": [0, 14, 17], "default": 0, "env": 0, "compos": 0, "yml": 0, "nginx": [0, 17], "conf": 0, "asset": [0, 7], "server": [0, 7, 8, 15], "set": 0, "py": 0, "file": [0, 7, 8, 10, 17], "possibl": 0, "dockerfil": 0, "ec": 0, "build": [0, 2, 7, 17], "unfinish": 0, "web": [0, 13, 15], "ec2": [2, 7, 8, 10], "non": [2, 7], "aw": [4, 5, 6, 7, 8, 9], "autom": 4, "todo": [4, 6], "infrastructur": 5, "note": [5, 10], "secur": [6, 13], "refer": 6, "from": 6, "travi": 6, "berklei": 6, "setup": [7, 8, 10], "shell": 7, "script": 7, "cloud": [8, 14], "aurora": 8, "mysql": 8, "databas": [8, 17], "initi": 8, "command": [8, 17], "ssh": [8, 17], "configur": [8, 10], "info": 8, "misc": [8, 13, 14], "credenti": 8, "user": [8, 17], "data": [8, 10], "price": 8, "instal": 8, "ubuntu": 8, "instanc": [8, 10, 14], "us": [8, 17], "amazon": [8, 13], "arm54": 8, "cento": 8, "imag": [8, 16, 17], "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, "develop": [12, 13], "process": [12, 13], "overview": 12, "detail": 12, "new": [12, 14, 15], "featur": 12, "request": 12, "welcom": 13, "document": 13, "servic": 13, "intern": 13, "indic": 13, "tabl": 13, "add": [14, 17], "dbname": 14, "troubleshoot": 14, "work": 15, "central": 15, "ku": 15, "IT": 15, "certif": 15, "edu": 15, "portal": 15, "creat": [16, 17], "most": 16, "In": 16, "One": 16, "bash": 17, "sftp": 17, "check": 17, "storag": 17, "rsync": 17, "view": 17, "architectur": 17, "o": 17, "run": 17, "django": [17, 18], "unit": [17, 18], "test": [17, 18], "through": 17, "git": 17, "stash": 17, "push": 17, "multipl": 17, "linux": 17, "login": 17, "access": 17, "live": 17, "format": 17, "log": 17, "swap": 17, "memori": 17, "v": 18, "code": 18, "debug": 18, "fix": 19, "expos": 19, "secret": 19, "github": 19}, "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"]], "EC2 Non-Dockerized Build": [[2, "ec2-non-dockerized-build"], [7, "ec2-non-dockerized-build"]], "AWS Automation": [[4, "aws-automation"]], "TODO:": [[4, "todo"], [6, "todo"]], "AWS Infrastructure Notes": [[5, "aws-infrastructure-notes"]], "AWS Security": [[6, "aws-security"]], "References": [[6, "references"]], "From Travis Berkley:": [[6, "from-travis-berkley"]], "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 Development Process": [[12, "specify-development-process"]], "Overview": [[12, "overview"]], "Detailed process for new feature requests": [[12, "detailed-process-for-new-feature-requests"]], "Welcome to Specify Developer documentation!": [[13, "welcome-to-specify-developer-documentation"]], "Amazon Web Services:": [[13, null]], "Internal Processes:": [[13, null]], "Security:": [[13, null]], "Misc:": [[13, null]], "Indices and tables": [[13, "indices-and-tables"]], "Add new Specify instance to Specify Cloud": [[14, "add-new-specify-instance-to-specify-cloud"]], "Example for ": [[14, "example-for"]], "Misc": [[14, "misc"]], "Troubleshooting": [[14, "troubleshooting"]], "Working with central KU IT": [[15, "working-with-central-ku-it"]], "New certificate on ku.edu server": [[15, "new-certificate-on-ku-edu-server"]], "web-portal certificate": [[15, "web-portal-certificate"]], "Create a Most-In-One Specify Docker image": [[16, "create-a-most-in-one-specify-docker-image"]], "Image": [[16, "image"]], "Useful bash commands": [[17, "useful-bash-commands"]], "sftp": [[17, "sftp"]], "check storage": [[17, "check-storage"]], "rsync": [[17, "rsync"]], "docker images view architecture and OS": [[17, "docker-images-view-architecture-and-os"]], "run a django unit test through docker": [[17, "run-a-django-unit-test-through-docker"]], "git stash specify files": [[17, "git-stash-specify-files"]], "add user": [[17, "add-user"]], "docker build and push for multiple architectures": [[17, "docker-build-and-push-for-multiple-architectures"]], "create linux user for ssh login and database access": [[17, "create-linux-user-for-ssh-login-and-database-access"]], "view live formatted nginx logs example": [[17, "view-live-formatted-nginx-logs-example"]], "Add swap memory": [[17, "add-swap-memory"]], "VS Code Django Unit Test Debugging": [[18, "vs-code-django-unit-test-debugging"]], "Fix Exposed Secrets": [[19, "fix-exposed-secrets"]], "Secrets": [[19, "secrets"]], "Github": [[19, "github"]]}, "indexentries": {}}) \ No newline at end of file