1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
options:
port:
type: int
default: 3128
description: Squid listening port.
log_format:
type: string
default: '%>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh'
description: Format of the squid log.
cache_mem_mb:
type: int
default: 256
description: Maximum size of in-memory object cache (MB). Should be smaller than cache_size_mb.
cache_size_mb:
type: int
default: 512
description: Maximum size of the on-disk object cache (MB).
cache_dir:
type: string
default: '/var/spool/squid3'
description: The top-level directory where cache swap files will be stored.
target_objs_per_dir:
type: int
default: 400
description: Target number of objects to store in L2 directories.
auth_params:
type: string
default: ''
description: >
YAML-formatted list of authentication parameters.
'scheme' is required.
'children' can be a dict with additional params, or an int,
For example:
'[{"scheme": "basic", "program": "path_to_basic_helper",
"children": {"number": 0, "startup": 0, "idle": 1},
"realm": "Squid proxy-caching web server"},
{"scheme": "digest", "program": "path_to_digest_helper",
"children": 2, "nonce_max_duration": 5, "utf8": "on"}}]'
NOTE: you can use the following oneliner to verify your YAML string:
python -c 'import yaml;import sys;print yaml.dump(yaml.load(sys.argv[1]))' '<string>'
See http://www.squid-cache.org/Doc/config/auth_param/ for scheme specific parameters.
avg_obj_size_kb:
type: int
default: 16
description: Estimated average size of a cached object.
max_obj_size_kb:
type: int
default: 8192
description: Maximum size of an object to be cached (KB).
snmp_community:
type: string
default: ''
description: SNMP community string for monitoring the service.
snmp_allowed_ips:
# would like to use "regex" here, but it doesn't appear to work
type: string
default: ''
description: Single, or json-formatted list of, IP (with optional subnet mask) allowed to query SNMP.
# validator: '[0-9a-zA-z]{6,32}'
wait_for_auth_helper:
type: boolean
default: false
description: >
If True, squid will not be started until an squid-auth-helper relation is joined. This is needed as
Squid will fail to start if a defined auth_helper program is not available.
nagios_context:
default: "juju"
type: string
description: >
Used by the nrpe-external-master subordinate charm.
A string that will be prepended to instance name to set the host name
in nagios. So for instance the hostname would be something like:
juju-postgresql-0
If you're running multiple environments with the same services in them
this allows you to differentiate between them.
nagios_check_url:
default: "http://www.ubuntu.com"
type: string
description: >
The URL to check squid has access to
nagios_service_type:
default: "generic"
type: string
description: >
What service this component forms part of e.g. productsearch, uccs etc. Used
by nrpe
refresh_patterns:
type: string
default: ''
description: >
YAML-formatted list of refresh patterns. For example:
'{"http://www.ubuntu.com": {min: 0, percent: 20, max: 60}, "http://www.canonical.com": {min: 0, percent: 20, max: 120}}'
NOTE: you can use the following oneliner to verify your YAML string:
python -c 'import yaml;import sys;print yaml.dump(yaml.load(sys.argv[1]))' '<string>'
auth_list:
type: string
default: ''
description: >
YAML-formatted list of squid auth dictionaries. For example:
'[{dstdomain: [www.ubuntu.com], src: [1.2.3.4, 5.6.7.0/24]}, {"!port": [80], http_access: deny}, {url_regex: ["https?://[^/]+[.]internal(/.*)?"], src: [192.168.0.0/16]}]'
NOTE: you can use the following oneliner to verify your YAML string:
python -c 'import yaml;import sys;print yaml.dump(yaml.load(sys.argv[1]))' '<string>'
|