diff --git a/Dockerfile b/Dockerfile
index 278b418..b623571 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/build/manage-dockerfile.py b/build/manage-dockerfile.py
new file mode 100644
index 0000000..068d044
--- /dev/null
+++ b/build/manage-dockerfile.py
@@ -0,0 +1,44 @@
+# SPDX-License-Identifier: Apache-2.0
+
+import argparse
+import pathlib
+from datetime import datetime
+
+
+def update_dockerfile(dockerfile, timestamp):
+    rebuild_line = f"# Atmosphere-Rebuild-Time: {timestamp}"
+
+    lines = dockerfile.read_text().splitlines()
+    new_lines = []
+    rebuild_line_found = False
+
+    for line in lines:
+        if line.startswith("# Atmosphere-Rebuild-Time: "):
+            new_lines.append(rebuild_line)
+            rebuild_line_found = True
+        else:
+            new_lines.append(line)
+
+    if not rebuild_line_found:
+        new_lines.insert(1, rebuild_line)  # Insert after SPDX line
+
+    dockerfile.write_text("\n".join(new_lines) + "\n")
+
+
+def main():
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--rebuild", action="store_true")
+    parser.add_argument(
+        "dockerfiles", type=pathlib.Path, nargs="+", help="List of Dockerfiles"
+    )
+    args = parser.parse_args()
+
+    if args.rebuild:
+        now_utc = datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ")
+
+        for dockerfile in args.dockerfiles:
+            update_dockerfile(dockerfile, now_utc)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/images/barbican/Dockerfile b/images/barbican/Dockerfile
index f98ead5..58936ef 100644
--- a/images/barbican/Dockerfile
+++ b/images/barbican/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/cinder/Dockerfile b/images/cinder/Dockerfile
index afa63cd..a8db866 100644
--- a/images/cinder/Dockerfile
+++ b/images/cinder/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/cluster-api-provider-openstack/Dockerfile b/images/cluster-api-provider-openstack/Dockerfile
index aa05489..7ab4e84 100644
--- a/images/cluster-api-provider-openstack/Dockerfile
+++ b/images/cluster-api-provider-openstack/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 FROM alpine/git:2.43.0 AS src
 ARG CAPO_VERSION=v0.9.0
diff --git a/images/designate/Dockerfile b/images/designate/Dockerfile
index 062b2cc..91bb781 100644
--- a/images/designate/Dockerfile
+++ b/images/designate/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/glance/Dockerfile b/images/glance/Dockerfile
index cb2e287..058f790 100644
--- a/images/glance/Dockerfile
+++ b/images/glance/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/heat/Dockerfile b/images/heat/Dockerfile
index ea34a14..64559b9 100644
--- a/images/heat/Dockerfile
+++ b/images/heat/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/horizon/Dockerfile b/images/horizon/Dockerfile
index 1f2bcb0..44ba2fa 100644
--- a/images/horizon/Dockerfile
+++ b/images/horizon/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/ironic/Dockerfile b/images/ironic/Dockerfile
index 9a0016e..58fdded 100644
--- a/images/ironic/Dockerfile
+++ b/images/ironic/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/keepalived/Dockerfile b/images/keepalived/Dockerfile
index 55cb73a..f958c3d 100644
--- a/images/keepalived/Dockerfile
+++ b/images/keepalived/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/keystone/Dockerfile b/images/keystone/Dockerfile
index 65d3669..79edcc7 100644
--- a/images/keystone/Dockerfile
+++ b/images/keystone/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/kubernetes-entrypoint/Dockerfile b/images/kubernetes-entrypoint/Dockerfile
index e7d0bc5..53df53a 100644
--- a/images/kubernetes-entrypoint/Dockerfile
+++ b/images/kubernetes-entrypoint/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 FROM golang:1.21 AS build
 ARG KUBERNETES_ENTRYPOINT_GIT_REF=4fbcf7ce324dc66e78480f73035e31434cfea1e8
