This article will detail the required Ingress configuration in order to allow Docker clients to access Artifactory using the subdomain access method.
For instructions on configuring Ingress in JFrog's Helm Charts deployments, please refer to this article.
Configuration snippet:
Use the below configuration passed via the values YAML file to allow Docker subdomain access:
ingress: enabled: true defaultBackend: enabled: true hosts: - "artifactory.vasilys.support-testlab.com" routerPath: / artifactoryPath: /artifactory/ className: "" annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/proxy-body-size: "0" nginx.ingress.kubernetes.io/proxy-read-timeout: "2400s" nginx.ingress.kubernetes.io/proxy-send-timeout: "2400s" nginx.ingress.kubernetes.io/server-alias: ~(?<repo>.+)\.artifactory.vasilys.support-testlab.com,artifactory.vasilys.support-testlab.com nginx.ingress.kubernetes.io/configuration-snippet: | rewrite ^/(v1|v2)/(.*) /artifactory/api/docker/$repo/$1/$2 break; rewrite ^/(v1|v2)/ /artifactory/api/docker/$1/;
*Make sure to replace artifactory.vasilys.support-testlab with the actual DNS hostname or service name.
The nginx-ingress controller needs to be configured with allow-snippet-annotations set to True:
apiVersion: v1 data: allow-snippet-annotations: "true" kind: ConfigMap