Skip to content

Commit f5e79e0

Browse files
committed
allow use of host:port in a FROM instruction
fixes: hadolint/hadolint#355
1 parent 57c2db8 commit f5e79e0

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

src/Language/Docker/Parser/From.hs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,9 @@ import Language.Docker.Syntax
99

1010
parseRegistry :: (?esc :: Char) => Parser Registry
1111
parseRegistry = do
12-
domain <- someUnless "a domain name" (== '.')
13-
void $ char '.'
14-
tld <- someUnless "a TLD" (== '/')
12+
registry <- someUnless "a registry" (== '/')
1513
void $ char '/'
16-
return $ Registry (domain <> "." <> tld)
14+
return $ Registry (registry)
1715

1816
parsePlatform :: (?esc :: Char) => Parser Platform
1917
parsePlatform = do

test/Language/Docker/ParserSpec.hs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ spec = do
6363
assertAst
6464
"FROM myregistry.com:5000/imagename:5.12-dev"
6565
[From (taggedImage (Image (Just "myregistry.com:5000") "imagename") "5.12-dev")]
66+
it "parse without '.*' on registry and port and tag" $
67+
assertAst
68+
"FROM myregistry:5000/imagename:5.12-dev"
69+
[From (taggedImage (Image (Just "myregistry.com:5000") "imagename") "5.12-dev")]
6670
it "Not a registry if no TLD" $
6771
assertAst
6872
"FROM myfolder/imagename:5.12-dev"

0 commit comments

Comments
 (0)