chore: refactor to vexxhost.k8s.docker_image
diff --git a/galaxy.yml b/galaxy.yml
index cf6dd31..0fe1d5f 100644
--- a/galaxy.yml
+++ b/galaxy.yml
@@ -16,6 +16,7 @@
   kubernetes.core: 2.3.2
   openstack.cloud: 1.7.0
   community.mysql: 3.6.0
+  vexxhost.kubernetes: 1.2.0
 tags:
   - application
   - cloud
diff --git a/plugins/filter/docker_image.py b/plugins/filter/docker_image.py
deleted file mode 100644
index dba6bab..0000000
--- a/plugins/filter/docker_image.py
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright (c) 2022 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.
-
-from __future__ import absolute_import, division, print_function
-
-__metaclass__ = type
-
-from ansible.errors import AnsibleFilterError
-from ansible.module_utils.common.collections import is_string
-
-try:
-    from docker_image import reference
-
-    HAS_DOCKER_IMAGE = True
-except ImportError:
-    HAS_DOCKER_IMAGE = False
-
-DOCUMENTATION = """
-  name: docker_image
-  short_description: Parse a Docker image reference
-  version_added: 0.13.0
-  description:
-    - Parse a Docker image and return different parts of the reference
-    - This lookup module requires "docker-image-py" to be installed on the
-      Ansible controller.
-  options:
-    _input:
-      type: string
-      required: true
-      description:
-          - Docker image reference to parse
-    part:
-      type: string
-      default: 'ref'
-      options: [name, ref, tag, domain, path]
-      required: true
-      description:
-        - Part of the Docker image reference to return
-    registry:
-      type: string
-      required: false
-      description:
-        - Override the registry in the Docker image reference
-  author:
-    - Mohammed Naser <mnaser@vexxhost.com>
-"""
-
-EXAMPLES = """
-  - name: Generate a Docker image reference
-    ansible.builtin.debug:
-      msg: "{{ 'docker.io/library/memcached:1.6.3' | vexxhost.atmosphere.docker_image('name') }}"
-"""
-
-RETURN = """
-  _value:
-    description: The part of the Docker image reference
-    type: string
-"""
-
-
-def docker_image(value, part="ref", registry=None):
-    if not is_string(value):
-        raise AnsibleFilterError(
-            "Invalid value type (%s) for docker_image (%r)" % (type(value), value)
-        )
-
-    if not HAS_DOCKER_IMAGE:
-        raise AnsibleFilterError(
-            "Failed to import docker-image-py module, ensure it is installed on the controller"
-        )
-
-    def _lookup_part(ref, part):
-        if part == "ref":
-            return ref.string()
-        if part == "name":
-            return ref["name"]
-        if part == "tag":
-            return ref["tag"]
-        if part == "domain":
-            return ref.repository["domain"]
-        if part == "path":
-            return ref.repository["path"]
-        if part == "digest":
-            return ref["digest"]
-        if part == "prefix":
-            path_parts = ref.repository["path"].split("/")[:-1]
-            path = "/".join(path_parts)
-            return "%s/%s" % (ref.repository["domain"], path)
-
-    ref = reference.Reference.parse(value)
-    if not registry:
-        return _lookup_part(ref, part)
-
-    # NOTE(mnaser): We re-write the name of a few images to make sense of them
-    #               in the context of the override registry.
-    ref_name = ref.repository["path"].split("/")[-1]
-    if value == "skopeo":
-        ref_name = "skopeo-stable"
-
-    # NOTE(mnaser): Since the attributes inside of reference.Reference are not
-    #               determined during parse time, we need to re-parse the
-    #               string to get the correct attributes.
-    ref["name"] = "{}/{}".format(registry, ref_name)
-    ref = reference.Reference.parse(ref.string())
-
-    return _lookup_part(ref, part)
-
-
-class FilterModule(object):
-    def filters(self):
-        return {"docker_image": docker_image}
diff --git a/roles/ceph_csi_rbd/vars/main.yml b/roles/ceph_csi_rbd/vars/main.yml
index 518c151..74948e4 100644
--- a/roles/ceph_csi_rbd/vars/main.yml
+++ b/roles/ceph_csi_rbd/vars/main.yml
@@ -21,25 +21,25 @@
       containerPort: 8081
     registrar:
       image:
-        repository: "{{ atmosphere_images['csi_node_driver_registrar'] | vexxhost.atmosphere.docker_image('name') }}"
+        repository: "{{ atmosphere_images['csi_node_driver_registrar'] | vexxhost.kubernetes.docker_image('name') }}"
     plugin:
       image:
-        repository: "{{ atmosphere_images['csi_rbd_plugin'] | vexxhost.atmosphere.docker_image('name') }}"
+        repository: "{{ atmosphere_images['csi_rbd_plugin'] | vexxhost.kubernetes.docker_image('name') }}"
   provisioner:
     nodeSelector:
       openstack-control-plane: enabled
     provisioner:
       image:
-        repository: "{{ atmosphere_images['csi_rbd_provisioner'] | vexxhost.atmosphere.docker_image('name') }}"
+        repository: "{{ atmosphere_images['csi_rbd_provisioner'] | vexxhost.kubernetes.docker_image('name') }}"
     attacher:
       image:
-        repository: "{{ atmosphere_images['csi_rbd_attacher'] | vexxhost.atmosphere.docker_image('name') }}"
+        repository: "{{ atmosphere_images['csi_rbd_attacher'] | vexxhost.kubernetes.docker_image('name') }}"
     resizer:
       image:
-        repository: "{{ atmosphere_images['csi_rbd_resizer'] | vexxhost.atmosphere.docker_image('name') }}"
+        repository: "{{ atmosphere_images['csi_rbd_resizer'] | vexxhost.kubernetes.docker_image('name') }}"
     snapshotter:
       image:
-        repository: "{{ atmosphere_images['csi_rbd_snapshotter'] | vexxhost.atmosphere.docker_image('name') }}"
+        repository: "{{ atmosphere_images['csi_rbd_snapshotter'] | vexxhost.kubernetes.docker_image('name') }}"
   storageClass:
     create: true
     name: general
diff --git a/roles/cert_manager/vars/main.yml b/roles/cert_manager/vars/main.yml
index 5c31124..cc3e737 100644
--- a/roles/cert_manager/vars/main.yml
+++ b/roles/cert_manager/vars/main.yml
@@ -16,8 +16,8 @@
   installCRDs: true
   featureGates: AdditionalCertificateOutputFormats=true
   image:
-    repository: "{{ atmosphere_images['cert_manager_controller'] | vexxhost.atmosphere.docker_image('name') }}"
-    tag: "{{ atmosphere_images['cert_manager_controller'] | vexxhost.atmosphere.docker_image('tag') }}"
+    repository: "{{ atmosphere_images['cert_manager_controller'] | vexxhost.kubernetes.docker_image('name') }}"
+    tag: "{{ atmosphere_images['cert_manager_controller'] | vexxhost.kubernetes.docker_image('tag') }}"
   volumes:
     - name: etc-ssl-certs
       hostPath:
@@ -34,17 +34,17 @@
     nodeSelector:
       openstack-control-plane: enabled
     image:
-      repository: "{{ atmosphere_images['cert_manager_webhook'] | vexxhost.atmosphere.docker_image('name') }}"
-      tag: "{{ atmosphere_images['cert_manager_webhook'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['cert_manager_webhook'] | vexxhost.kubernetes.docker_image('name') }}"
+      tag: "{{ atmosphere_images['cert_manager_webhook'] | vexxhost.kubernetes.docker_image('tag') }}"
   cainjector:
     nodeSelector:
       openstack-control-plane: enabled
     image:
-      repository: "{{ atmosphere_images['cert_manager_cainjector'] | vexxhost.atmosphere.docker_image('name') }}"
-      tag: "{{ atmosphere_images['cert_manager_cainjector'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['cert_manager_cainjector'] | vexxhost.kubernetes.docker_image('name') }}"
+      tag: "{{ atmosphere_images['cert_manager_cainjector'] | vexxhost.kubernetes.docker_image('tag') }}"
   startupapicheck:
     nodeSelector:
       openstack-control-plane: enabled
     image:
-      repository: "{{ atmosphere_images['cert_manager_cli'] | vexxhost.atmosphere.docker_image('name') }}"
-      tag: "{{ atmosphere_images['cert_manager_cli'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['cert_manager_cli'] | vexxhost.kubernetes.docker_image('name') }}"
+      tag: "{{ atmosphere_images['cert_manager_cli'] | vexxhost.kubernetes.docker_image('tag') }}"
diff --git a/roles/cilium/vars/main.yml b/roles/cilium/vars/main.yml
index 988dc5a..27bfdac 100644
--- a/roles/cilium/vars/main.yml
+++ b/roles/cilium/vars/main.yml
@@ -1,13 +1,13 @@
 _cilium_helm_values:
   image:
-    repository: "{{ atmosphere_images['cilium_node'] | vexxhost.atmosphere.docker_image('name') }}"
-    tag: "{{ atmosphere_images['cilium_node'] | vexxhost.atmosphere.docker_image('tag') }}"
+    repository: "{{ atmosphere_images['cilium_node'] | vexxhost.kubernetes.docker_image('name') }}"
+    tag: "{{ atmosphere_images['cilium_node'] | vexxhost.kubernetes.docker_image('tag') }}"
     useDigest: false
   tunnel: geneve
   operator:
     image:
-      repository: "{{ atmosphere_images['cilium_operator'] | vexxhost.atmosphere.docker_image('name') | replace('-generic', '') }}"
-      tag: "{{ atmosphere_images['cilium_operator'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['cilium_operator'] | vexxhost.kubernetes.docker_image('name') | replace('-generic', '') }}"
+      tag: "{{ atmosphere_images['cilium_operator'] | vexxhost.kubernetes.docker_image('tag') }}"
       useDigest: false
     nodeSelector:
       openstack-control-plane: enabled
diff --git a/roles/containerd/defaults/main.yml b/roles/containerd/defaults/main.yml
index 76962ba..64879dd 100644
--- a/roles/containerd/defaults/main.yml
+++ b/roles/containerd/defaults/main.yml
@@ -26,7 +26,7 @@
 containerd_download_unarchive_dest: "{{ download_artifact_work_directory }}/containerd-{{ containerd_version }}-{{ ansible_system | lower }}-{{ download_artifact_goarch }}" # noqa: yaml[line-length]
 containerd_archive_checksum: "{{ containerd_archive_checksums[download_artifact_goarch][containerd_version] }}"
 
-containerd_pause_image: "{{ atmosphere_images['pause'] | vexxhost.atmosphere.docker_image('ref') }}"
+containerd_pause_image: "{{ atmosphere_images['pause'] | vexxhost.kubernetes.docker_image('ref') }}"
 containerd_insecure_registries: []
 
 # NOTE(mnaser): This is to accomodate for the uninstallation of the old packages
diff --git a/roles/coredns/vars/main.yml b/roles/coredns/vars/main.yml
index 0459a60..000e069 100644
--- a/roles/coredns/vars/main.yml
+++ b/roles/coredns/vars/main.yml
@@ -14,7 +14,7 @@
 
 _coredns_helm_values:
   image:
-    repository: "{{ atmosphere_images['neutron_coredns'] | vexxhost.atmosphere.docker_image('name') }}"
+    repository: "{{ atmosphere_images['neutron_coredns'] | vexxhost.kubernetes.docker_image('name') }}"
   replicaCount: 3
   prometheus:
     service:
diff --git a/roles/image_manifest/defaults/main.yml b/roles/image_manifest/defaults/main.yml
index 9bb6354..05cd651 100644
--- a/roles/image_manifest/defaults/main.yml
+++ b/roles/image_manifest/defaults/main.yml
@@ -6,6 +6,6 @@
   atmosphere_images: "{{ dict(
     atmosphere_images.keys() |
       zip(
-        atmosphere_images.values() | map('vexxhost.atmosphere.docker_image', 'ref', registry=image_manifest_registry)
+        atmosphere_images.values() | map('vexxhost.kubernetes.docker_image', 'ref', registry=image_manifest_registry)
       )
     ) }}"
diff --git a/roles/ingress_nginx/vars/main.yml b/roles/ingress_nginx/vars/main.yml
index 3f86fd1..f62eb4e 100644
--- a/roles/ingress_nginx/vars/main.yml
+++ b/roles/ingress_nginx/vars/main.yml
@@ -15,10 +15,10 @@
 _ingress_nginx_helm_values:
   controller:
     image:
-      registry: "{{ atmosphere_images['ingress_nginx_controller'] | vexxhost.atmosphere.docker_image('domain') }}"
-      image: "{{ atmosphere_images['ingress_nginx_controller'] | vexxhost.atmosphere.docker_image('path') }}"
-      tag: "{{ atmosphere_images['ingress_nginx_controller'] | vexxhost.atmosphere.docker_image('tag') }}"
-      digest: "{{ atmosphere_images['ingress_nginx_controller'] | vexxhost.atmosphere.docker_image('digest') }}"
+      registry: "{{ atmosphere_images['ingress_nginx_controller'] | vexxhost.kubernetes.docker_image('domain') }}"
+      image: "{{ atmosphere_images['ingress_nginx_controller'] | vexxhost.kubernetes.docker_image('path') }}"
+      tag: "{{ atmosphere_images['ingress_nginx_controller'] | vexxhost.kubernetes.docker_image('tag') }}"
+      digest: "{{ atmosphere_images['ingress_nginx_controller'] | vexxhost.kubernetes.docker_image('digest') }}"
     config:
       proxy-buffer-size: 16k
     dnsPolicy: ClusterFirstWithHostNet
@@ -35,18 +35,18 @@
       port: 7443
       patch:
         image:
-          registry: "{{ atmosphere_images['ingress_nginx_kube_webhook_certgen'] | vexxhost.atmosphere.docker_image('domain') }}"
-          image: "{{ atmosphere_images['ingress_nginx_kube_webhook_certgen'] | vexxhost.atmosphere.docker_image('path') }}"
-          tag: "{{ atmosphere_images['ingress_nginx_kube_webhook_certgen'] | vexxhost.atmosphere.docker_image('tag') }}"
-          digest: "{{ atmosphere_images['ingress_nginx_kube_webhook_certgen'] | vexxhost.atmosphere.docker_image('digest') }}"
+          registry: "{{ atmosphere_images['ingress_nginx_kube_webhook_certgen'] | vexxhost.kubernetes.docker_image('domain') }}"
+          image: "{{ atmosphere_images['ingress_nginx_kube_webhook_certgen'] | vexxhost.kubernetes.docker_image('path') }}"
+          tag: "{{ atmosphere_images['ingress_nginx_kube_webhook_certgen'] | vexxhost.kubernetes.docker_image('tag') }}"
+          digest: "{{ atmosphere_images['ingress_nginx_kube_webhook_certgen'] | vexxhost.kubernetes.docker_image('digest') }}"
     metrics:
       enabled: true
   defaultBackend:
     enabled: true
     image:
-      registry: "{{ atmosphere_images['ingress_nginx_default_backend'] | vexxhost.atmosphere.docker_image('domain') }}"
-      image: "{{ atmosphere_images['ingress_nginx_default_backend'] | vexxhost.atmosphere.docker_image('path') }}"
-      tag: "{{ atmosphere_images['ingress_nginx_default_backend'] | vexxhost.atmosphere.docker_image('tag') }}"
+      registry: "{{ atmosphere_images['ingress_nginx_default_backend'] | vexxhost.kubernetes.docker_image('domain') }}"
+      image: "{{ atmosphere_images['ingress_nginx_default_backend'] | vexxhost.kubernetes.docker_image('path') }}"
+      tag: "{{ atmosphere_images['ingress_nginx_default_backend'] | vexxhost.kubernetes.docker_image('tag') }}"
   tcp:
     '5354': openstack/minidns:5354
   udp:
diff --git a/roles/ipmi_exporter/tasks/main.yml b/roles/ipmi_exporter/tasks/main.yml
index 9e9ad80..c83104d 100644
--- a/roles/ipmi_exporter/tasks/main.yml
+++ b/roles/ipmi_exporter/tasks/main.yml
@@ -47,7 +47,7 @@
             spec:
               containers:
                 - name: exporter
-                  image: "{{ atmosphere_images['prometheus_ipmi_exporter'] | vexxhost.atmosphere.docker_image('ref') }}"
+                  image: "{{ atmosphere_images['prometheus_ipmi_exporter'] | vexxhost.kubernetes.docker_image('ref') }}"
                   ports:
                     - name: metrics
                       containerPort: 9290
diff --git a/roles/keepalived/tasks/main.yml b/roles/keepalived/tasks/main.yml
index ec6d8d5..50eb9d3 100644
--- a/roles/keepalived/tasks/main.yml
+++ b/roles/keepalived/tasks/main.yml
@@ -118,7 +118,7 @@
               automountServiceAccountToken: true
               initContainers:
                 - name: init
-                  image: "{{ atmosphere_images['dep_check'] | vexxhost.atmosphere.docker_image('ref') }}"
+                  image: "{{ atmosphere_images['dep_check'] | vexxhost.kubernetes.docker_image('ref') }}"
                   env:
                     - name: NAMESPACE
                       valueFrom:
@@ -133,7 +133,7 @@
                     - name: DEPENDENCY_POD_JSON
                       value: '[{"labels":{"application":"neutron","component":"neutron-ovs-agent"},"requireSameNode":true}]'
                 - name: wait-for-ip
-                  image: "{{ atmosphere_images['keepalived'] | vexxhost.atmosphere.docker_image('ref') }}"
+                  image: "{{ atmosphere_images['keepalived'] | vexxhost.kubernetes.docker_image('ref') }}"
                   command:
                     - /bin/wait-for-ip.sh
                   volumeMounts:
@@ -144,7 +144,7 @@
                       subPath: wait-for-ip.sh
               containers:
                 - name: keepalived
-                  image: "{{ atmosphere_images['keepalived'] | vexxhost.atmosphere.docker_image('ref') }}"
+                  image: "{{ atmosphere_images['keepalived'] | vexxhost.kubernetes.docker_image('ref') }}"
                   command:
                     - keepalived
                     - -f
diff --git a/roles/kube_prometheus_stack/vars/main.yml b/roles/kube_prometheus_stack/vars/main.yml
index e566405..eeb27e8 100644
--- a/roles/kube_prometheus_stack/vars/main.yml
+++ b/roles/kube_prometheus_stack/vars/main.yml
@@ -16,8 +16,8 @@
           regex: ^(container|endpoint|namespace|pod|node|service)$
     alertmanagerSpec:
       image:
-        repository: "{{ atmosphere_images['alertmanager'] | vexxhost.atmosphere.docker_image('name') }}"
-        tag: "{{ atmosphere_images['alertmanager'] | vexxhost.atmosphere.docker_image('tag') }}"
+        repository: "{{ atmosphere_images['alertmanager'] | vexxhost.kubernetes.docker_image('name') }}"
+        tag: "{{ atmosphere_images['alertmanager'] | vexxhost.kubernetes.docker_image('tag') }}"
       storage:
         volumeClaimTemplate:
           spec:
@@ -31,12 +31,12 @@
         openstack-control-plane: enabled
   grafana:
     image:
-      repository: "{{ atmosphere_images['grafana'] | vexxhost.atmosphere.docker_image('name') }}"
-      tag: "{{ atmosphere_images['grafana'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['grafana'] | vexxhost.kubernetes.docker_image('name') }}"
+      tag: "{{ atmosphere_images['grafana'] | vexxhost.kubernetes.docker_image('tag') }}"
     sidecar:
       image:
-        repository: "{{ atmosphere_images['grafana_sidecar'] | vexxhost.atmosphere.docker_image('name') }}"
-        tag: "{{ atmosphere_images['grafana_sidecar'] | vexxhost.atmosphere.docker_image('tag') }}"
+        repository: "{{ atmosphere_images['grafana_sidecar'] | vexxhost.kubernetes.docker_image('name') }}"
+        tag: "{{ atmosphere_images['grafana_sidecar'] | vexxhost.kubernetes.docker_image('tag') }}"
     additionalDataSources:
       - name: Loki
         type: loki
@@ -97,8 +97,8 @@
       relabelings: *relabelings_instance_to_node_name
   kube-state-metrics:
     image:
-      repository: "{{ atmosphere_images['kube_state_metrics'] | vexxhost.atmosphere.docker_image('name') }}"
-      tag: "{{ atmosphere_images['kube_state_metrics'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['kube_state_metrics'] | vexxhost.kubernetes.docker_image('name') }}"
+      tag: "{{ atmosphere_images['kube_state_metrics'] | vexxhost.kubernetes.docker_image('tag') }}"
     prometheus:
       monitor:
         relabelings: *relabelings_instance_to_pod_name
@@ -108,8 +108,8 @@
       relabelings: *relabelings_instance_to_pod_name
     prometheusSpec:
       image:
-        repository: "{{ atmosphere_images['prometheus'] | vexxhost.atmosphere.docker_image('name') }}"
-        tag: "{{ atmosphere_images['prometheus'] | vexxhost.atmosphere.docker_image('tag') }}"
+        repository: "{{ atmosphere_images['prometheus'] | vexxhost.kubernetes.docker_image('name') }}"
+        tag: "{{ atmosphere_images['prometheus'] | vexxhost.kubernetes.docker_image('tag') }}"
       nodeSelector: *node_selector
       secrets:
         - kube-prometheus-stack-etcd-client-cert
@@ -235,23 +235,23 @@
     admissionWebhooks:
       patch:
         image:
-          repository: "{{ atmosphere_images['prometheus_operator_kube_webhook_certgen'] | vexxhost.atmosphere.docker_image('name') }}"
-          tag: "{{ atmosphere_images['prometheus_operator_kube_webhook_certgen'] | vexxhost.atmosphere.docker_image('tag') }}"
+          repository: "{{ atmosphere_images['prometheus_operator_kube_webhook_certgen'] | vexxhost.kubernetes.docker_image('name') }}"
+          tag: "{{ atmosphere_images['prometheus_operator_kube_webhook_certgen'] | vexxhost.kubernetes.docker_image('tag') }}"
         nodeSelector: *node_selector
     serviceMonitor:
       relabelings: *relabelings_instance_to_pod_name
     nodeSelector: *node_selector
     image:
-      repository: "{{ atmosphere_images['prometheus_operator'] | vexxhost.atmosphere.docker_image('name') }}"
-      tag: "{{ atmosphere_images['prometheus_operator'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['prometheus_operator'] | vexxhost.kubernetes.docker_image('name') }}"
+      tag: "{{ atmosphere_images['prometheus_operator'] | vexxhost.kubernetes.docker_image('tag') }}"
     prometheusConfigReloader:
       image:
-        repository: "{{ atmosphere_images['prometheus_config_reloader'] | vexxhost.atmosphere.docker_image('name') }}"
-        tag: "{{ atmosphere_images['prometheus_config_reloader'] | vexxhost.atmosphere.docker_image('tag') }}"
+        repository: "{{ atmosphere_images['prometheus_config_reloader'] | vexxhost.kubernetes.docker_image('name') }}"
+        tag: "{{ atmosphere_images['prometheus_config_reloader'] | vexxhost.kubernetes.docker_image('tag') }}"
   prometheus-node-exporter:
     image:
