1717import datetime
1818import os
1919import random
20+ import re
2021import string
2122
2223from ..utils .console import xpk_exit , xpk_print
2627DEFAULT_DOCKER_IMAGE = 'python:3.10'
2728DEFAULT_SCRIPT_DIR = os .getcwd ()
2829PLATFORM = 'linux/amd64'
29- CLOUD_PREFIXES = ['gcr.io' , 'docker.pkg.dev' , 'us-docker.pkg.dev' ]
30+ CLOUD_PREFIXES = [
31+ r'^gcr\.io' ,
32+ r'^docker\.pkg\.dev' ,
33+ r'^([a-z0-9-]+)-docker\.pkg\.dev' ,
34+ ]
3035
3136
3237def validate_docker_image (docker_image , args ) -> int :
@@ -151,66 +156,6 @@ def build_docker_image_from_base_image(args, verbose=True) -> tuple[int, str]:
151156 return return_code , cloud_docker_image
152157
153158
154- # def setup_docker_image(args) -> tuple[int, str]:
155- # """Does steps to verify docker args, check image, and build image (if asked).
156-
157- # Args:
158- # args: user provided arguments for running the command.
159-
160- # Returns:
161- # tuple:
162- # 0 if successful and 1 otherwise.
163- # Name of the docker image to use.
164- # """
165- # use_base_docker_image = use_base_docker_image_or_docker_image(args)
166-
167- # docker_image = args.base_docker_image
168- # if use_base_docker_image:
169- # validate_docker_image_code = validate_docker_image(docker_image, args)
170- # if validate_docker_image_code != 0:
171- # xpk_exit(validate_docker_image_code)
172- # build_docker_image_code, docker_image = build_docker_image_from_base_image(
173- # args
174- # )
175- # if build_docker_image_code != 0:
176- # xpk_exit(build_docker_image_code)
177- # else:
178- # docker_image = args.docker_image
179- # validate_docker_image_code = validate_docker_image(args.docker_image, args)
180- # if validate_docker_image_code != 0:
181- # xpk_exit(validate_docker_image_code)
182-
183- # return 0, docker_image
184-
185-
186- # def use_base_docker_image_or_docker_image(args) -> bool:
187- # """Checks for correct docker image arguments.
188-
189- # Args:
190- # args: user provided arguments for running the command.
191-
192- # Returns:
193- # True if intended to use base docker image, False to use docker image.
194- # """
195- # use_base_docker_image = True
196- # # Check if (base_docker_image and script_dir) or (docker_image) is set.
197- # if args.docker_image is not None:
198- # if args.script_dir is not DEFAULT_SCRIPT_DIR:
199- # xpk_print(
200- # '`--script-dir` and --docker-image can not be used together. Please'
201- # ' see `--help` command for more details.'
202- # )
203- # xpk_exit(1)
204- # if args.base_docker_image is not DEFAULT_DOCKER_IMAGE:
205- # xpk_print(
206- # '`--base-docker-image` and --docker-image can not be used together.'
207- # ' Please see `--help` command for more details.'
208- # )
209- # xpk_exit(1)
210- # use_base_docker_image = False
211- # return use_base_docker_image
212-
213-
214159def setup_docker_image (args ) -> tuple [int , str ]:
215160 """Does steps to verify docker args, check image, and build image (if asked).
216161
@@ -235,7 +180,7 @@ def setup_docker_image(args) -> tuple[int, str]:
235180 docker_image = DEFAULT_DOCKER_IMAGE
236181
237182 is_cloud_image = any (
238- docker_image . startswith (prefix ) for prefix in CLOUD_PREFIXES
183+ re . match (prefix , docker_image ) for prefix in CLOUD_PREFIXES
239184 )
240185
241186 if is_cloud_image :
0 commit comments