forked from wazuh/wazuh-docker
111 lines
4.6 KiB
HCL
111 lines
4.6 KiB
HCL
# Wazuh Docker Copyright (C) 2017, Wazuh Inc. (License GPLv2)
|
|
#
|
|
# Docker Buildx Bake file.
|
|
# Builds all Wazuh component images in parallel.
|
|
#
|
|
# Usage:
|
|
# docker buildx bake # build all (local, single-arch)
|
|
# docker buildx bake wazuh-manager # build one component
|
|
# docker buildx bake --push # push to registry after build
|
|
#
|
|
# Variables are read automatically from the environment (see build-images.sh).
|
|
|
|
# ── Global variables ──────────────────────────────────────────────────────────
|
|
|
|
variable "WAZUH_VERSION" { default = "5.0.0" }
|
|
variable "WAZUH_REGISTRY" { default = "docker.io" }
|
|
|
|
# Set IMAGE_TAG externally to override; defaults to WAZUH_VERSION.
|
|
variable "IMAGE_TAG" { default = WAZUH_VERSION }
|
|
|
|
# MULTIARCH: set to a non-empty value to build linux/amd64 + linux/arm64.
|
|
variable "MULTIARCH" { default = "" }
|
|
|
|
# Per-component tags — all default to IMAGE_TAG.
|
|
# In dev builds the shell script sets each one independently to append the
|
|
# per-component commit ref (e.g. MANAGER_TAG=5.0.0-beta1-abc1234).
|
|
variable "INDEXER_TAG" { default = IMAGE_TAG }
|
|
variable "MANAGER_TAG" { default = IMAGE_TAG }
|
|
variable "DASHBOARD_TAG" { default = IMAGE_TAG }
|
|
variable "AGENT_TAG" { default = IMAGE_TAG }
|
|
|
|
# ── Artifact URL variables ────────────────────────────────────────────────────
|
|
# Populated by build-images.sh from artifacts_env.txt (sourced into env).
|
|
|
|
variable "wazuh_indexer_x86_64_rpm" { default = "" }
|
|
variable "wazuh_indexer_aarch64_rpm" { default = "" }
|
|
variable "wazuh_manager_x86_64_rpm" { default = "" }
|
|
variable "wazuh_manager_aarch64_rpm" { default = "" }
|
|
variable "wazuh_dashboard_x86_64_rpm" { default = "" }
|
|
variable "wazuh_dashboard_aarch64_rpm" { default = "" }
|
|
variable "wazuh_agent_x86_64_rpm" { default = "" }
|
|
variable "wazuh_agent_aarch64_rpm" { default = "" }
|
|
variable "wazuh_certs_tool" { default = "" }
|
|
variable "wazuh_config_yml" { default = "" }
|
|
|
|
# ── Default group: builds all components ─────────────────────────────────────
|
|
|
|
group "default" {
|
|
targets = ["wazuh-indexer", "wazuh-manager", "wazuh-dashboard", "wazuh-agent"]
|
|
}
|
|
|
|
# ── Shared base target ────────────────────────────────────────────────────────
|
|
# All component targets inherit from here. Not built directly.
|
|
|
|
target "_common" {
|
|
# MULTIARCH=true → build linux/amd64 + linux/arm64 (requires --push, no --load for multi-platform)
|
|
# MULTIARCH unset → null means "native platform of the build host" (amd64 on x86, arm64 on ARM)
|
|
platforms = MULTIARCH != "" ? ["linux/amd64", "linux/arm64"] : null
|
|
args = {
|
|
WAZUH_VERSION = WAZUH_VERSION
|
|
}
|
|
}
|
|
|
|
# ── Component targets ─────────────────────────────────────────────────────────
|
|
|
|
target "wazuh-indexer" {
|
|
inherits = ["_common"]
|
|
context = "wazuh-indexer/"
|
|
tags = ["${WAZUH_REGISTRY}/wazuh/wazuh-indexer:${INDEXER_TAG}"]
|
|
args = {
|
|
wazuh_indexer_x86_64_rpm = wazuh_indexer_x86_64_rpm
|
|
wazuh_indexer_aarch64_rpm = wazuh_indexer_aarch64_rpm
|
|
wazuh_certs_tool = wazuh_certs_tool
|
|
wazuh_config_yml = wazuh_config_yml
|
|
}
|
|
}
|
|
|
|
target "wazuh-manager" {
|
|
inherits = ["_common"]
|
|
context = "wazuh-manager/"
|
|
tags = ["${WAZUH_REGISTRY}/wazuh/wazuh-manager:${MANAGER_TAG}"]
|
|
args = {
|
|
wazuh_manager_x86_64_rpm = wazuh_manager_x86_64_rpm
|
|
wazuh_manager_aarch64_rpm = wazuh_manager_aarch64_rpm
|
|
wazuh_certs_tool = wazuh_certs_tool
|
|
wazuh_config_yml = wazuh_config_yml
|
|
}
|
|
}
|
|
|
|
target "wazuh-dashboard" {
|
|
inherits = ["_common"]
|
|
context = "wazuh-dashboard/"
|
|
tags = ["${WAZUH_REGISTRY}/wazuh/wazuh-dashboard:${DASHBOARD_TAG}"]
|
|
args = {
|
|
wazuh_dashboard_x86_64_rpm = wazuh_dashboard_x86_64_rpm
|
|
wazuh_dashboard_aarch64_rpm = wazuh_dashboard_aarch64_rpm
|
|
wazuh_certs_tool = wazuh_certs_tool
|
|
wazuh_config_yml = wazuh_config_yml
|
|
}
|
|
}
|
|
|
|
target "wazuh-agent" {
|
|
inherits = ["_common"]
|
|
context = "wazuh-agent/"
|
|
tags = ["${WAZUH_REGISTRY}/wazuh/wazuh-agent:${AGENT_TAG}"]
|
|
args = {
|
|
wazuh_agent_x86_64_rpm = wazuh_agent_x86_64_rpm
|
|
wazuh_agent_aarch64_rpm = wazuh_agent_aarch64_rpm
|
|
}
|
|
}
|