diff --git a/apps/base/gitlab-runner/kustomization.yaml b/apps/base/gitlab-runner/kustomization.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..de88f7d2f7e8b78509e50eb6696892234b41736e
--- /dev/null
+++ b/apps/base/gitlab-runner/kustomization.yaml
@@ -0,0 +1,11 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+namespace: gitlab-runner
+resources:
+  - namespace.yaml
+  - repository.yaml
+  - release.yaml
+  - ../../../shared/networkpolicies/allow-from-same-namespace.yaml
+  - ../../../shared/networkpolicies/allow-from-monitoring.yaml
+patchesStrategicMerge:
+  - networkpolicy.yaml
diff --git a/apps/base/gitlab-runner/namespace.yaml b/apps/base/gitlab-runner/namespace.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6007b95ab044f2c031f80268924d3b6a711e260d
--- /dev/null
+++ b/apps/base/gitlab-runner/namespace.yaml
@@ -0,0 +1,36 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: gitlab-runner
+  labels:
+    name: gitlab-runner
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: gitlab-runner-reconciler
+  namespace: gitlab-runner
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+  name: gitlab-runner-reconciler
+  namespace: gitlab-runner
+rules:
+  - apiGroups: ["*"]
+    resources: ["*"]
+    verbs: ["*"]
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+  name: gitlab-runner-reconciler
+  namespace: gitlab-runner
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: Role
+  name: gitlab-runner-reconciler
+subjects:
+  - kind: ServiceAccount
+    name: gitlab-runner-reconciler
+    namespace: gitlab-runner
diff --git a/apps/base/gitlab-runner/networkpolicy.yaml b/apps/base/gitlab-runner/networkpolicy.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8b6160be0af229a296026f2cf8fdde829f5768a6
--- /dev/null
+++ b/apps/base/gitlab-runner/networkpolicy.yaml
@@ -0,0 +1,9 @@
+---
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+  name: allow-from-monitoring
+spec:
+  podSelector:
+    matchLabels:
+      chart: gitlab-runner
diff --git a/apps/base/gitlab-runner/release.yaml b/apps/base/gitlab-runner/release.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bff2559971522c9a5055c6553fc48fd08e34b657
--- /dev/null
+++ b/apps/base/gitlab-runner/release.yaml
@@ -0,0 +1,79 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: gitlab-runner
+  namespace: gitlab-runner
+spec:
+  serviceAccountName: gitlab-runner-reconciler
+  timeout: 15m
+  releaseName: gitlab-runner
+  chart:
+    spec:
+      chart: gitlab-runner
+      sourceRef:
+        kind: HelmRepository
+        name: gitlab-runner
+        namespace: gitlab-runner
+      version: 0.45.0
+  interval: 5m
+  install:
+    remediation:
+      retries: -1
+  upgrade:
+    remediation:
+      retries: -1
+  valuesFrom:
+    - kind: ConfigMap
+      name: gitlab-runner-base-values
+      valuesKey: values.yaml
+    - kind: Secret
+      name: gitlab-runner-override-values
+      valuesKey: values-overrides.yaml
+      optional: true
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: gitlab-runner-base-values
+  namespace: gitlab-runner
+data:
+  values.yaml: |
+    rbac:
+      create: true
+      rules:
+        - resources:
+            - configmaps
+            - pods
+            - pods/attach
+            - secrets
+            - services
+          verbs:
+            - get
+            - list
+            - watch
+            - create
+            - patch
+            - update
+            - delete
+        - apiGroups:
+            - ""
+          resources:
+            - pods/exec
+          verbs:
+            - create
+            - patch
+            - delete
+    metrics:
+      enabled: true
+      serviceMonitor:
+        enabled: true
+    service:
+      enabled: true
+    unregisterRunners: true
+    resources:
+      requests:
+        memory: 128Mi
+        cpu: 100m
+      limits:
+        memory: 256Mi
+        cpu: 200m
diff --git a/apps/base/gitlab-runner/repository.yaml b/apps/base/gitlab-runner/repository.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a7cb171330488110d29dedc6d3d3768e4797af1f
--- /dev/null
+++ b/apps/base/gitlab-runner/repository.yaml
@@ -0,0 +1,8 @@
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: HelmRepository
+metadata:
+  name: gitlab-runner
+  namespace: gitlab-runner
+spec:
+  interval: 30m
+  url: https://charts.gitlab.io/
diff --git a/apps/k8s01/gitlab-runner/gitlab-runner-values.yaml b/apps/k8s01/gitlab-runner/gitlab-runner-values.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1c1fa6fd287e2477c805624b9609a0010b4bd5a2
--- /dev/null
+++ b/apps/k8s01/gitlab-runner/gitlab-runner-values.yaml
@@ -0,0 +1,122 @@
+apiVersion: v1
+kind: Secret
+metadata:
+    name: gitlab-runner-override-values
+    namespace: gitlab-runner
+type: Opaque
+stringData:
+    values-overrides.yaml: ENC[AES256_GCM,data:bWZxurNQJ1Vd67CNjiQD6ucukgq2Xd1w/tPkIXX24t5YvWLhO+I6/8SjMQkd59LbUdX8PAtoBpz/GGcNPXPCcRdKTmrLydtUOJEq3tbgaHax+wFPzaLjPQeNEPyP3+qxdYYYkHV9sU8hEU8MgwG7lMqphQ8WRZHvU1UZ2l0bE87a81aagBIdKj9Z3VxCUG3m/Vd74oV8aFHzMvWpgipyx6EjMWhY4d27jTgdyTZFXf5TMFtR/vS/HU4DNw1OAJ9jJ6hxd0fv0q+4PuIgLp6Gpu0E6l/idqE3o9Q0plzWmfE9OJz//dB5e2PklGAiFE88jsx4gqXKgkH+P9aNk2bydi6dJosSLANsFmC5mKEiVOOVL64WmS1iWGpuFFM+mWCUcsX3QHpzPhtBR2bXmYTK+eCjKF1lXbtA88ffqJCZW81Eo/VlHQEaOagiXgRulkIilAAWegO8Aq8IBLyrOQ+8XEaTYgxBZdH7Yd9zrMaBLIzCVOZi5eBu040bG+TuTjzj1UhwWUoWAfwi96ghYWnIQPzXLEWlWB0XIc9PD5Gei0vmO4KZeWEGoQ0LItQb/Qc1xD+BA4cBAZsVdMQs3kezlj7NlfrCMG7i5MpHsgjNq8/u49PreSBg4E/1qMvjiuQgDBOnzxnXBJvawG12LlrLNKRfBgwj0Jg6E4cyZmZ/TPPwCvNjPNbr7Mid9F5e8rDCQIXHzOahCOpgeiBz3ig6EQ2w0SMrOnESJic9xOHfdPJfiS/LDOdtgu5qKRhAU8cs6gZw1+fGbBGI1geDzelz7uXrJmCPu6BUyFc+PmtPlErs0OCQxPhZfPO8lr3EslBAS4sU6G6bFoQszfv26FqdrgoQeyTiFpm2yFlNejRaAtUbCXC2HplJaS7azv6WiwPudSpZ+iNQVGqUJUCe6lJzjo8hZ33FVHZGRLQwOqNMNHZgQAMNZNLfIOD4cms53YhtHSGrAE1zfiyyBIgwDL16fIcwdwPkIlw596kcEmpkqd5/cDwcu/LfcqwLLul0XuKfxe/2BPlTq5ys0mERr3ltKNPSSk/WTT0cj6WjvpqLTWKVKzan4B+pGVYML4uz0Eadp31ntWqn+HJSRmS2MsXq9bPl2IJDdqmywZlJD6VwykWFyFA70T4xNwfcRsADWoFXS/7S1zR6QZbDSkXZb5pk+yPnULWwVNDU0IcW/K/55IdR2QzlE8W5cXRJfGnGWqSF9yLTCl/GhJ0Dg0/HZwayxRr4PhN8Gd1Z2xKYyJIy/LjpMnOoxKsWRvxNjvvFBWqH0CZmNGcoSvIOsgjWp4K1odth2Ek/zOWlUxX1PCK2+eEjW+pv31mLLlWjG1sduZgylS6G0qj8jhJgb8T8YAm5+nrxbF/EJkSxxa2jfWH5peE05irK2hErhqx4h29+oPdgpi1QWPoV4WrBfve3Btw6oY9XIi3IAHloG+f2mg9QfxrCnw8dtaEgCCjGx/nMIY+GP5s7gC629c/ZrYEj8mwmzFkUy6AHdxANSaFxUgu+z34Dgvi1yasCeitnzKdCxepm+kiNwiLr0ZKMTFlZhAqYpFRjAupC28yjL88cBlRdOsWCuDXnY6leMqTveelJvw==,iv:YOK/Z5HS9+hzLjtqGFx0ZbHpjMmaxkFXpYKmuUr8vNo=,tag:Vt9Pj+t/8CkFot6oWq5GJQ==,type:str]
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-09-23T23:52:46Z"
+    mac: ENC[AES256_GCM,data:2XUR6CKywoq0f3m+APd4pNvaUaFiVq5X8XAwyWDl+rGWio4C6EQXxyY7W+Sr5lZP1q3wK4/jXv5FiHVlvRjTUD9et8iXeDU+qzF84rJt1b2go7+ocUhRZCkeJEqGkTX7snCBz/oDvb9ddFB6qKV23niGb2ovA+N/xXA1DBbWHxE=,iv:s93B2Dd0ANzHsWGV9lXdlORzMJeCo1gAIWyd+ZaU37I=,tag:GmLjFKKhfWfF25ukV+Mspg==,type:str]
+    pgp:
+        - created_at: "2022-03-22T22:26:35Z"
+          enc: |-
+            -----BEGIN PGP MESSAGE-----
+
+            wcFMA7kpg2bgzVHcARAApcdDAfEgx93xGtkm4f7xTuRhvUyl8lw85rIHbWcAveYU
+            ayU88OLaoQyeZDZkOXbtxMHpry8GbId6vPAJ7KflT2eMP0A4uQGSSCQO6+5QcaYg
+            sbO/zT4vdprN7icLbvmmoK2Dh+hOo5Z7/7YGmdJfaaATzT2BGL/cVS1bonI83vXR
+            lzlW/DglIe7oNEKGVT5vWR5uGvq/dJwSRe/34eutEnJuV30imxHOcpxy3uXJFFXJ
+            3eKTk8dNLz3UE3IeUjbFdPFZYU+grOAOOCZRK0IOYFn+SF7E3dewgiwEdaXzz3gK
+            /6aEMEmf5vyVqn9jOaqZhKRqE7tW5HnhwIIlxcMPhkLVZvYf4F2EDA5f12C2hdp0
+            s7fFhU7v5GgFaHMJuaWVPxDnWTrNIst9bgeJv/N4RVfrLifrZJcqa9lE8ou0iCr5
+            dLi9d6UjsgWAREIViz+Uz7dJQ9QeJ6PGYgg/xgf0ihJFG7sx+TBG58DKb3G3tyUV
+            8hfK8Ou9m+zYnd13mJ2mV3rY0rmXusT+NcqTG2G4bBG5NimGpJS3rO7tAjjp/8sN
+            hMM46ay0vVTUXx1FwmjUFDG1e4sc7fKxTaCBizMjeUfZpAOiy/10YQmrFHBsftpo
+            K5j0nFMoG9NeO+2ffEmLhRtxvMe3WpINk7du3F624rYIGCB0aNUP69FCeJKuUQHS
+            5gH5AwnxOAtQakDksfLxJhUG1NlaS0iAFkZkTTibvOJwsY9L/scDDQlseb5zBKaZ
+            sOPwmn6hL4KavxF9BPG33ILkZKbkcvlaTlAMMY3iBs+MZeIB4+i/AA==
+            =SQqg
+            -----END PGP MESSAGE-----
+          fp: 286791FB6648539775DB31B8FCB98C2A3EC6F601
+        - created_at: "2022-03-22T22:26:35Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4oYbIHZIrAPAQ//fGGoDT5KfsG/o6r5xhDHSc0IFH6zT2TFIB6TuA5SwHfV
+            8t3IeKD0bE//4f8AxGAVocw+AetolwrQL/Tl+n0UV9P44Jeh5VlCAGltHcowR53o
+            zdjS3+i9K3OOvQFhF+aYrPcnc+aTn9KbptHCam0w+Lr2UkYSAPAZHsBcoMp24mHX
+            6A+5kP1kaRzFzEn4TCNeTt13W1AsJIoSagkBWfYRBkRPk1OzGOuYqX6yeqj7a0kM
+            8uiloTQgWOiBSOyRtxUJi87CTrMXyb0F2E9HMyhgRnzF0YX0ZU0UVG8MNdRL8eFD
+            WYY68OK7DQw3zlJubscYQ2jltxKcq5g9qUCw/sXaNurtohIx9UeaHtfp036EMb22
+            5StgGEnBirUzfSrQGT3kuj20lcMtQAr/d1UsmQNjB36eOZSrx0m80pO8JVYL62/O
+            HLYnAHU52aAPtE7brNEVg4yRLCbWyVY3Z3H9OaTVXwNIMFoMEgkHHnNlsb+1ZnhV
+            cStKMO3H6W8eXQi3VGIVNhuC1ltsxHQL1I22Kr41JEnuaB9Jy5bsEbrO4XGyDdte
+            hMI8Gx+0KZAMlKuZKLS6sMa4oVnQTy8w20PtVrrS0zDrQRPpxBrOgzjrNeMj9FpS
+            q/efiCAOBc8eVd8N/7j66UItwrysfmIfsHWfoPotS7F6WmUHeAyoWjfcvTZyd4bU
+            ZgEJAhAtdCnHNvUSl5O9XZuSu51pRwj+O72kZXRSJWv7GTT9dsRfuM5Dy9A/tuVI
+            BuZraI4JyAWb2KbkM6onp3Rh9IcLuzqEYm/ETktxTtO1HlcVPJ2NMcFgTCzaIGX9
+            +rtkG7tPbA==
+            =tvBa
+            -----END PGP MESSAGE-----
+          fp: B137EE1549DFAF960DD1E2B15147025FB9F09E07
+    encrypted_regex: ^(data|stringData|email|dnsZones?|dnsNames?|hosts?|tang|externalURL|.*-secret|.*-url|.*Secrets?|.*-domain|password|subjects|node|apiURL|.*(S|s)erverNames?|.*SecretKey)$
+    version: 3.7.1
+---
+apiVersion: v1
+kind: Secret
+metadata:
+    name: gitlab-runner-cache-access
+    namespace: gitlab-runner
+type: Opaque
+stringData:
+    accesskey: ENC[AES256_GCM,data:fYhPmeKYvn1dV8ct0IgDJhdG3A==,iv:enM9VEsc7DtcA/7u3zDjCafhvML2kNTKCL300/TLAP0=,tag:qa1yFwdmp9m9AhWAYQ3UNw==,type:str]
+    secretkey: ENC[AES256_GCM,data:1S3Lxznx5U7NjZg4Ptb6gNgHTPJBplnF3osCSx5DqQ3xSToFxgpTTA==,iv:NsYKWJt5zwIQqYLGKW7u4peubw0XxB61ozqkm7LyFbg=,tag:w1Tby5venIviBBGoW4LbQw==,type:str]
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-09-23T23:52:46Z"
+    mac: ENC[AES256_GCM,data:2XUR6CKywoq0f3m+APd4pNvaUaFiVq5X8XAwyWDl+rGWio4C6EQXxyY7W+Sr5lZP1q3wK4/jXv5FiHVlvRjTUD9et8iXeDU+qzF84rJt1b2go7+ocUhRZCkeJEqGkTX7snCBz/oDvb9ddFB6qKV23niGb2ovA+N/xXA1DBbWHxE=,iv:s93B2Dd0ANzHsWGV9lXdlORzMJeCo1gAIWyd+ZaU37I=,tag:GmLjFKKhfWfF25ukV+Mspg==,type:str]
+    pgp:
+        - created_at: "2022-03-22T22:26:35Z"
+          enc: |-
+            -----BEGIN PGP MESSAGE-----
+
+            wcFMA7kpg2bgzVHcARAApcdDAfEgx93xGtkm4f7xTuRhvUyl8lw85rIHbWcAveYU
+            ayU88OLaoQyeZDZkOXbtxMHpry8GbId6vPAJ7KflT2eMP0A4uQGSSCQO6+5QcaYg
+            sbO/zT4vdprN7icLbvmmoK2Dh+hOo5Z7/7YGmdJfaaATzT2BGL/cVS1bonI83vXR
+            lzlW/DglIe7oNEKGVT5vWR5uGvq/dJwSRe/34eutEnJuV30imxHOcpxy3uXJFFXJ
+            3eKTk8dNLz3UE3IeUjbFdPFZYU+grOAOOCZRK0IOYFn+SF7E3dewgiwEdaXzz3gK
+            /6aEMEmf5vyVqn9jOaqZhKRqE7tW5HnhwIIlxcMPhkLVZvYf4F2EDA5f12C2hdp0
+            s7fFhU7v5GgFaHMJuaWVPxDnWTrNIst9bgeJv/N4RVfrLifrZJcqa9lE8ou0iCr5
+            dLi9d6UjsgWAREIViz+Uz7dJQ9QeJ6PGYgg/xgf0ihJFG7sx+TBG58DKb3G3tyUV
+            8hfK8Ou9m+zYnd13mJ2mV3rY0rmXusT+NcqTG2G4bBG5NimGpJS3rO7tAjjp/8sN
+            hMM46ay0vVTUXx1FwmjUFDG1e4sc7fKxTaCBizMjeUfZpAOiy/10YQmrFHBsftpo
+            K5j0nFMoG9NeO+2ffEmLhRtxvMe3WpINk7du3F624rYIGCB0aNUP69FCeJKuUQHS
+            5gH5AwnxOAtQakDksfLxJhUG1NlaS0iAFkZkTTibvOJwsY9L/scDDQlseb5zBKaZ
+            sOPwmn6hL4KavxF9BPG33ILkZKbkcvlaTlAMMY3iBs+MZeIB4+i/AA==
+            =SQqg
+            -----END PGP MESSAGE-----
+          fp: 286791FB6648539775DB31B8FCB98C2A3EC6F601
+        - created_at: "2022-03-22T22:26:35Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4oYbIHZIrAPAQ//fGGoDT5KfsG/o6r5xhDHSc0IFH6zT2TFIB6TuA5SwHfV
+            8t3IeKD0bE//4f8AxGAVocw+AetolwrQL/Tl+n0UV9P44Jeh5VlCAGltHcowR53o
+            zdjS3+i9K3OOvQFhF+aYrPcnc+aTn9KbptHCam0w+Lr2UkYSAPAZHsBcoMp24mHX
+            6A+5kP1kaRzFzEn4TCNeTt13W1AsJIoSagkBWfYRBkRPk1OzGOuYqX6yeqj7a0kM
+            8uiloTQgWOiBSOyRtxUJi87CTrMXyb0F2E9HMyhgRnzF0YX0ZU0UVG8MNdRL8eFD
+            WYY68OK7DQw3zlJubscYQ2jltxKcq5g9qUCw/sXaNurtohIx9UeaHtfp036EMb22
+            5StgGEnBirUzfSrQGT3kuj20lcMtQAr/d1UsmQNjB36eOZSrx0m80pO8JVYL62/O
+            HLYnAHU52aAPtE7brNEVg4yRLCbWyVY3Z3H9OaTVXwNIMFoMEgkHHnNlsb+1ZnhV
+            cStKMO3H6W8eXQi3VGIVNhuC1ltsxHQL1I22Kr41JEnuaB9Jy5bsEbrO4XGyDdte
+            hMI8Gx+0KZAMlKuZKLS6sMa4oVnQTy8w20PtVrrS0zDrQRPpxBrOgzjrNeMj9FpS
+            q/efiCAOBc8eVd8N/7j66UItwrysfmIfsHWfoPotS7F6WmUHeAyoWjfcvTZyd4bU
+            ZgEJAhAtdCnHNvUSl5O9XZuSu51pRwj+O72kZXRSJWv7GTT9dsRfuM5Dy9A/tuVI
+            BuZraI4JyAWb2KbkM6onp3Rh9IcLuzqEYm/ETktxTtO1HlcVPJ2NMcFgTCzaIGX9
+            +rtkG7tPbA==
+            =tvBa
+            -----END PGP MESSAGE-----
+          fp: B137EE1549DFAF960DD1E2B15147025FB9F09E07
+    encrypted_regex: ^(data|stringData|email|dnsZones?|dnsNames?|hosts?|tang|externalURL|.*-secret|.*-url|.*Secrets?|.*-domain|password|subjects|node|apiURL|.*(S|s)erverNames?|.*SecretKey)$
+    version: 3.7.1
diff --git a/apps/k8s01/gitlab-runner/kustomization.yaml b/apps/k8s01/gitlab-runner/kustomization.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0406c98851049a23932c8e5c68a9327ed1b0d3e5
--- /dev/null
+++ b/apps/k8s01/gitlab-runner/kustomization.yaml
@@ -0,0 +1,7 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+namespace: gitlab-runner
+resources:
+  - ../../base/gitlab-runner
+  - gitlab-runner-values.yaml
+  - resourcequota.yaml
diff --git a/apps/k8s01/gitlab-runner/resourcequota.yaml b/apps/k8s01/gitlab-runner/resourcequota.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8e95e5a03947e99b7c8930d2d22b2844f6a96a61
--- /dev/null
+++ b/apps/k8s01/gitlab-runner/resourcequota.yaml
@@ -0,0 +1,10 @@
+apiVersion: v1
+kind: ResourceQuota
+metadata:
+  name: build-namespace
+spec:
+  hard:
+    requests.cpu: "3"
+    requests.memory: 16Gi
+    limits.cpu: "12"
+    limits.memory: 24Gi
diff --git a/images/.utils/gitlab-ci.yaml b/images/.utils/gitlab-ci.yaml
index 9f0f87b73c3bd94340aebe33ba0701751acdcaf0..2163f2e4da5a9c5a3ae7c162ab293b273b9c374d 100644
--- a/images/.utils/gitlab-ci.yaml
+++ b/images/.utils/gitlab-ci.yaml
@@ -7,53 +7,48 @@
           - koolbox
           - synadm
 
-
-container-build:
+container-build-release:
   stage: build
-  image: quay.io/sheogorath/build-ah-engine:2.1.2
   extends: .container-matrix
-  before_script:
-    - podman login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
+  image:
+    name: gcr.io/kaniko-project/executor:v1.9.0-debug
+    entrypoint: [""]
   script:
-    - |
-      cd images/${IMAGE}
-      source .release
-      podman build --pull \
-      --label "org.opencontainers.image.source=$CI_PROJECT_URL/-/tree/$CI_COMMIT_SHA/images/${IMAGE}" \
-      --label "org.opencontainers.image.revision=$CI_COMMIT_SHA" \
-      --label "org.opencontainers.image.created=$(date --rfc-3339 ns)" \
-      --label "org.opencontainers.image.title=${IMAGE}" \
-      -t "quay.io/shivering-isles/${IMAGE}:${release}" \
-      --format docker \
-      .
-    - podman push "quay.io/shivering-isles/${IMAGE}:${release}"
+    -  export $(cat "${CI_PROJECT_DIR}/images/.release")
+    - /kaniko/executor
+      --context "${CI_PROJECT_DIR}/images/${IMAGE}"
+      --dockerfile "${CI_PROJECT_DIR}/images/${IMAGE}/Dockerfile"
+      --label "org.opencontainers.image.source=$CI_PROJECT_URL/-/tree/$CI_COMMIT_SHA/images/${IMAGE}"
+      --label "org.opencontainers.image.revision=$CI_COMMIT_SHA"
+      --label "org.opencontainers.image.title=${IMAGE}"
+      --reproducible
+      --destination "quay.io/shivering-isles/${IMAGE}:${release}"
   rules:
     - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "push"'
       changes:
         - images/${IMAGE}/.release
 
+
 container-build-dev:
   stage: build
-  image: quay.io/sheogorath/build-ah-engine:2.1.2
   extends: .container-matrix
-  before_script:
-    - podman login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
+  image:
+    name: gcr.io/kaniko-project/executor:v1.9.0-debug
+    entrypoint: [""]
   script:
-    - |
-      cd images/${IMAGE}
-      podman build --pull \
-      --label "org.opencontainers.image.source=$CI_PROJECT_URL/-/tree/$CI_COMMIT_SHA/images/${IMAGE}" \
-      --label "org.opencontainers.image.revision=$CI_COMMIT_SHA" \
-      --label "org.opencontainers.image.created=$(date --rfc-3339 ns)" \
-      --label "org.opencontainers.image.title=${IMAGE}" \
-      --label "quay.expires-after=12w" \
-      -t "quay.io/shivering-isles/${IMAGE}:${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}" \
-      --format docker \
-      .
-    - podman push "quay.io/shivering-isles/${IMAGE}:${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}"
-    - podman push "quay.io/shivering-isles/${IMAGE}:${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}" "quay.io/shivering-isles/${IMAGE}:${CI_COMMIT_REF_SLUG}"
+    - /kaniko/executor
+      --context "${CI_PROJECT_DIR}/images/${IMAGE}"
+      --dockerfile "${CI_PROJECT_DIR}/images/${IMAGE}/Dockerfile"
+      --label "org.opencontainers.image.source=$CI_PROJECT_URL/-/tree/$CI_COMMIT_SHA/images/${IMAGE}"
+      --label "org.opencontainers.image.revision=$CI_COMMIT_SHA"
+      --label "org.opencontainers.image.title=${IMAGE}"
+      --label "quay.expires-after=12w"
+      --reproducible
+      --destination "quay.io/shivering-isles/${IMAGE}:${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA}"
+      --destination "quay.io/shivering-isles/${IMAGE}:${CI_COMMIT_REF_SLUG}"
   rules:
     - if: '$CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "push"'
       changes:
         - images/${IMAGE}/*
         - images/.utils/*
+