Name Date Size #Lines LOC

..21-Feb-2019-

.vscode/H18-May-2019-

build/H09-Nov-2019-

ci/H05-Aug-2019-

configs/HToday-

contrib/H30-Apr-2019-

doc/H18-Nov-2019-

example/H13-Jul-2019-

include/H12-Sep-2018-

iocore/H11-Apr-2018-

lib/H14-Jun-2019-

mgmt/H20-Nov-2019-

plugins/H08-Nov-2019-

proxy/H20-Nov-2019-

rc/H07-Sep-2019-

src/H01-Aug-2019-

tests/HToday-

tools/H18-Nov-2019-

.clang-analyzerH A D25-Oct-20181.1 KiB254

.clang-formatH A D06-Nov-20193.6 KiB130128

.clang-tidyH A D20-Aug-2019544 65

.editorconfigH A D18-May-20181.4 KiB5248

.perltidyrcH A D09-Mar-2019483 1514

.ripgreprcH A D19-Jan-201962 65

.vimrcH A D15-Jun-2017192 87

CMakeLists.txtH A D05-Aug-20194.2 KiB130113

CONTRIBUTING.mdH A D25-Oct-20193.4 KiB9362

CRUFT.txtH A D30-Jan-20171.4 KiB4531

INSTALLH A D25-Oct-20192.1 KiB7748

LAYOUTH A D30-Jan-2017688 3330

LICENSEH A D10-Oct-201827.7 KiB554464

Makefile.amH A D18-Nov-20196.5 KiB181107

NOTICEH A D22-Jul-20192.2 KiB10063

READMEH A D25-Oct-20199.5 KiB251213

README-EC2H A D12-Aug-20195.1 KiB135109

REVIEWERSH A D30-Apr-20193 KiB116110

STATUSH A D12-Mar-20193.4 KiB9671

VagrantfileH A D30-Jan-20172.7 KiB10192

config.layoutH A D02-Jun-20189.1 KiB280265

configure.acH A D18-Nov-201968.7 KiB2,2481,985

emacs-styleH A D30-Jan-20171.3 KiB3231

setup.cfgH A D16-Jun-2017827 1917

README

