forked from HHS/TANF-app
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* removed clamav from being deployed unless in production. Pointed AV SCAN enpoint to tanf-prod clam av scanner only * added network policy to connect to prod clamAV * use prod clam av in cloudgov.py too * fixing 'f-string is missing placeholders' now that we are hardcoding prod clamav * removed quotes from add-network-policy command when interpolation not needed * removed add-network-policy from deploy-backend.sh and added documentation for how to do manually. * add nginx router and manifest * cleaned up * Update README for CLAMAV * updated README file with deployment commands * added network policy for backend to clamav router * updated boundry diagram * updated boundry diagram * Removed AV_SCAN url from cloud.gov settings file * update setting environment variable * refactored circle ci for static clam av vars since only one server now. updated docs. * needs env_var_name, not string for login-cloud-dot-gov * revert back to env_var_name type for downstream login_cloud_dot_gov command * added prod prefix back in * readd AV_SCAN_URL * changed the inline comment in common.py settings * README file rewrite * added note * readded clam av nginx router url to manifest and setting network policies in the deploy-backend.sh script * updated for using backend to set ENV for ClamAV URL. * getting rid of spaces on empty last line of manifest * Remove AV_SCAN_URL from deploy-backend * updated README for clarification for clam-av-nginx-router naming * moving setting vars for clamav server to above cf push --------- Co-authored-by: George Hudson <[email protected]> Co-authored-by: Mo Sohani <[email protected]> Co-authored-by: raftmsohani <[email protected]> Co-authored-by: Andrew <[email protected]>
- Loading branch information
1 parent
6fa43ad
commit 932a41e
Showing
14 changed files
with
383 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# CLAMAV | ||
|
||
In order to have one CLAMAV instance, existing in prod, the Nginx router is created | ||
for CLAMAV to forward the traffic from 'dev' and 'staging' spaces into | ||
prod space, where the CLAMAV service exists. | ||
|
||
## Deploy Nginx instance | ||
To route the clamav traffic to clamav in prod, each space needs to have one instance of _Nginx Router_ which routes traffic to clamav. | ||
|
||
In order to deploy the nginx router instance, change your directory to `tdrs-backend/clamav-router/` and run the following command while logged into the target space: | ||
|
||
|
||
>`cf push tdp-clamav-nginx-${cf-shortened-space} -f manifest.yml --no-route` | ||
, where _cf-shortened-space_ can be : _dev_, _staging_, or _prod_. | ||
|
||
The instance name then will be set as an environment variable to redirect each instance traffic. This will deploy the nginx instance to the target environment. | ||
|
||
## Further communication configurations | ||
|
||
### Setup Individual Instances | ||
|
||
First, set the environment variable __AV_SCAN_URL__ as follows: | ||
``` | ||
Environment variable name: AV_SCAN_URL | ||
Environment variable value: http://{nginx_instance}.apps.internal:9000/scan | ||
``` | ||
|
||
### Add network policy from _{tdp-clamav-nginx}_ to clamav in prod | ||
To enable traffic between the "__nginx instance__" and "__clamav instance in production__", we need to add the network policiy and route between the two: | ||
|
||
>`cf add-network-policy {nginx_instance} "clamav-rest" -s "tanf-prod" --protocol tcp --port 9000` | ||
e.g: `{nginx_instance_name} = tdp-clamav-nginx-dev` | ||
|
||
### Add network policy from _{backend_instance}_ to _tdp-clamav-nginx_ | ||
|
||
>`cf add-network-policy {backend_instance} {nginx_instance} --protocol tcp --port 9000` | ||
where e.g: `backend_instance = tdp-backend-develop` | ||
|
||
### Add route for _tdp-clamav-nginx_ | ||
|
||
Note: Make sure to delete (if existing) routes that are not being used. In some rare cases, a mal-assigned network policy can interfere with outgoing traffic. As an example, a policy like | ||
>`cf delete-route app.cloud.gov --hostname tdp-frontend-staging` | ||
Add route: | ||
|
||
>`cf map-route {nginx_instance} apps.internal --hostname {nginx_instance}` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
version: 1 | ||
applications: | ||
- name: tdp-clamav-nginx | ||
buildpacks: | ||
- https://github.com/cloudfoundry/nginx-buildpack.git#v1.2.6 | ||
memory: 32M | ||
instances: 1 | ||
disk_quota: 64M | ||
timeout: 180 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
events { worker_connections 1024; | ||
} | ||
|
||
# This opens a route to clamav prod | ||
http{ | ||
server { | ||
listen {{port}}; | ||
location /scan { | ||
proxy_pass http://tanf-prod-clamav-rest.apps.internal:9000/scan; | ||
proxy_pass_request_headers on; | ||
} | ||
} | ||
server { | ||
listen 9000; | ||
location /scan { | ||
proxy_pass http://tanf-prod-clamav-rest.apps.internal:9000/scan; | ||
proxy_pass_request_headers on; | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters