17
17
import datetime
18
18
import os
19
19
import random
20
+ import re
20
21
import string
21
22
22
23
from ..utils .console import xpk_exit , xpk_print
26
27
DEFAULT_DOCKER_IMAGE = 'python:3.10'
27
28
DEFAULT_SCRIPT_DIR = os .getcwd ()
28
29
PLATFORM = '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
+ ]
30
35
31
36
32
37
def validate_docker_image (docker_image , args ) -> int :
@@ -151,66 +156,6 @@ def build_docker_image_from_base_image(args, verbose=True) -> tuple[int, str]:
151
156
return return_code , cloud_docker_image
152
157
153
158
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
-
214
159
def setup_docker_image (args ) -> tuple [int , str ]:
215
160
"""Does steps to verify docker args, check image, and build image (if asked).
216
161
@@ -235,7 +180,7 @@ def setup_docker_image(args) -> tuple[int, str]:
235
180
docker_image = DEFAULT_DOCKER_IMAGE
236
181
237
182
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
239
184
)
240
185
241
186
if is_cloud_image :
0 commit comments