blob: 96df6285be1edfb4a4a4b3c18a10ceeac6bef3ba [file] [log] [blame]
Mohammed Naser564caa82025-01-18 15:49:44 -05001variable "REGISTRY" {
2 default = "harbor.atmosphere.dev/library"
3}
4
5variable "TAG" {
Mohammed Naser30004232025-02-20 16:43:21 -05006 default = "2024.2"
Mohammed Naser564caa82025-01-18 15:49:44 -05007}
8
9target "ubuntu" {
10 context = "images/ubuntu"
11 platforms = ["linux/amd64", "linux/arm64"]
12
13 contexts = {
14 "ubuntu" = "docker-image://docker.io/library/ubuntu:jammy-20240227"
15 }
16}
17
Mohammed Naser62c4dd92025-02-16 13:18:14 -050018target "ovsinit" {
19 context = "images/ovsinit"
20 platforms = ["linux/amd64", "linux/arm64"]
21
22 contexts = {
23 "runtime" = "docker-image://docker.io/library/debian:bullseye-slim"
24 "rust" = "docker-image://docker.io/library/rust:1.84-bullseye"
25 "src" = "./crates/ovsinit"
26 }
27}
28
Mohammed Naser564caa82025-01-18 15:49:44 -050029target "ubuntu-cloud-archive" {
30 context = "images/ubuntu-cloud-archive"
31 platforms = ["linux/amd64", "linux/arm64"]
32
33 contexts = {
34 "ubuntu" = "target:ubuntu"
35 }
36}
37
38target "python-base" {
39 context = "images/python-base"
40 platforms = ["linux/amd64", "linux/arm64"]
41
42 contexts = {
43 "ubuntu-cloud-archive" = "target:ubuntu-cloud-archive"
44 }
45}
46
47target "openstack-venv-builder" {
48 context = "images/openstack-venv-builder"
49 platforms = ["linux/amd64", "linux/arm64"]
50
51 contexts = {
52 "ubuntu-cloud-archive" = "target:ubuntu-cloud-archive"
53 "python-base" = "target:python-base"
54 }
55}
56
57target "openstack-runtime" {
58 context = "images/openstack-runtime"
59 platforms = ["linux/amd64", "linux/arm64"]
60
61 contexts = {
62 "base" = "target:ubuntu-cloud-archive"
63 }
64}
65
66target "openstack-python-runtime" {
67 context = "images/openstack-runtime"
68 platforms = ["linux/amd64", "linux/arm64"]
69
70 contexts = {
71 "base" = "target:python-base"
72 }
73}
74
75target "keepalived" {
76 context = "images/keepalived"
77 platforms = ["linux/amd64", "linux/arm64"]
78
79 contexts = {
80 "ubuntu" = "target:ubuntu"
81 }
82
83 tags = [
84 "${REGISTRY}/keepalived:${TAG}"
85 ]
86}
87
88target "kubernetes-entrypoint" {
89 context = "images/kubernetes-entrypoint"
90 platforms = ["linux/amd64", "linux/arm64"]
91
92 contexts = {
Mohammed Naser49aa2332025-02-17 16:53:31 -050093 "golang" = "docker-image://docker.io/library/golang:1.23"
Mohammed Naser564caa82025-01-18 15:49:44 -050094 }
95
96 tags = [
97 "${REGISTRY}/kubernetes-entrypoint:${TAG}"
98 ]
99}
100
101target "libvirtd" {
102 context = "images/libvirtd"
103 platforms = ["linux/amd64", "linux/arm64"]
104
105 contexts = {
106 "openstack-runtime" = "target:openstack-runtime"
107 }
108
109 args = {
110 PROJECT = "nova"
111 }
112
113 tags = [
114 "${REGISTRY}/libvirtd:${TAG}"
115 ]
116}
117
118target "netoffload" {
119 context = "images/netoffload"
120 platforms = ["linux/amd64", "linux/arm64"]
121
122 contexts = {
123 "golang" = "docker-image://docker.io/library/golang:1.20"
124 "ubuntu" = "target:ubuntu"
125 }
126
127 tags = [
128 "${REGISTRY}/netoffload:${TAG}"
129 ]
130}
131
132target "nova-ssh" {
133 context = "images/nova-ssh"
134 platforms = ["linux/amd64", "linux/arm64"]
135
136 contexts = {
137 "openstack-runtime" = "target:openstack-runtime"
138 }
139
140 args = {
141 PROJECT = "nova"
Mohammed Naser9a6c35d2025-02-13 13:23:51 -0500142 SHELL = "/bin/bash"
Mohammed Naser564caa82025-01-18 15:49:44 -0500143 }
144
145 tags = [
146 "${REGISTRY}/nova-ssh:${TAG}"
147 ]
148}
149
150target "openvswitch" {
151 context = "images/openvswitch"
152 platforms = ["linux/amd64", "linux/arm64"]
153
154 contexts = {
155 "centos" = "docker-image://quay.io/centos/centos:stream9"
156 }
157
158 tags = [
159 "${REGISTRY}/openvswitch:${TAG}"
160 ]
161}
162
163target "ovn" {
164 name = "ovn-${component}"
165 matrix = {
166 component = ["host", "central"]
167 }
168
169 context = "images/ovn"
170 platforms = ["linux/amd64", "linux/arm64"]
171
172 contexts = {
173 "golang" = "docker-image://docker.io/library/golang:1.20"
174 "openvswitch" = "target:openvswitch"
Mohammed Naser62c4dd92025-02-16 13:18:14 -0500175 "ovsinit" = "target:ovsinit"
Mohammed Naser564caa82025-01-18 15:49:44 -0500176 }
177
178 args = {
179 OVN_COMPONENT = "${component}"
180 }
181
182 tags = [
183 "${REGISTRY}/ovn-${component}:${TAG}"
184 ]
185}
186
187target "python-openstackclient" {
188 context = "images/python-openstackclient"
189 platforms = ["linux/amd64", "linux/arm64"]
190
191 contexts = {
192 "openstack-venv-builder" = "target:openstack-venv-builder"
193 "python-base" = "target:python-base"
194 }
195
196 tags = [
197 "${REGISTRY}/python-openstackclient:${TAG}"
198 ]
199}
200
201target "openstack" {
202 name = "openstack-${service}"
203 matrix = {
204 service = [
205 "barbican",
206 "cinder",
207 "designate",
208 "glance",
209 "heat",
210 "horizon",
211 "ironic",
212 "keystone",
213 "magnum",
214 "manila",
215 "neutron",
216 "nova",
217 "octavia",
218 "placement",
219 "staffeln",
220 "tempest",
221 ]
222 }
223
224 context = "images/${service}"
225 platforms = ["linux/amd64", "linux/arm64"]
226
227 args = {
228 PROJECT = "${service}"
229 }
230
231 contexts = {
Mohammed Naser564caa82025-01-18 15:49:44 -0500232 "openstack-python-runtime" = "target:openstack-python-runtime"
Mohammed Naser62c4dd92025-02-16 13:18:14 -0500233 "openstack-venv-builder" = "target:openstack-venv-builder"
234 "ovsinit" = "target:ovsinit"
Mohammed Naser564caa82025-01-18 15:49:44 -0500235 }
236
237 tags = [
238 "${REGISTRY}/${service}:${TAG}"
239 ]
240}
241
242group "default" {
243 targets = [
244 "keepalived",
245 "kubernetes-entrypoint",
246 "libvirtd",
247 "netoffload",
248 "nova-ssh",
249 "openstack-barbican",
250 "openstack-cinder",
251 "openstack-designate",
252 "openstack-glance",
253 "openstack-heat",
254 "openstack-horizon",
255 "openstack-ironic",
256 "openstack-keystone",
257 "openstack-magnum",
258 "openstack-manila",
259 "openstack-neutron",
260 "openstack-nova",
261 "openstack-octavia",
262 "openstack-placement",
263 "openstack-staffeln",
264 "openstack-tempest",
265 "openvswitch",
266 "ovn-central",
267 "ovn-host",
268 "python-openstackclient",
269 ]
270}