diff --git a/infrastructure/cdn-in-a-box/traffic_ops/to-access.sh b/infrastructure/cdn-in-a-box/traffic_ops/to-access.sh index ac90c54440..f86d11f920 100755 --- a/infrastructure/cdn-in-a-box/traffic_ops/to-access.sh +++ b/infrastructure/cdn-in-a-box/traffic_ops/to-access.sh @@ -194,6 +194,7 @@ to-enroll() { MY_IP6_ADDRESS="${MY_IP6_ADDRESS}/64" fi export MY_IP6_GATEWAY="$(route -n6 | grep UG | awk '{print $2}')" + local cacheType="${CACHE_SERVER_TYPE:-ATS}" case "$serverType" in "db" ) @@ -213,12 +214,12 @@ to-enroll() { ;; "edge" ) export MY_TYPE="EDGE" - export MY_PROFILE="EDGE_TIER_ATS_CACHE" + export MY_PROFILE="EDGE_TIER_${cacheType}_CACHE" export MY_STATUS="REPORTED" ;; "mid" ) export MY_TYPE="MID" - export MY_PROFILE="MID_TIER_ATS_CACHE" + export MY_PROFILE="MID_TIER_${cacheType}_CACHE" export MY_STATUS="REPORTED" ;; "origin" ) diff --git a/infrastructure/cdn-in-a-box/traffic_ops_data/profiles/011-VARNISH_EDGE_TIER_CACHE.json b/infrastructure/cdn-in-a-box/traffic_ops_data/profiles/011-VARNISH_EDGE_TIER_CACHE.json new file mode 100644 index 0000000000..16fb280843 --- /dev/null +++ b/infrastructure/cdn-in-a-box/traffic_ops_data/profiles/011-VARNISH_EDGE_TIER_CACHE.json @@ -0,0 +1,419 @@ +{ + "cdnName": "$CDN_NAME", + "description": "Edge Cache - Varnish", + "name": "EDGE_TIER_VARNISH_CACHE", + "routingDisabled": false, + "type": "ATS_PROFILE", + "params": [ + { + "configFile": "records.config", + "name": "CONFIG proxy.config.proxy_name", + "secure": false, + "value": "STRING __HOSTNAME__" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.config_dir", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.admin.user_id", + "secure": false, + "value": "STRING ats" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.server_ports", + "secure": false, + "value": "STRING 80 80:ipv6 443:proto=http:ssl 443:ipv6:proto=http:ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.insert_response_via_str", + "secure": false, + "value": "INT 3" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.parent_proxy_routing_enable", + "secure": false, + "value": "INT 1" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.parent_proxy.retry_time", + "secure": false, + "value": "INT 60" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.connect_attempts_timeout", + "secure": false, + "value": "INT 10" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.cache.required_headers", + "secure": false, + "value": "INT 0" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.enable_http_stats", + "secure": false, + "value": "INT 1" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.dns.round_robin_nameservers", + "secure": false, + "value": "INT 0" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.log.max_space_mb_for_logs", + "secure": false, + "value": "INT 512" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.log.max_space_mb_headroom", + "secure": false, + "value": "INT 50" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.log.logfile_dir", + "secure": false, + "value": "(unchanged)" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.reverse_proxy.enabled", + "secure": false, + "value": "INT 1" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.diags.debug.enabled", + "secure": false, + "value": "INT 1" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.slow.log.threshold", + "secure": false, + "value": "INT 10000" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.output.logfile.rolling_enabled", + "secure": false, + "value": "INT 2" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.output.logfile.rolling_size_mb", + "secure": false, + "value": "INT 500" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.output.logfile.rolling_min_count", + "secure": false, + "value": "INT 2" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.url_remap.remap_required", + "secure": false, + "value": "INT 0" + }, + { + "configFile": "rascal.properties", + "name": "health.threshold.loadavg", + "secure": false, + "value": "25.0" + }, + { + "configFile": "rascal.properties", + "name": "health.threshold.availableBandwidthInKbps", + "secure": false, + "value": ">1750000" + }, + { + "configFile": "rascal.properties", + "name": "history.count", + "secure": false, + "value": "30" + }, + { + "configFile": "rascal.properties", + "name": "health.threshold.queryTime", + "secure": false, + "value": "1000" + }, + { + "configFile": "rascal.properties", + "name": "health.polling.url", + "secure": false, + "value": "http://${hostname}/_astats?application=&inf.name=${interface_name}" + }, + { + "configFile": "storage.config", + "name": "Disk_Volume", + "secure": false, + "value": "1" + }, + { + "configFile": "rascal.properties", + "name": "health.connection.timeout", + "secure": false, + "value": "2000" + }, + { + "configFile": "plugin.config", + "name": "regex_revalidate.so", + "secure": false, + "value": "--config regex_revalidate.config" + }, + { + "configFile": "regex_revalidate.config", + "name": "location", + "secure": false, + "value": "/opt/trafficserver/etc/trafficserver" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.exec_thread.autoconfig", + "secure": false, + "value": "INT 0" + }, + { + "configFile": "plugin.config", + "name": "astats_over_http.so", + "secure": false, + "value": "" + }, + { + "configFile": "astats.config", + "name": "allow_ip", + "secure": false, + "value": "127.0.0.1,10.0.0.0/8,192.168.0.0/16" + }, + { + "configFile": "astats.config", + "name": "allow_ip6", + "secure": false, + "value": "::1/128" + }, + { + "configFile": "astats.config", + "name": "location", + "secure": false, + "value": "/opt/trafficserver/etc/trafficserver" + }, + { + "configFile": "astats.config", + "name": "path", + "secure": false, + "value": "_astats" + }, + { + "configFile": "astats.config", + "name": "record_types", + "secure": false, + "value": "122" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.transaction_active_timeout_in", + "secure": false, + "value": "INT 0" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.body_factory.template_sets_dir", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/body_factory" + }, + { + "configFile": "storage.config", + "name": "Drive_Letters", + "secure": false, + "value": "cache" + }, + { + "configFile": "ip_allow.config", + "name": "location", + "secure": false, + "value": "/opt/trafficserver/etc/trafficserver" + }, + { + "configFile": "storage.config", + "name": "Drive_Prefix", + "secure": false, + "value": "/var/trafficserver/" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.CA.cert.path", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.client.CA.cert.path", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.client.cert.path", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.client.private_key.path", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.ocsp.enabled", + "secure": false, + "value": "INT 1" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.server.cert.path", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.server.private_key.path", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.server.ticket_key.filename", + "secure": false, + "value": "STRING NULL" + }, + { + "configFile": "set_dscp_0.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_10.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_12.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_14.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_18.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_20.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_22.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_26.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_28.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_30.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_34.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_36.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_38.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_8.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_16.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_24.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_32.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_40.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_48.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_56.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_37.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "ssl_multicert.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver" + } + ] +} diff --git a/infrastructure/cdn-in-a-box/traffic_ops_data/profiles/021-VARNISH_MID_TIER_CACHE.json b/infrastructure/cdn-in-a-box/traffic_ops_data/profiles/021-VARNISH_MID_TIER_CACHE.json new file mode 100644 index 0000000000..35d7051d82 --- /dev/null +++ b/infrastructure/cdn-in-a-box/traffic_ops_data/profiles/021-VARNISH_MID_TIER_CACHE.json @@ -0,0 +1,419 @@ +{ + "cdnName": "$CDN_NAME", + "description": "Mid Cache - Varnish", + "name": "MID_TIER_VARNISH_CACHE", + "routingDisabled": false, + "type": "ATS_PROFILE", + "params": [ + { + "configFile": "records.config", + "name": "CONFIG proxy.config.proxy_name", + "secure": false, + "value": "STRING __HOSTNAME__" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.config_dir", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.admin.user_id", + "secure": false, + "value": "STRING ats" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.server_ports", + "secure": false, + "value": "STRING 80 80:ipv6 443:proto=http:ssl 443:ipv6:proto=http:ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.insert_response_via_str", + "secure": false, + "value": "INT 3" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.parent_proxy_routing_enable", + "secure": false, + "value": "INT 1" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.parent_proxy.retry_time", + "secure": false, + "value": "INT 60" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.connect_attempts_timeout", + "secure": false, + "value": "INT 10" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.cache.required_headers", + "secure": false, + "value": "INT 0" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.enable_http_stats", + "secure": false, + "value": "INT 1" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.dns.round_robin_nameservers", + "secure": false, + "value": "INT 0" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.log.max_space_mb_for_logs", + "secure": false, + "value": "INT 512" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.log.max_space_mb_headroom", + "secure": false, + "value": "INT 50" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.log.logfile_dir", + "secure": false, + "value": "(unchanged)" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.reverse_proxy.enabled", + "secure": false, + "value": "INT 0" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.diags.debug.enabled", + "secure": false, + "value": "INT 1" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.slow.log.threshold", + "secure": false, + "value": "INT 10000" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.output.logfile.rolling_enabled", + "secure": false, + "value": "INT 2" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.output.logfile.rolling_size_mb", + "secure": false, + "value": "INT 500" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.output.logfile.rolling_min_count", + "secure": false, + "value": "INT 2" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.url_remap.remap_required", + "secure": false, + "value": "INT 0" + }, + { + "configFile": "rascal.properties", + "name": "health.threshold.loadavg", + "secure": false, + "value": "25.0" + }, + { + "configFile": "rascal.properties", + "name": "health.threshold.availableBandwidthInKbps", + "secure": false, + "value": ">1750000" + }, + { + "configFile": "rascal.properties", + "name": "history.count", + "secure": false, + "value": "30" + }, + { + "configFile": "rascal.properties", + "name": "health.threshold.queryTime", + "secure": false, + "value": "1000" + }, + { + "configFile": "rascal.properties", + "name": "health.polling.url", + "secure": false, + "value": "http://${hostname}/_astats?application=&inf.name=${interface_name}" + }, + { + "configFile": "storage.config", + "name": "Disk_Volume", + "secure": false, + "value": "1" + }, + { + "configFile": "rascal.properties", + "name": "health.connection.timeout", + "secure": false, + "value": "2000" + }, + { + "configFile": "plugin.config", + "name": "regex_revalidate.so", + "secure": false, + "value": "--config regex_revalidate.config" + }, + { + "configFile": "regex_revalidate.config", + "name": "location", + "secure": false, + "value": "/opt/trafficserver/etc/trafficserver" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.exec_thread.autoconfig", + "secure": false, + "value": "INT 0" + }, + { + "configFile": "plugin.config", + "name": "astats_over_http.so", + "secure": false, + "value": "" + }, + { + "configFile": "astats.config", + "name": "allow_ip", + "secure": false, + "value": "127.0.0.1,10.0.0.0/8,192.168.0.0/16" + }, + { + "configFile": "astats.config", + "name": "allow_ip6", + "secure": false, + "value": "::1/128" + }, + { + "configFile": "astats.config", + "name": "location", + "secure": false, + "value": "/opt/trafficserver/etc/trafficserver" + }, + { + "configFile": "astats.config", + "name": "path", + "secure": false, + "value": "_astats" + }, + { + "configFile": "astats.config", + "name": "record_types", + "secure": false, + "value": "122" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.http.transaction_active_timeout_in", + "secure": false, + "value": "INT 0" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.body_factory.template_sets_dir", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/body_factory" + }, + { + "configFile": "storage.config", + "name": "Drive_Letters", + "secure": false, + "value": "cache" + }, + { + "configFile": "ip_allow.config", + "name": "location", + "secure": false, + "value": "/opt/trafficserver/etc/trafficserver" + }, + { + "configFile": "storage.config", + "name": "Drive_Prefix", + "secure": false, + "value": "/var/trafficserver/" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.CA.cert.path", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.client.CA.cert.path", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.client.cert.path", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.client.private_key.path", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.ocsp.enabled", + "secure": false, + "value": "INT 1" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.server.cert.path", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.server.private_key.path", + "secure": false, + "value": "STRING /opt/trafficserver/etc/trafficserver/ssl" + }, + { + "configFile": "records.config", + "name": "CONFIG proxy.config.ssl.server.ticket_key.filename", + "secure": false, + "value": "STRING NULL" + }, + { + "configFile": "set_dscp_0.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_10.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_12.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_14.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_18.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_20.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_22.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_26.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_28.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_30.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_34.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_36.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_38.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_8.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_16.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_24.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_32.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_40.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_48.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_56.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "set_dscp_37.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver/dscp" + }, + { + "configFile": "ssl_multicert.config", + "name": "location", + "value": "/opt/trafficserver/etc/trafficserver" + } + ] +} diff --git a/infrastructure/cdn-in-a-box/varnish/Dockerfile b/infrastructure/cdn-in-a-box/varnish/Dockerfile index c31e54c47b..a67e1724b3 100644 --- a/infrastructure/cdn-in-a-box/varnish/Dockerfile +++ b/infrastructure/cdn-in-a-box/varnish/Dockerfile @@ -49,7 +49,7 @@ RUN rpm -Uvh /$(basename $ORT_RPM) &&\ COPY infrastructure/cdn-in-a-box/varnish/traffic_ops_ort.crontab /etc/cron.d/traffic_ops_ort-cron-template - +ENV CACHE_SERVER_TYPE=VARNISH CMD /run.sh FROM common-varnish-cache-config-layers AS mid