Name Date Size #Lines LOC

..21-Feb-2019-

.vscode/H18-May-2019-

build/H17-Jul-2019-

ci/H14-Jun-2019-

configs/H18-Jun-2019-

contrib/H30-Apr-2019-

doc/H14-Jun-2019-

example/H13-Jul-2019-

include/H12-Sep-2018-

iocore/H11-Apr-2018-

lib/H14-Jun-2019-

mgmt/H17-Jul-2019-

plugins/HToday-

proxy/H18-Jul-2019-

rc/H10-Oct-2018-

src/H18-Mar-2019-

tests/H21-Jun-2019-

tools/H25-Jun-2019-

.clang-analyzerH A D25-Oct-20181.1 KiB254

.clang-formatH A D10-Oct-20183.2 KiB118116

.clang-tidyH A D27-Mar-2019443 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 D14-Jun-20194.2 KiB129112

CONTRIBUTING.mdH A D17-Feb-20173.4 KiB9362

CRUFT.txtH A D30-Jan-20171.4 KiB4531

INSTALLH A D10-May-20172.1 KiB7748

LAYOUTH A D30-Jan-2017688 3330

LICENSEH A D10-Oct-201827.7 KiB554464

Makefile.amH A D09-Mar-20196.4 KiB179105

NOTICEH A D14-Sep-20182.4 KiB10566

READMEH A D14-Jun-20199.4 KiB249211

README-EC2H A D30-Jan-20175.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 D13-Jul-201963.6 KiB2,1091,853

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

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    http://trafficserver.apache.org/
132
1334.5 Will these AMIs be updated in the future?
134  Absolutely!
135