diff --git a/images/libvirtd/Dockerfile b/images/libvirtd/Dockerfile
index 65ae2d2..14d7d70 100644
--- a/images/libvirtd/Dockerfile
+++ b/images/libvirtd/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/magnum/Dockerfile b/images/magnum/Dockerfile
index 81af79f..471502b 100644
--- a/images/magnum/Dockerfile
+++ b/images/magnum/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/manila/Dockerfile b/images/manila/Dockerfile
index 4a4ceef..99cc840 100644
--- a/images/manila/Dockerfile
+++ b/images/manila/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/netoffload/Dockerfile b/images/netoffload/Dockerfile
index a1a0ec2..c72f357 100644
--- a/images/netoffload/Dockerfile
+++ b/images/netoffload/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/neutron/Dockerfile b/images/neutron/Dockerfile
index dbb0ba6..ea65deb 100644
--- a/images/neutron/Dockerfile
+++ b/images/neutron/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/nova-ssh/Dockerfile b/images/nova-ssh/Dockerfile
index 37fc531..b61f4cd 100644
--- a/images/nova-ssh/Dockerfile
+++ b/images/nova-ssh/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/nova/Dockerfile b/images/nova/Dockerfile
index cc9ed67..9121694 100644
--- a/images/nova/Dockerfile
+++ b/images/nova/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/octavia/Dockerfile b/images/octavia/Dockerfile
index 2aed975..0c07fec 100644
--- a/images/octavia/Dockerfile
+++ b/images/octavia/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/openstack-runtime/Dockerfile b/images/openstack-runtime/Dockerfile
index 0bd8099..3a3d961 100644
--- a/images/openstack-runtime/Dockerfile
+++ b/images/openstack-runtime/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/openstack-venv-builder/Dockerfile b/images/openstack-venv-builder/Dockerfile
index 077f430..6ff078f 100644
--- a/images/openstack-venv-builder/Dockerfile
+++ b/images/openstack-venv-builder/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/openvswitch/Dockerfile b/images/openvswitch/Dockerfile
index c91700b..44614f2 100644
--- a/images/openvswitch/Dockerfile
+++ b/images/openvswitch/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 FROM quay.io/centos/centos:stream9
 ARG OVS_SERIES=3.2
diff --git a/images/ovn/Dockerfile b/images/ovn/Dockerfile
index 4523ce9..ac67d54 100644
--- a/images/ovn/Dockerfile
+++ b/images/ovn/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/placement/Dockerfile b/images/placement/Dockerfile
index d8369ab..296d367 100644
--- a/images/placement/Dockerfile
+++ b/images/placement/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/python-base/Dockerfile b/images/python-base/Dockerfile
index 883a4f4..ba45b02 100644
--- a/images/python-base/Dockerfile
+++ b/images/python-base/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/python-openstackclient/Dockerfile b/images/python-openstackclient/Dockerfile
index 2912699..c22ae64 100644
--- a/images/python-openstackclient/Dockerfile
+++ b/images/python-openstackclient/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/staffeln/Dockerfile b/images/staffeln/Dockerfile
index c4fb1fb..765b1df 100644
--- a/images/staffeln/Dockerfile
+++ b/images/staffeln/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/tempest/Dockerfile b/images/tempest/Dockerfile
index 93da97f..1904f04 100644
--- a/images/tempest/Dockerfile
+++ b/images/tempest/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/ubuntu-cloud-archive/Dockerfile b/images/ubuntu-cloud-archive/Dockerfile
index f355a48..2be3cdb 100644
--- a/images/ubuntu-cloud-archive/Dockerfile
+++ b/images/ubuntu-cloud-archive/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 ARG RELEASE
 
diff --git a/images/ubuntu/Dockerfile b/images/ubuntu/Dockerfile
index 1ad0fc5..e1694f9 100644
--- a/images/ubuntu/Dockerfile
+++ b/images/ubuntu/Dockerfile
@@ -1,16 +1,5 @@
-# Copyright (c) 2024 VEXXHOST, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
+# SPDX-License-Identifier: Apache-2.0
+# Atmosphere-Rebuild-Time: 2024-05-30T20:29:01Z
 
 FROM ubuntu:jammy-20240227
 LABEL org.opencontainers.image.source=https://github.com/vexxhost/atmosphere
diff --git a/zuul.d/container-images/base.yaml b/zuul.d/container-images/base.yaml
index 8a61a87..021dbfc 100644
--- a/zuul.d/container-images/base.yaml
+++ b/zuul.d/container-images/base.yaml
@@ -33,7 +33,6 @@
     irrelevant-files:
       - ^doc/
     vars: &image_vars
-      full_rebuild_date: 22-05-2024
       container_command: docker
       promote_container_image_method: intermediate-registry
       buildset_registry_namespaces:
