software.cfg 6.28 KB
Newer Older
1
[buildout]
2 3 4 5 6 7 8 9 10 11 12
extends =
  buildout.hash.cfg
  ../../stack/slapos.cfg
  ../../component/dash/buildout.cfg
  ../../component/gzip/buildout.cfg
  ../../component/logrotate/buildout.cfg
  ../../component/trafficserver/buildout.cfg
  ../../component/xz-utils/buildout.cfg
  ../../component/rsyslogd/buildout.cfg
  ../../component/haproxy/buildout.cfg
  ../../component/nginx/buildout.cfg
13
  ../../component/findutils/buildout.cfg
14 15 16 17 18 19

  ../../stack/caucase/buildout.cfg

parts +=
  caucase-eggs
  template
20
  software-install
21 22 23 24 25 26 27 28
  kedifa

[kedifa]
recipe = zc.recipe.egg
eggs =
  ${python-cryptography:egg}
  kedifa

29
[software-setup]
30 31 32
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/setup.py

33
[software-py]
34
recipe = slapos.recipe.build:download
35
url = ${:_profile_base_location_}/software.py
36

37
[software-prepare]
38 39 40 41 42 43 44
recipe = plone.recipe.command
stop-on-error = True
location = ${buildout:parts-directory}/${:_buildout_section_name_}
update-command = ${:command}
command =
  rm -fr ${:location} &&
  mkdir -p ${:location} &&
45 46
  cp ${software-setup:target} ${:location}/ &&
  cp ${software-py:target} ${:location}/
47

48
[software-develop]
49
recipe = zc.recipe.egg:develop
50
setup = ${software-prepare:location}
51

52 53
[software-install]
depends = ${software-develop:recipe}
54 55
recipe = zc.recipe.egg
eggs =
56
  software
57

58
[profile-common]
59
recipe = slapos.recipe.template:jinja2
60 61
url = ${:_profile_base_location_}/instance-common.cfg.in
output = ${buildout:directory}/instance-common.cfg
62 63 64 65
context =
  key develop_eggs_directory buildout:develop-eggs-directory
  key eggs_directory buildout:eggs-directory

66
[software-parameter-section]
67 68 69 70
# libraries
caucase_jinja2_library = ${caucase-jinja2-library:target}

# profiles
71 72
profile_frontend = ${profile-frontend:target}
profile_master = ${profile-master:target}
73
profile_common = ${profile-common:output}
74
profile_kedifa = ${profile-kedifa:target}
75
profile_logrotate_base = ${template-logrotate-base:output}
76
profile_monitor = ${monitor-template:output}
77
profile_monitor2 = ${monitor2-template:output}
78
profile_master_publish_slave_information = ${profile-master-publish-slave-information:target}
79
profile_slave_list = ${profile-slave-list:target}
80 81 82 83

# templates
template_backend_haproxy_configuration = ${template-backend-haproxy-configuration:target}
template_backend_haproxy_rsyslogd_conf = ${template-backend-haproxy-rsyslogd-conf:target}
84 85 86
template_frontend_haproxy_configuration = ${template-frontend-haproxy-configuration:target}
template_frontend_haproxy_crt_list = ${template-frontend-haproxy-crt-list:target}
template_frontend_haproxy_rsyslogd_conf = ${template-frontend-haproxy-rsyslogd-conf:target}
87
template_lazy_script_call = ${template-lazy-script-call:target}
88 89 90 91 92 93 94 95 96 97 98
template_configuration_state_script = ${template-configuration-state-script:target}
template_empty = ${template-empty:target}
template_graceful_script = ${template-graceful-script:target}
template_not_found_html = ${template-not-found-html:target}
template_rotate_script = ${template-rotate-script:target}
template_slave_introspection_httpd_nginx = ${template-slave-introspection-httpd-nginx:target}
template_trafficserver_logging_yaml = ${template-trafficserver-logging-yaml:target}
template_trafficserver_records_config = ${template-trafficserver-records-config:target}
template_trafficserver_storage_config = ${template-trafficserver-storage-config:target}
template_validate_script = ${template-validate-script:target}
template_wrapper = ${template-wrapper:output}
99
template_expose_csr_nginx_conf = ${template-expose-csr-nginx-conf:target}
100

