31 Commits

Author SHA1 Message Date
dandds
9f2bdd4a9f Updated dev environment for JEDI.
- Updated environment name.
- Updated variables.
- AKS service principal creds moved to the operator Key Vault.
2020-01-21 10:08:27 -05:00
tomdds
9ac5249308 Add .env files to gitignore 2019-12-02 15:45:16 -05:00
dandds
0b5acde4c4 Stream-parse CRLs for caching file locations.
AT-AT needs to maintain a key-value CRL cache where each key is the DER
byte-string of the issuer and the value is a dictionary of the CRL file
path and expiration. This way when it checks a client certificate, it
can load the correct CRL by comparing the issuers. This is preferable to
loading all of the CRLs in-memory. However, it still requires that AT-AT
load and parse each CRL when the application boots. Because of the size
of the CRLs and their parsed, in-memory size, this leads to the
application spiking to use nearly 900MB of memory (resting usage is
around 50MB).

This change introduces a small function to ad-hoc parse the CRL and
obtain the information in the CRL we need: the issuer and the
expiration. It does this by reading the CRL byte-by-byte until it
reaches the ASN1 sequence that corresponds to the issuer, and then looks
ahead to find the nextUpdate field (i.e., the expiration date). The
CRLCache class uses this function to build its cache and JSON-serializes
the cache to disk. If another AT-AT application process finds the
serialized version, it will load that copy instead of rebuilding it. It
also entails a change to the function signature for the init method of
CRLCache: now it expects the CRL directory as its second argument,
instead of a list of locations.

The Python script invoked by `script/sync-crls` will rebuild the
location cache each time it's run. This means that when the Kubernetes
CronJob for CRLs runs, it will refresh the cache each time. When a new
application container boots, it will get the refreshed cache.

This also adds a nightly CircleCI job to sync the CRLs and test that the
ad-hoc parsing function returns the same result as a proper parsing
using the Python cryptography library. This provides extra insurance
that the function is returning correct results on real data.
2019-11-04 08:36:03 -05:00
richard-dds
c66b1ef2f9 Add mypy and add typechecking step to script/test
Only check atst/domain/csp/cloud.py for now
2019-10-24 14:44:53 -04:00
leigh-mil
248e93103b Add js/test_templates to .gitignore file and remove ignored folder 2019-10-16 13:53:40 -04:00
dandds
7949c64b9b Initial set up for Ghost Inspector integration tests.
Adds a CircleCI integration for Ghost Inspector
(https://ghostinspector.com), a headless browser testing SaaS. The
README is updated with details about how to run GI locally.

Removes the bootstrap setup for Selenium testing with BrowserStack.
2019-10-14 16:32:38 -04:00
richard-dds
ac0c194490 Add celery beat worker 2019-09-11 11:41:57 -04:00
dandds
46cca3c40f Ignore deployment configuration files. 2019-08-08 09:01:22 -04:00
dandds
6abbf4bac0 Upgrade Python to 3.7.3 and add PyYAML.
We should try and track mainline Python as much as possible.

PyYAML was a sub-dependency of a dev dependency but was being included
in the translations utility. Bundling only the production Python
dependencies was not working because of this.
2019-06-20 06:26:08 -04:00
dandds
9aa15d57e8 CRL Provider for syncing CRLs from cached source 2019-02-27 05:51:50 -05:00
Patrick Smith
5d9aeeefed Add generated JS coverage to gitignore 2018-12-04 16:23:17 -05:00
dandds
99baed1516 script for generating user test certs for PIVKey cards 2018-11-06 10:05:35 -05:00
dandds
63f94deb40 test harness for selenium testing 2018-10-15 09:10:08 -04:00
dandds
78af50fcf0 sketch of BrowserStack and Selenium testing setup 2018-10-15 09:09:23 -04:00
dandds
74ab2151f8 mandate python 3.6.6 and install pytest-cov 2018-10-09 10:55:21 -04:00
Devon Mackay
750bf7985e Ignore any buildinfo files that have been generated 2018-09-21 16:30:32 -04:00
dandds
ef2e97713a initial uploader and some form work 2018-08-27 13:04:41 -04:00
dandds
0a6cbe7e03 warning alert for manually entering task order info on financial form 2018-08-21 09:22:39 -04:00
dandds
ac95bf371e implement CRL checking from authnid 2018-08-06 11:12:58 -04:00
Andrew Croce
e80956686c ignore static/assets 2018-08-03 11:38:20 -04:00
richard-dds
41701290ea Add .ini configuration management 2018-06-11 16:42:13 -04:00
Devon
4844e23951
Merge pull request #21 from dod-ccpo/gitignore-tweaks
Gitignore tweaks
2018-06-05 17:02:22 -04:00
richard-dds
42624b9eb8 Removed requirements.txt in favor of Pipenv 2018-06-04 22:35:42 -04:00
Devon Mackay
0cde9f63fa Ignore everything in /log 2018-06-04 17:13:48 -04:00
Devon Mackay
5ea30de697 Reorg and comment a bit; add variables.scss files to be ignored 2018-06-04 17:13:11 -04:00
Brian Duggan
3fca30e357 add .envrc for direnv, and ignore *.pyc 2018-05-30 16:22:54 -04:00
Devon Mackay
bf66cd5ef3 Add fonts symlink to ignore 2018-05-30 15:39:46 -04:00
Luis Cielak
53bc0bc521 Add login routes 2018-05-25 14:41:21 -04:00
Luis Cielak
5af5670f06 Move header to a partial 2018-05-25 09:24:39 -04:00
Brian Duggan
487cb147bb Add a basic test 2018-05-24 12:27:41 -04:00
Brian Duggan
de0fce88f1 Better asset handling 2018-05-24 09:56:02 -04:00