-      repository: "{{ atmosphere_images['prometheus_node_exporter'] | vexxhost.atmosphere.docker_image('name') }}"
-      tag: "{{ atmosphere_images['prometheus_node_exporter'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['prometheus_node_exporter'] | vexxhost.kubernetes.docker_image('name') }}"
+      tag: "{{ atmosphere_images['prometheus_node_exporter'] | vexxhost.kubernetes.docker_image('tag') }}"
     extraArgs:
       - --collector.diskstats.ignored-devices=^(ram|loop|nbd|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$
       - --collector.filesystem.fs-types-exclude=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|fuse.squashfuse_ll|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$
diff --git a/roles/kubernetes/templates/haproxy.yaml.j2 b/roles/kubernetes/templates/haproxy.yaml.j2
index f7f3c53..cc753a9 100644
--- a/roles/kubernetes/templates/haproxy.yaml.j2
+++ b/roles/kubernetes/templates/haproxy.yaml.j2
@@ -6,7 +6,7 @@
 spec:
   containers:
     - name: haproxy
-      image: "{{ atmosphere_images['haproxy'] | vexxhost.atmosphere.docker_image('ref') }}"
+      image: "{{ atmosphere_images['haproxy'] | vexxhost.kubernetes.docker_image('ref') }}"
       livenessProbe:
         failureThreshold: 8
         httpGet:
diff --git a/roles/kubernetes/templates/keepalived.yaml.j2 b/roles/kubernetes/templates/keepalived.yaml.j2
index 529f05d..a2b579d 100644
--- a/roles/kubernetes/templates/keepalived.yaml.j2
+++ b/roles/kubernetes/templates/keepalived.yaml.j2
@@ -7,7 +7,7 @@
 spec:
   containers:
     - name: keepalived
-      image: "{{ atmosphere_images['keepalived'] | vexxhost.atmosphere.docker_image('ref') }}"
+      image: "{{ atmosphere_images['keepalived'] | vexxhost.kubernetes.docker_image('ref') }}"
       command: ["keepalived", "-f", "/etc/keepalived/keepalived.conf", "--dont-fork", "--log-console", "--log-detail", "--dump-conf"]
       resources: {}
       securityContext:
diff --git a/roles/loki/vars/main.yml b/roles/loki/vars/main.yml
index dffbb2c..f00b0ab 100644
--- a/roles/loki/vars/main.yml
+++ b/roles/loki/vars/main.yml
@@ -15,9 +15,9 @@
 _loki_helm_values:
   loki:
     image:
-      registry: "{{ atmosphere_images['loki'] | vexxhost.atmosphere.docker_image('domain') }}"
-      repository: "{{ atmosphere_images['loki'] | vexxhost.atmosphere.docker_image('path') }}"
-      tag: "{{ atmosphere_images['loki'] | vexxhost.atmosphere.docker_image('tag') }}"
+      registry: "{{ atmosphere_images['loki'] | vexxhost.kubernetes.docker_image('domain') }}"
+      repository: "{{ atmosphere_images['loki'] | vexxhost.kubernetes.docker_image('path') }}"
+      tag: "{{ atmosphere_images['loki'] | vexxhost.kubernetes.docker_image('tag') }}"
     auth_enabled: false
     commonConfig:
       replication_factor: 1
@@ -40,6 +40,6 @@
       size: 256Gi
   gateway:
     image:
-      registry: "{{ atmosphere_images['loki_gateway'] | vexxhost.atmosphere.docker_image('domain') }}"
-      repository: "{{ atmosphere_images['loki_gateway'] | vexxhost.atmosphere.docker_image('path') }}"
-      tag: "{{ atmosphere_images['loki_gateway'] | vexxhost.atmosphere.docker_image('tag') }}"
+      registry: "{{ atmosphere_images['loki_gateway'] | vexxhost.kubernetes.docker_image('domain') }}"
+      repository: "{{ atmosphere_images['loki_gateway'] | vexxhost.kubernetes.docker_image('path') }}"
+      tag: "{{ atmosphere_images['loki_gateway'] | vexxhost.kubernetes.docker_image('tag') }}"
diff --git a/roles/magnum/defaults/main.yml b/roles/magnum/defaults/main.yml
index bc30e8a..285fe99 100644
--- a/roles/magnum/defaults/main.yml
+++ b/roles/magnum/defaults/main.yml
@@ -29,17 +29,17 @@
 magnum_clusterctl_config:
   images:
     cluster-api/cluster-api-controller:
-      repository: "{{ atmosphere_images['cluster_api_controller'] | vexxhost.atmosphere.docker_image('prefix') }}"
-      tag: "{{ atmosphere_images['cluster_api_controller'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['cluster_api_controller'] | vexxhost.kubernetes.docker_image('prefix') }}"
+      tag: "{{ atmosphere_images['cluster_api_controller'] | vexxhost.kubernetes.docker_image('tag') }}"
     bootstrap-kubeadm/kubeadm-bootstrap-controller:
-      repository: "{{ atmosphere_images['cluster_api_kubeadm_bootstrap_controller'] | vexxhost.atmosphere.docker_image('prefix') }}"
-      tag: "{{ atmosphere_images['cluster_api_kubeadm_bootstrap_controller'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['cluster_api_kubeadm_bootstrap_controller'] | vexxhost.kubernetes.docker_image('prefix') }}"
+      tag: "{{ atmosphere_images['cluster_api_kubeadm_bootstrap_controller'] | vexxhost.kubernetes.docker_image('tag') }}"
     control-plane-kubeadm/kubeadm-control-plane-controller:
-      repository: "{{ atmosphere_images['cluster_api_kubeadm_control_plane_controller'] | vexxhost.atmosphere.docker_image('prefix') }}"
-      tag: "{{ atmosphere_images['cluster_api_kubeadm_control_plane_controller'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['cluster_api_kubeadm_control_plane_controller'] | vexxhost.kubernetes.docker_image('prefix') }}"
+      tag: "{{ atmosphere_images['cluster_api_kubeadm_control_plane_controller'] | vexxhost.kubernetes.docker_image('tag') }}"
     infrastructure-openstack/capi-openstack-controller:
-      repository: "{{ atmosphere_images['cluster_api_openstack_controller'] | vexxhost.atmosphere.docker_image('prefix') }}"
-      tag: "{{ atmosphere_images['cluster_api_openstack_controller'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['cluster_api_openstack_controller'] | vexxhost.kubernetes.docker_image('prefix') }}"
+      tag: "{{ atmosphere_images['cluster_api_openstack_controller'] | vexxhost.kubernetes.docker_image('tag') }}"
 
 # List of images to load into OpenStack for Magnum
 magnum_image_container_format: bare
diff --git a/roles/magnum/tasks/main.yml b/roles/magnum/tasks/main.yml
index 05eecb1..c8a3e68 100644
--- a/roles/magnum/tasks/main.yml
+++ b/roles/magnum/tasks/main.yml
@@ -201,7 +201,7 @@
                       value: /var/lib/registry
                     - name: REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED
                       value: "true"
-                  image: "{{ atmosphere_images['magnum_registry'] | vexxhost.atmosphere.docker_image('ref') }}"
+                  image: "{{ atmosphere_images['magnum_registry'] | vexxhost.kubernetes.docker_image('ref') }}"
                   ports:
                     - containerPort: 5000
                       name: registry
@@ -263,7 +263,7 @@
               restartPolicy: OnFailure
               containers:
                 - name: loader
-                  image: "{{ atmosphere_images['magnum_api'] | vexxhost.atmosphere.docker_image('ref') }}"
+                  image: "{{ atmosphere_images['magnum_api'] | vexxhost.kubernetes.docker_image('ref') }}"
                   command:
                     - magnum-cluster-api-image-loader
                     - --insecure
diff --git a/roles/node_feature_discovery/vars/main.yml b/roles/node_feature_discovery/vars/main.yml
index cfe6295..65aa7e1 100644
--- a/roles/node_feature_discovery/vars/main.yml
+++ b/roles/node_feature_discovery/vars/main.yml
@@ -14,7 +14,7 @@
 
 _node_feature_discovery_helm_values:
   image:
-    repository: "{{ atmosphere_images['node_feature_discovery'] | vexxhost.atmosphere.docker_image('name') }}"
+    repository: "{{ atmosphere_images['node_feature_discovery'] | vexxhost.kubernetes.docker_image('name') }}"
   master:
     nodeSelector:
       openstack-control-plane: enabled
diff --git a/roles/openstack_exporter/tasks/main.yml b/roles/openstack_exporter/tasks/main.yml
index 8298a06..a7ef425 100644
--- a/roles/openstack_exporter/tasks/main.yml
+++ b/roles/openstack_exporter/tasks/main.yml
@@ -37,7 +37,7 @@
                 openstack-control-plane: enabled
               initContainers:
                 - name: build-config
-                  image: "{{ atmosphere_images['bootstrap'] | vexxhost.atmosphere.docker_image('ref') }}"
+                  image: "{{ atmosphere_images['bootstrap'] | vexxhost.kubernetes.docker_image('ref') }}"
                   command: ["bash", "-ec"]
                   args:
                     - |
@@ -65,7 +65,7 @@
                       mountPath: /etc/openstack
               containers:
                 - name: openstack-exporter
-                  image: "{{ atmosphere_images['prometheus_openstack_exporter'] | vexxhost.atmosphere.docker_image('ref') }}"
+                  image: "{{ atmosphere_images['prometheus_openstack_exporter'] | vexxhost.kubernetes.docker_image('ref') }}"
                   args:
                     - --endpoint-type
                     - internal
diff --git a/roles/percona_xtradb_cluster/vars/main.yml b/roles/percona_xtradb_cluster/vars/main.yml
index 334d165..7692832 100644
--- a/roles/percona_xtradb_cluster/vars/main.yml
+++ b/roles/percona_xtradb_cluster/vars/main.yml
@@ -3,7 +3,7 @@
   secretsName: percona-xtradb
   pxc:
     size: 3
-    image: "{{ atmosphere_images['percona_xtradb_cluster'] | vexxhost.atmosphere.docker_image('ref') }}"
+    image: "{{ atmosphere_images['percona_xtradb_cluster'] | vexxhost.kubernetes.docker_image('ref') }}"
     autoRecovery: true
     configuration: |
       [mysqld]
@@ -11,7 +11,7 @@
       innodb_buffer_pool_size=4096M
     sidecars:
       - name: exporter
-        image: "{{ atmosphere_images['prometheus_mysqld_exporter'] | vexxhost.atmosphere.docker_image('ref') }}"
+        image: "{{ atmosphere_images['prometheus_mysqld_exporter'] | vexxhost.kubernetes.docker_image('ref') }}"
         env:
           - name: MONITOR_PASSWORD
             valueFrom:
@@ -37,6 +37,6 @@
   haproxy:
     enabled: true
     size: 3
-    image: "{{ atmosphere_images['percona_xtradb_cluster_haproxy'] | vexxhost.atmosphere.docker_image('ref') }}"
+    image: "{{ atmosphere_images['percona_xtradb_cluster_haproxy'] | vexxhost.kubernetes.docker_image('ref') }}"
     nodeSelector:
       openstack-control-plane: enabled
diff --git a/roles/percona_xtradb_cluster_operator/vars/main.yml b/roles/percona_xtradb_cluster_operator/vars/main.yml
index 15079c7..0f13ba0 100644
--- a/roles/percona_xtradb_cluster_operator/vars/main.yml
+++ b/roles/percona_xtradb_cluster_operator/vars/main.yml
@@ -13,6 +13,6 @@
 # under the License.
 
 _percona_xtradb_cluster_operator_helm_values:
-  image: "{{ atmosphere_images['percona_xtradb_cluster_operator'] | vexxhost.atmosphere.docker_image('ref') }}"
+  image: "{{ atmosphere_images['percona_xtradb_cluster_operator'] | vexxhost.kubernetes.docker_image('ref') }}"
   nodeSelector:
     openstack-control-plane: enabled
diff --git a/roles/prometheus_ethtool_exporter/tasks/main.yml b/roles/prometheus_ethtool_exporter/tasks/main.yml
index e4d640f..5381e9c 100644
--- a/roles/prometheus_ethtool_exporter/tasks/main.yml
+++ b/roles/prometheus_ethtool_exporter/tasks/main.yml
@@ -31,7 +31,7 @@
                       valueFrom:
                         fieldRef:
                           fieldPath: status.podIP
-                  image: "{{ atmosphere_images['prometheus_ethtool_exporter'] | vexxhost.atmosphere.docker_image('ref') }}"
+                  image: "{{ atmosphere_images['prometheus_ethtool_exporter'] | vexxhost.kubernetes.docker_image('ref') }}"
                   args:
                     - "-L"
                     - "$(IP)"
diff --git a/roles/prometheus_pushgateway/vars/main.yml b/roles/prometheus_pushgateway/vars/main.yml
index fb0d7ec..901e8ce 100644
--- a/roles/prometheus_pushgateway/vars/main.yml
+++ b/roles/prometheus_pushgateway/vars/main.yml
@@ -14,7 +14,7 @@
 
 _prometheus_pushgateway_helm_values:
   image:
-    repository: "{{ atmosphere_images['prometheus_pushgateway'] | vexxhost.atmosphere.docker_image('name') }}"
+    repository: "{{ atmosphere_images['prometheus_pushgateway'] | vexxhost.kubernetes.docker_image('name') }}"
   nodeSelector:
     openstack-control-plane: enabled
   serviceMonitor:
diff --git a/roles/rabbitmq/vars/main.yml b/roles/rabbitmq/vars/main.yml
index b6792eb..67d9c13 100644
--- a/roles/rabbitmq/vars/main.yml
+++ b/roles/rabbitmq/vars/main.yml
@@ -13,7 +13,7 @@
 # under the License.
 
 _rabbitmq_spec:
-  image: "{{ atmosphere_images['rabbitmq_server'] | vexxhost.atmosphere.docker_image('ref') }}"
+  image: "{{ atmosphere_images['rabbitmq_server'] | vexxhost.kubernetes.docker_image('ref') }}"
   affinity:
     nodeAffinity:
       requiredDuringSchedulingIgnoredDuringExecution:
diff --git a/roles/rabbitmq_cluster_operator/vars/main.yml b/roles/rabbitmq_cluster_operator/vars/main.yml
index 92b4391..ceddaf7 100644
--- a/roles/rabbitmq_cluster_operator/vars/main.yml
+++ b/roles/rabbitmq_cluster_operator/vars/main.yml
@@ -14,25 +14,25 @@
 
 _rabbitmq_cluster_operator_helm_values:
   global:
-    imageRegistry: "{{ atmosphere_images['rabbitmq_cluster_operator'] | vexxhost.atmosphere.docker_image('domain') }}"
+    imageRegistry: "{{ atmosphere_images['rabbitmq_cluster_operator'] | vexxhost.kubernetes.docker_image('domain') }}"
   rabbitmqImage:
-    repository: "{{ atmosphere_images['rabbitmq_server'] | vexxhost.atmosphere.docker_image('path') }}"
-    tag: "{{ atmosphere_images['rabbitmq_server'] | vexxhost.atmosphere.docker_image('tag') }}"
+    repository: "{{ atmosphere_images['rabbitmq_server'] | vexxhost.kubernetes.docker_image('path') }}"
+    tag: "{{ atmosphere_images['rabbitmq_server'] | vexxhost.kubernetes.docker_image('tag') }}"
   credentialUpdaterImage:
-    repository: "{{ atmosphere_images['rabbitmq_credential_updater'] | vexxhost.atmosphere.docker_image('path') }}"
-    tag: "{{ atmosphere_images['rabbitmq_credential_updater'] | vexxhost.atmosphere.docker_image('tag') }}"
+    repository: "{{ atmosphere_images['rabbitmq_credential_updater'] | vexxhost.kubernetes.docker_image('path') }}"
+    tag: "{{ atmosphere_images['rabbitmq_credential_updater'] | vexxhost.kubernetes.docker_image('tag') }}"
   clusterOperator:
     fullnameOverride: rabbitmq-cluster-operator
     nodeSelector:
       openstack-control-plane: enabled
     image:
-      repository: "{{ atmosphere_images['rabbitmq_cluster_operator'] | vexxhost.atmosphere.docker_image('path') }}"
-      tag: "{{ atmosphere_images['rabbitmq_cluster_operator'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['rabbitmq_cluster_operator'] | vexxhost.kubernetes.docker_image('path') }}"
+      tag: "{{ atmosphere_images['rabbitmq_cluster_operator'] | vexxhost.kubernetes.docker_image('tag') }}"
   msgTopologyOperator:
     fullnameOverride: rabbitmq-messaging-topology-operator
     nodeSelector:
       openstack-control-plane: enabled
     image:
-      repository: "{{ atmosphere_images['rabbitmq_topology_operator'] | vexxhost.atmosphere.docker_image('path') }}"
-      tag: "{{ atmosphere_images['rabbitmq_topology_operator'] | vexxhost.atmosphere.docker_image('tag') }}"
+      repository: "{{ atmosphere_images['rabbitmq_topology_operator'] | vexxhost.kubernetes.docker_image('path') }}"
+      tag: "{{ atmosphere_images['rabbitmq_topology_operator'] | vexxhost.kubernetes.docker_image('tag') }}"
   useCertManager: true
diff --git a/roles/rook_ceph/vars/main.yml b/roles/rook_ceph/vars/main.yml
index 7adbfd1..49b4db5 100644
--- a/roles/rook_ceph/vars/main.yml
+++ b/roles/rook_ceph/vars/main.yml
@@ -14,8 +14,8 @@
 
 _rook_ceph_helm_values:
   image:
-    repository: "{{ atmosphere_images['rook_ceph'] | vexxhost.atmosphere.docker_image('path') }}"
-    tag: "{{ atmosphere_images['rook_ceph'] | vexxhost.atmosphere.docker_image('tag') }}"
+    repository: "{{ atmosphere_images['rook_ceph'] | vexxhost.kubernetes.docker_image('path') }}"
+    tag: "{{ atmosphere_images['rook_ceph'] | vexxhost.kubernetes.docker_image('tag') }}"
   nodeSelector:
     openstack-control-plane: enabled
   # NOTE(mnaser): Once we implement storage inside Atmosphere, we can rely on
diff --git a/roles/rook_ceph_cluster/vars/main.yml b/roles/rook_ceph_cluster/vars/main.yml
index 1ed5894..c0b9c57 100644
--- a/roles/rook_ceph_cluster/vars/main.yml
+++ b/roles/rook_ceph_cluster/vars/main.yml
@@ -14,7 +14,7 @@
 
 _rook_ceph_cluster_spec:
   cephVersion:
-    image: "{{ atmosphere_images['ceph'] | vexxhost.atmosphere.docker_image('ref') }}"
+    image: "{{ atmosphere_images['ceph'] | vexxhost.kubernetes.docker_image('ref') }}"
   external:
     enable: true
 
diff --git a/roles/vector/vars/main.yml b/roles/vector/vars/main.yml
index 22c6b36..52c8aa9 100644
--- a/roles/vector/vars/main.yml
+++ b/roles/vector/vars/main.yml
@@ -15,8 +15,8 @@
 _vector_helm_values:
   role: Agent
   image:
-    repository: "{{ atmosphere_images['vector'] | vexxhost.atmosphere.docker_image('name') }}"
-    tag: "{{ atmosphere_images['vector'] | vexxhost.atmosphere.docker_image('tag') }}"
+    repository: "{{ atmosphere_images['vector'] | vexxhost.kubernetes.docker_image('name') }}"
+    tag: "{{ atmosphere_images['vector'] | vexxhost.kubernetes.docker_image('tag') }}"
   service:
     enabled: false
   customConfig:
diff --git a/tests/unit/plugins/filter/test_docker_image.py b/tests/unit/plugins/filter/test_docker_image.py
deleted file mode 100644
index c58a9eb..0000000
--- a/tests/unit/plugins/filter/test_docker_image.py
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright (c) 2022 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.
-
-import pytest
-from ansible_collections.vexxhost.atmosphere.plugins.filter.docker_image import (
-    docker_image,
-)
-
-
-@pytest.mark.parametrize(
-    "test_input,expected",
-    [
-        ("quay.io/vexxhost/glance:zed", "quay.io/vexxhost/glance:zed"),
-        (
-            "us-docker.pkg.dev/vexxhost-infra/openstack/heat:wallaby",
-            "us-docker.pkg.dev/vexxhost-infra/openstack/heat:wallaby",
-        ),
-        (
-            "k8s.gcr.io/sig-storage/csi-snapshotter:v4.2.0",
-            "k8s.gcr.io/sig-storage/csi-snapshotter:v4.2.0",
-        ),
-        ("docker.io/library/haproxy:2.5", "docker.io/library/haproxy:2.5"),
-        (
-            "k8s.gcr.io/ingress-nginx/controller:v1.1.1@sha256:0bc88eb15f9e7f84e8e56c14fa5735aaa488b840983f87bd79b1054190e660de",  # noqa E501
-            "k8s.gcr.io/ingress-nginx/controller:v1.1.1@sha256:0bc88eb15f9e7f84e8e56c14fa5735aaa488b840983f87bd79b1054190e660de",  # noqa E501
-        ),
-    ],
-)
-def test_docker_image_ref(test_input, expected):
-    assert docker_image(test_input, "ref") == expected
-
-
-@pytest.mark.parametrize(
-    "test_input,expected",
-    [
-        ("quay.io/vexxhost/glance:zed", "quay.io/vexxhost/glance"),
-        (
-            "us-docker.pkg.dev/vexxhost-infra/openstack/heat:wallaby",
-            "us-docker.pkg.dev/vexxhost-infra/openstack/heat",
-        ),
-        (
-            "k8s.gcr.io/sig-storage/csi-snapshotter:v4.2.0",
-            "k8s.gcr.io/sig-storage/csi-snapshotter",
-        ),
-        ("docker.io/library/haproxy:2.5", "docker.io/library/haproxy"),
-        (
-            "k8s.gcr.io/ingress-nginx/controller:v1.1.1@sha256:0bc88eb15f9e7f84e8e56c14fa5735aaa488b840983f87bd79b1054190e660de",  # noqa E501
-            "k8s.gcr.io/ingress-nginx/controller",
-        ),
-    ],
-)
-def test_docker_image_name(test_input, expected):
-    assert docker_image(test_input, "name") == expected
-
-
-@pytest.mark.parametrize(
-    "test_input,expected",
-    [
-        ("quay.io/vexxhost/glance:zed", "quay.io"),
-        (
-            "us-docker.pkg.dev/vexxhost-infra/openstack/heat:wallaby",
-            "us-docker.pkg.dev",
-        ),
-        (
-            "k8s.gcr.io/sig-storage/csi-snapshotter:v4.2.0",
-            "k8s.gcr.io",
-        ),
-        ("docker.io/library/haproxy:2.5", "docker.io"),
-        (
-            "k8s.gcr.io/ingress-nginx/controller:v1.1.1@sha256:0bc88eb15f9e7f84e8e56c14fa5735aaa488b840983f87bd79b1054190e660de",  # noqa E501
-            "k8s.gcr.io",
-        ),
-    ],
-)
-def test_docker_image_domain(test_input, expected):
-    assert docker_image(test_input, "domain") == expected
-
-
-@pytest.mark.parametrize(
-    "test_input,expected",
-    [
-        ("quay.io/vexxhost/glance:zed", "vexxhost/glance"),
-        (
-            "us-docker.pkg.dev/vexxhost-infra/openstack/heat:wallaby",
-            "vexxhost-infra/openstack/heat",
-        ),
-        (
-            "k8s.gcr.io/sig-storage/csi-snapshotter:v4.2.0",
-            "sig-storage/csi-snapshotter",
-        ),
-        ("docker.io/library/haproxy:2.5", "library/haproxy"),
-        (
-            "k8s.gcr.io/ingress-nginx/controller:v1.1.1@sha256:0bc88eb15f9e7f84e8e56c14fa5735aaa488b840983f87bd79b1054190e660de",  # noqa E501
-            "ingress-nginx/controller",
-        ),
-    ],
-)
-def test_docker_image_path(test_input, expected):
-    assert docker_image(test_input, "path") == expected