@@ -17,11 +17,22 @@ variable "modsec2-flags" {
17
17
default = " --with-yajl --with-ssdeep --with-pcre2"
18
18
}
19
19
20
- variable "crs-version" {
20
+ variable "previous-major-crs-version" {
21
+ default = " 3.3.7"
22
+ }
23
+
24
+ variable "major-crs-version" {
21
25
# renovate: depName=coreruleset/coreruleset datasource=github-releases
22
26
default = " 4.18.0"
23
27
}
24
28
29
+ variable "crs-versions" {
30
+ default = {
31
+ " previous" = previous- major- crs- version,
32
+ " latest" = major- crs- version
33
+ }
34
+ }
35
+
25
36
variable "nginx-version" {
26
37
# renovate: depName=nginxinc/nginx-unprivileged datasource=docker
27
38
default = " 1.28.0"
@@ -115,7 +126,6 @@ target "platforms-base" {
115
126
" org.opencontainers.image.source" = " https://github.com/coreruleset/modsecurity-crs-docker"
116
127
}
117
128
args = {
118
- CRS_RELEASE = " ${ crs-version } "
119
129
MODSEC2_VERSION = " ${ modsec2-version } "
120
130
MODSEC2_FLAGS = modsec2- flags
121
131
MODSEC3_VERSION = " ${ modsec3-version } "
@@ -127,6 +137,7 @@ target "platforms-base" {
127
137
128
138
target "apache" {
129
139
matrix = {
140
+ crs_release = crs- versions
130
141
base = [
131
142
{
132
143
name = " debian"
@@ -146,21 +157,23 @@ target "apache" {
146
157
}
147
158
148
159
inherits = [" platforms-base" ]
149
- name = " apache-${ base . name } "
160
+ name = " apache-${ base . name } - ${ replace (crs_release, " . " , " - " ) } "
150
161
contexts = {
151
162
image = base.image
152
163
}
153
164
dockerfile = base. dockerfile
154
165
args = {
166
+ CRS_RELEASE = " ${ crs_release } "
155
167
LUA_MODULES = base.lua_modules
156
168
}
157
169
tags = concat (tag (base. tag_base ),
158
- vtag (" ${ crs-version } " , base. tag_base )
170
+ vtag (" ${ crs_release } " , base. tag_base )
159
171
)
160
172
}
161
173
162
174
target "nginx" {
163
175
matrix = {
176
+ crs_release = crs- versions
164
177
base = [
165
178
{
166
179
name = " debian"
@@ -175,6 +188,7 @@ target "nginx" {
175
188
image = " docker-image://nginxinc/nginx-unprivileged:${ nginx-version } -alpine"
176
189
lua_modules = join (" " , lua- modules- alpine)
177
190
tag_base = " nginx-alpine"
191
+ crs_release = crs- versions
178
192
}
179
193
],
180
194
read-only-fs = [
@@ -189,19 +203,20 @@ target "nginx" {
189
203
]
190
204
}
191
205
inherits = [" platforms-base" ]
192
- name = " nginx-${ base . name } -${ read-only-fs . name } "
206
+ name = " nginx-${ base . name } -${ read-only-fs . name } - ${ replace (crs_release, " . " , " - " ) } "
193
207
contexts = {
194
208
image = base.image
195
209
}
196
210
dockerfile = base. dockerfile
197
211
args = {
212
+ CRS_RELEASE = crs_release
198
213
NGINX_VERSION = nginx- version
199
214
LUA_MODULES = base.lua_modules
200
215
NGINX_DYNAMIC_MODULES = join (" " , [for mod in nginx-dynamic-modules : join (" " , [mod . owner , mod . name , mod . version ])])
201
216
NGINX_HOME = " /etc/nginx"
202
217
READ_ONLY_FS = read- only- fs.read- only
203
218
}
204
219
tags = concat (tag (" ${ base . tag_base } ${ equal (read- only- fs. read-only , " true" ) ? " -read-only" : " " } " ),
205
- vtag (" ${ crs-version } " , " ${ base . tag_base } ${ equal (read- only- fs. read-only , " true" ) ? " -read-only" : " " } " )
220
+ vtag (" ${ crs_release } " , " ${ base . tag_base } ${ equal (read- only- fs. read-only , " true" ) ? " -read-only" : " " } " )
206
221
)
207
222
}
0 commit comments