1Apache Traffic Server
2
3Traffic Server is a high-performance building block for cloud services.
4It's more than just a caching proxy server; it also has support for
5plugins to build large scale web applications.
6
71. DIRECTORY STRUCTURE
8
9  trafficserver/ ............ Top src dir
10  |-- build/ ................ Custom macros for configure.ac
11  |-- ci/ ................... Quality assurance and other CI tools and configs
12  |-- configs/ .............. Configurations
13  |-- contrib/ .............. Various contributed auxiliary pieces
14  |-- doc/ .................. Documentation for Traffic Server
15      |-- admin-guide/ ...... Admin guide documentations
16      |-- appendices/ ....... Appendices of Traffic Server
17      |-- developer-guide/ .. Documentation for developers
18      |-- dot/ .............. Graphviz source files for docs pictures
19      |-- static/ ........... Static resources
20      |-- uml/ .............. Documentation in UML
21  |-- example/ .............. Example plugins
22  |-- iocore/ ...............
23      |-- aio/ .............. Asynchronous I/O core
24      |-- cache/ ............ Disk and RAM cache
25      |-- dns/ .............. DNS (asynchronous)
26      |-- eventsystem/ ...... Event Driven Engine
27      |-- hostdb/ ........... Internal DNS cache
28      |-- net/ .............. Network
29          |-- quic/ ......... QUIC implementation
30      |-- utils/ ............ Utilities
31  |-- lib/ ..................
32      |-- perl/ ............. Perl libraries for e.g. mgmt access and configurations
33      |-- records/ .......... Library for config files
34      |-- yamlcpp/ .......... Library for YAML of C++
35  |-- mgmt/ ................. Management server and tools
36  |-- plugins/ .............. Stable core plugins
37      |-- experimental/ ..... Experimental core plugins
38  |-- proxy/ ................ HTTP proxy logic
39      |-- hdrs/ ............. Headers parsing and management
40      |-- http/ ............. The actual HTTP protocol implementation
41      |---http2/ ............ HTTP/2 implementation
42      |---http3/ ............ HTTP/3 implementation
43      |-- logging/ .......... Flexible logging
44      |-- shared/ ........... Shared files
45  |-- rc/ ................... Installation programs and scripts
46  |-- src/ .................. Source for all the main binaries / applications
47      |-- traffic_cache_tool/ Tool to interact with the Traffic Server cache
48      |-- traffic_crashlog/ . Helper process that catches Traffic Server crashes
49      |-- traffic_ctl/ ...... Command line management tool
50      |-- traffic_layout/ ... Display information on the build and runtime directory structure
51      |-- traffic_logcat/ ... Convert binary log file to plain text
52      |-- traffic_logstats/ . Log parsing and metrics calculation utility
53      |-- traffic_manager/ .. The manager process for Traffic Server
54      |-- traffic_server/ ... Main proxy server
55      |-- traffic_top/ ...... Top like tool for viewing Traffic Server statistics
56      |-- traffic_via/ ...... Tool for decoding the Traffic Server Via header codes
57      |-- traffic_wccp/ ..... Program speaking the client side of the WCCP
58      |-- tscore/ ........... Base / core library
59      |-- tscpp/ ............ C++ api wrapper for plugin developers
60      |-- wccp/ ............. WCCP implementation
61  |-- tests/ ................ Different tests for Traffic Server
62  |-- tools/ ................ Directory of various tools
63  |-- INSTALL ............... Build and installation guide
64  |-- LAYOUT ................ Traffic Server default layout
65  |-- LICENSE ............... Full license text
66  |-- NOTICE ................ Copyright notices
67  |-- README ................ Intro, links, build info
68  |-- README-EC2 ............ Info on EC2 support
69  |-- REVIEWERS ............. (Incomplete) list of areas with committer interest
70  `-- STATUS ................ Release history and information
71
722. REQUIREMENTS
73
74  This section outlines build requirements for different OS
75  distributions. This may be out of date compared to the on-line
76  requirements at
77
78  <https://cwiki.apache.org/confluence/display/TS/Building>.
79
80  As of ATS v7.0.0 and later, gcc 4.8.1 or later is required, since we now use
81  and require the C++11 standard.
82
83  Fedora / CentOS / RHEL:
84    autoconf
85    automake
86    libtool
87    pkgconfig
88    perl-ExtUtils-MakeMaker
89    gcc/g++ or clang/clang++
90    openssl-devel
91    pcre-devel
92    ncurses-devel and libcurl-devel(optional, needed for traffic_top)
93    libcap-devel (optional, highly recommended)
94    hwloc-devel (optional, highly recommended)
95    flex (optional, needed for e.g. WCCP)
96
97  Ubuntu / Debian
98    autoconf
99    automake
100    libtool
101    pkg-config
102    libmodule-install-perl
103    gcc/g++ or clang/clang++
104    libssl-dev
105    libpcre3-dev
106    libcap-dev (optional, highly recommended)
107    libhwloc-dev (optional, highly recommended)
108    libncurses5-dev (optional, required for e.g.: traffic_top)
109    libcurl4-openssl-dev (optional, required for e.g.: traffic_top)
110    flex (optional, required for e.g. WCCP)
111
112  Alpine Linux
113    build-base
114    libexecinfo-dev
115    pcre-dev
116    libressl-dev
117    autoconf
118    automake
119    libtool
120    linux-headers
121
122  macOS (we recommend HomeBrew):
123    autoconf
124    automake
125    pkg-config
126    libtool
127    openssl
128    pcre
129
130  FreeBSD
131    devel/gmake
132    devel/autoconf
133    devel/automake
134    devel/pkgconf
135    devel/libtool
136    security/openssl
137    devel/pcre
138    textproc/flex (optional, install newer version from ports, fix PATH)
139    devel/hwloc (optional, highly recommended)
140
141  OmniOS:
142    developer/gcc46
143    developer/build/gnu-make
144    developer/build/autoconf
145    developer/build/automake-111
146    developer/build/libtool
147    library/security/openssl
148    library/pcre
149
1503. Building from distribution
151
152You can download the latest source code from the official Apache Traffic
153Server site:
154
155       https://trafficserver.apache.org/downloads
156
157(or via the URL shortener: http://s.apache.org/uG). Once downloaded,
158follow the instructions:
159
160   tar xf trafficserver-2.1.8-unstable.tar.bz2
161   cd trafficserver-2.1.8-unstable
162  ./configure            # configure the build environment to create Makefiles
163  make                   # execute the compile
164
165This will build with a destination prefix of /usr/local. You can finish
166the installation with
167
168  sudo make install
169
1704. BUILDING FROM GIT REPO
171
172  mkdir -p ~/dev         # make yourself a development dir
173  cd ~/dev               # enter your development dir
174  git clone ...          # get the source code from ASF Git repository
175  cd trafficserver       # enter the checkout directory
176  autoreconf -if         # generate the configure script and Makefile.in files
177  ./configure            # configure the build environment to create Makefiles
178  make                   # execute the compile
179
1804b. Instructions for building on EC2
181    NOTE: Alternately you may use the scripts under 'contrib' which will
182          automate the install for trafficserver under EC2 which is
183          HIGHLY RECOMMENDED. See 'README-EC2' for further details.
184
185   # As root do the following when using Ubuntu
186   mkdir -p /mnt          #EC2 Storage Mount, where storage is located
187   cd /mnt
188   git clone ...          # get the source code from ASF Git repo
189   cd trafficserver       # enter the checkout dir
190   autoreconf -i --force  # generate the configure script and Makefile.in files
191   ./configure
192   make
193
194   # As root do the following when using Fedora Core 8 kernel
195   mkdir -p /mnt          #EC2 Storage Mount, where storage is located
196   cd /mnt
197   git clone ...          # get the source code from ASF Git repo
198   cd trafficserver       # enter the checkout dir
199   autoreconf -i --force  # generate the configure script and Makefile.in files
200   ./configure --disable-eventfd
201   make
202
2034c. Instructions for building on FreeBSD
204
205   The only difference is how to run configure and make:
206
207   MAKE=gmake ./configure # make sure that gmake is the make we use
208   gmake
209
2105. INSTALLATION
211
212  DEFAULT DIR                        CONTENTS
213  /usr/local/var/log/trafficserver   log files created at runtime
214  /usr/local/var/trafficserver       runtime files
215  /usr/local/etc/trafficserver       configuration files
216  /usr/local/bin                     executable binaries
217  /usr/local/libexec/trafficserver   plugins
218
2196. CRYPTO NOTICE
220
221  This distribution includes cryptographic software.  The country in
222  which you currently reside may have restrictions on the import,
223  possession, use, and/or re-export to another country, of
224  encryption software.  BEFORE using any encryption software, please
225  check your country's laws, regulations and policies concerning the
226  import, possession, or use, and re-export of encryption software, to
227  see if this is permitted.  See <http://www.wassenaar.org/> for more
228  information.
229
230  The U.S. Government Department of Commerce, Bureau of Industry and
231  Security (BIS), has classified this software as Export Commodity
232  Control Number (ECCN) 5D002.C.1, which includes information security
233  software using or performing cryptographic functions with asymmetric
234  algorithms.  The form and manner of this Apache Software Foundation
235  distribution makes it eligible for export under the License Exception
236  ENC Technology Software Unrestricted (TSU) exception (see the BIS
237  Export Administration Regulations, Section 740.13) for both object
238  code and source code.
239
240  The following provides more details on the included cryptographic
241  software:
242
243    The functionality of OpenSSL <http://www.openssl.org/> is
244    utilized in parts of the software.
245
2467. ADDITIONAL INFO
247
248  Web page: https://trafficserver.apache.org/
249  Wiki: https://cwiki.apache.org/confluence/display/TS/
250  User mailing list: users@trafficserver.apache.org
251

README-EC2

1Apache TrafficServer AMIs for EC2
2Author: Jason Giedymin
3
4--TOC--
51.0 Ubuntu Based Images
61.1 Ubuntu AMI Details
71.2 What is installed?
8
92.0 Fedora Based Images
102.1 Fedora AMI Details
112.2 What is installed?
12
133.0 The ATS Installation
143.1 Additional Update Functionality
153.2 User customized settings
163.3 Script Breakout
17
184.0 FAQ
194.1 I use EC2 and I'm still confused!?
204.2 What is EC2?
214.3 I don't use EC2 or have an AWS account, can I still use these scripts on
22    my Virtual Machine or dedicated Ubuntu/Fedora Linux Box?
234.4 How do I contact you for help?
244.5 Will these AMIs be updated in the future?
25
26-------
27
281.0 Ubuntu Based Images
29  This is the prefered image as Ubuntu is kept up to date by Canonical.
30
311.1 Ubuntu AMI Details
32  Name: Amuxbit-Karmic-ApacheTrafficServer-AMI
33  x86_64 AMI: ami-ada24cc4, kernel: aki-fd15f694, Ramdisk: ari-7b739e12
34    i386 AMI: ami-5ba34d32, kernel: aki-5f15f636, Ramdisk: ari-d5709dbc
35
361.2 What is installed?
37  All packages other than Apache TrafficServer are from the ec2 ubuntu
38  package repositories.  All software installed should be open source.
39    * Official Canonical Ubuntu Karmic 9.10 EC2 AMI
40    * Dist Upgraded as of 4/1/2010
41    * Apache TrafficServer - Trunk (can be updated at any time)
42    * openjdk-6-jre (for ec2 tools)
43    * ruby (for ec2 tools)
44    * libopenssl-ruby (for ec2 tools)
45    * Apache2 (httpd, used for testing)
46
472.0 Fedora Based Images
48
492.1 Fedora AMI Details
50  Name: Amuxbit-Fedora8-ApacheTrafficServer-AMI
51  x86_64 AMI: ami-c3a04eaa, kernel: aki-a3d737ca, Ramdisk: ari-7cb95a15
52    i386 AMI: ami-53a04e3a, kernel: aki-6eaa4907, Ramdisk: ari-42b95a2b
53
542.2 What is installed?
55  All packages other than Apache TrafficServer are from the ec2 fedora
56  package repositories.  All software installed should be open source.
57    * Official Fedora Core 8 EC2 AMI
58    * Dist Upgraded as of 4/1/2010
59    * Apache TrafficServer - Trunk (can be updated at any time)
60    * java-1.7.0-icedtea (openjdk for ec2 tools)
61    * openssl-devel (for ec2 tools)
62    * ruby (for ec2 tools)
63    * httpd (Apache web server, used for testing)
64
653.0 The ATS Installation
66  Apache Traffic Server is installed in: '/ats'.
67  The installation script used to install ATS is contained within the contrib
68  directory, part of the ATS source distribution.  The script is included
69  within the '/ats' folder for actual use.
70
713.1 Additional Update Functionality
72  The EC2 images provided contain additional scripts to maintain freshness
73  of the install scripts.  At one time the scripts provided 'auto-heal'
74  functionality but that has been removed.  Running /ats/install_update.sh
75  will keep the ATS installation up to date.
76
773.2 User customized settings
78  Any customized settings will be lost if the update/install scripts are run.
79  Upon executing the install/update scripts you may copy your files back into
80  the config directory.  Users should periodically backup your config files,
81  and keep abrest of any config changes as new versions of ATS are released.
82  The latter reason being why I did not auto-copy configs.  While I've tried
83  to lessen as much pain for any Sys Admins, ultimately you must take charge
84  of these critical settings as updates will and do happen frequently to the
85  ATS source.
86
87  An example script which alters settings can be found in
88    '/ats/contrib/set_trafficserver.sh'
89  This has been used on the AMIs already provided.
90
913.3 Script Breakout
92
93 ats
94 |-- contrib
95     | -- install_trafficserver.sh : installs ATS. Try not to run this directly.
96     | -- set_trafficserver.sh : sample config/testing/benchmark base script.
97            You may want to learn from/use this script.
98     ` -- update_scripts.sh : used to update install_trafficserver.sh,
99            and set_trafficserver.sh from trunk.
100 |-- install_update.sh : the 'easy button' script to re-install ATS.
101       Executes update_scripts.sh, then install_trafficserver.sh.
102       This is what you want to run.
103 `-- readme : extra information.
104
1054.0 FAQ
106
1074.1 I use EC2 and I'm still confused!?
108  With your EC2 account, refer to one of the AMIs listed in this doc
109  (Ubuntu/Fedora).  Image architectures provided are i386, and x86_64.
110  64bit is offered for those who need to spin up a big high powered instances.
111  Once running (and it may take a while) you will find yourself with a Linux
112  distribution with Apache Traffic Server already installed.  If you'd like
113  to re-install ATS against trunk, run '/ats/install_update.sh'.  Note that
114  you will have to backup and/or optimize your configuration (see 3.2).
115  To further setup ATS see the TrafficServer wiki @
116
117    http://cwiki.apache.org/confluence/display/TS/
118
1194.2 What is EC2?
120  See http://aws.amazon.com/
121
1224.3 I don't use EC2 or have an AWS account, can I still use these scripts on
123    my Virtual Machine or dedicated Ubuntu/Fedora Linux Box?
124  Absolutely!  The /contrib scripts are actually meant for Ubuntu/Linux
125  Installs first, EC2 second.  You can find them on the ATS SVN/Git
126  repository under '/contrib'.
127
1284.4 How do I contact you for help?
129  For mailing lists, and IRC information, visit our web page at
130
131    https://trafficserver.apache.org/
132
1334.5 Will these AMIs be updated in the future?
134  Absolutely!
135