101
# directories
102 103
bin_directory = ${buildout:bin-directory}

104
# files
105 106 107
nginx = ${nginx-output:nginx}
nginx_mime = ${nginx-output:mime}
haproxy_executable = ${haproxy:location}/sbin/haproxy
108
haproxy_quic_executable = ${haproxy-quic:location}/sbin/haproxy
109
rsyslogd_executable = ${rsyslogd:location}/sbin/rsyslogd
110
curl = ${curl-http3:location}
111 112 113 114 115 116 117 118 119 120 121 122
dash = ${dash:location}
gzip = ${gzip:location}
logrotate = ${logrotate:location}
openssl = ${openssl:location}/bin/openssl
openssl_cnf = ${openssl:location}/etc/ssl/openssl.cnf
trafficserver = ${trafficserver:location}
sha256sum = ${coreutils:location}/bin/sha256sum
kedifa = ${:bin_directory}/kedifa
kedifa-updater = ${:bin_directory}/kedifa-updater
kedifa-csr = ${:bin_directory}/kedifa-csr
xz_location = ${xz-utils:location}
htpasswd = ${:bin_directory}/htpasswd
123
smart_caucase_signer = ${:bin_directory}/smart-caucase-signer
124
caucase_csr_sign_check = ${:bin_directory}/caucase-csr-sign-check
125
findutils = ${findutils:location}
126 127 128

[template]
recipe = slapos.recipe.template:jinja2
129 130
url = ${:_profile_base_location_}/instance.cfg.in
output = ${buildout:directory}/template.cfg
131
context =
132
  section software_parameter_dict software-parameter-section
133

134
[download-profile]
135
recipe = slapos.recipe.build:download
136 137
url = ${:_profile_base_location_}/${:filename}

138
[profile-frontend]
139
<= download-profile
140

141
[profile-master]
142
<= download-profile
143

144
[profile-kedifa]
145
<= download-profile
146

147 148 149 150 151 152
[profile-slave-list]
<= download-profile

[profile-master-publish-slave-information]
<= download-profile

153 154 155 156
[download-template]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/${:_update_hash_filename_}

157
[template-frontend-haproxy-configuration]
158 159
<=download-template

160
[template-frontend-haproxy-crt-list]
161 162
<=download-template

163
[template-not-found-html]
164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
<=download-template

[template-backend-haproxy-configuration]
<=download-template

[template-empty]
<=download-template

[template-slave-introspection-httpd-nginx]
<=download-template

[template-wrapper]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/templates/wrapper.in
output = ${buildout:directory}/template-wrapper.cfg

[template-trafficserver-records-config]
<=download-template

[template-trafficserver-storage-config]
<=download-template

[template-trafficserver-logging-yaml]
<=download-template

[template-rotate-script]
<=download-template

192
[template-lazy-script-call]
193 194 195 196 197 198 199 200 201 202 203 204 205
<=download-template

[template-graceful-script]
<=download-template

[template-validate-script]
<=download-template

[template-configuration-state-script]
<=download-template

[template-backend-haproxy-rsyslogd-conf]
<=download-template
206

207 208 209
[template-expose-csr-nginx-conf]
<=download-template

210 211 212
[template-frontend-haproxy-rsyslogd-conf]
<=download-template

213
[versions]
214
kedifa = 0.0.7
215 216
# Modern KeDiFa requires zc.lockfile
zc.lockfile = 1.4
217

218
python2-secrets = 1.0.5
219
validators = 0.12.2
220 221
ecdsa = 0.13

222 223
furl = 2.1.0
orderedmultidict = 1.0.1