azure-deploy-cli 1.1.1__py3-none-any.whl → 1.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '1.1.1'
32
- __version_tuple__ = version_tuple = (1, 1, 1)
31
+ __version__ = version = '1.2.1'
32
+ __version_tuple__ = version_tuple = (1, 2, 1)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -66,6 +66,7 @@ def build_acr_image(
66
66
  full_image_name: str,
67
67
  registry_server: str,
68
68
  source_full_image_name: str | None = None,
69
+ build_args: dict[str, str] | None = None,
69
70
  ) -> None:
70
71
  logger.info(f"Logging in to ACR '{registry_server}'...")
71
72
  _login_to_acr(registry_server)
@@ -93,6 +94,7 @@ def build_acr_image(
93
94
  docker.build_and_push_image(
94
95
  dockerfile,
95
96
  full_image_name,
97
+ build_args=build_args,
96
98
  )
97
99
  logger.success("Docker image built and pushed to registry successfully.")
98
100
 
@@ -238,6 +240,7 @@ def build_container_images(
238
240
  dockerfile=container_config.dockerfile,
239
241
  full_image_name=target_full_image_name,
240
242
  registry_server=registry_server,
243
+ build_args=_load_env_vars(container_config.build_args),
241
244
  )
242
245
  logger.success("Image built successfully")
243
246
  image_names.append(target_full_image_name)
@@ -56,6 +56,9 @@ class ContainerConfig(BaseModel):
56
56
  default=None, description="Optional platform for existing image pull"
57
57
  )
58
58
  dockerfile: str | None = Field(default=None, description="Optional dockerfile path")
59
+ build_args: list[str] = Field(
60
+ default_factory=list, description="Optional build arguments to pass to docker build"
61
+ )
59
62
 
60
63
  def post_init(self):
61
64
  if not (self.dockerfile or self.existing_image_tag):
@@ -122,6 +122,7 @@ def pull_retag_and_push_image(
122
122
  def build_and_push_image(
123
123
  dockerfile: str,
124
124
  full_image_name: str,
125
+ build_args: dict[str, str] | None = None,
125
126
  ) -> None:
126
127
  """
127
128
  Build a Docker image using buildx and push to registry.
@@ -129,25 +130,32 @@ def build_and_push_image(
129
130
  Args:
130
131
  dockerfile: Path to the Dockerfile
131
132
  full_image_name: Full image name including registry, repository, and tag
133
+ build_args: Optional dictionary of build arguments to pass to docker build
132
134
 
133
135
  Raises:
134
136
  RuntimeError: If the docker build and push command fails
135
137
  """
136
138
  src_folder = str(Path(dockerfile).parent)
137
- returncode = _run_and_stream(
138
- [
139
- "docker",
140
- "buildx",
141
- "build",
142
- "--platform",
143
- "linux/amd64",
144
- "-t",
145
- full_image_name,
146
- "-f",
147
- dockerfile,
148
- src_folder,
149
- "--push",
150
- ]
151
- )
139
+ cmd = [
140
+ "docker",
141
+ "buildx",
142
+ "build",
143
+ "--platform",
144
+ "linux/amd64",
145
+ "-t",
146
+ full_image_name,
147
+ "-f",
148
+ dockerfile,
149
+ ]
150
+
151
+ # Add build args if provided
152
+ if build_args:
153
+ for key, value in build_args.items():
154
+ cmd.extend(["--build-arg", f"{key}={value}"])
155
+
156
+ cmd.extend([src_folder, "--push"])
157
+
158
+ logger.info(f"Running command: {' '.join(cmd)}")
159
+ returncode = _run_and_stream(cmd)
152
160
  if returncode != 0:
153
161
  raise RuntimeError("Docker build and push failed")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: azure-deploy-cli
3
- Version: 1.1.1
3
+ Version: 1.2.1
4
4
  Summary: Python CLI for Azure deployment automation - identity, roles, and container apps management
5
5
  Author-email: decewei <celinew1221@gmail.com>
6
6
  License: Mozilla Public License Version 2.0
@@ -1,10 +1,10 @@
1
1
  azure_deploy_cli/__init__.py,sha256=Xj8ZMqmqKWc2hhR8rtSETkOmkvrFgh020MYVB_yHp4s,1134
2
- azure_deploy_cli/_version.py,sha256=O2MwkHziz63f5tgvyTDcaX64UwyuPAN_tWOgO5wh1WI,704
2
+ azure_deploy_cli/_version.py,sha256=vTBkgV8s9uBGLjgp067jeWVTh-Y6mBirMNSkXJot2J8,704
3
3
  azure_deploy_cli/cli.py,sha256=I1hXskorvbryjNg0XXdqLjdBuQTPKgZeW03tLHlLxzk,1663
4
4
  azure_deploy_cli/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  azure_deploy_cli/aca/aca_cli.py,sha256=Ng7faQLMoK9SEOEOrjrKJpoKq-v7RBlu2WSe7nNXTLo,17323
6
- azure_deploy_cli/aca/deploy_aca.py,sha256=bABLN9q1qxl84kCN8xX6meNrcFMBwouBECsN8l_TYJA,30804
7
- azure_deploy_cli/aca/model.py,sha256=elz4p02Apl0seUIA2IBz1KydaOHZpBgTVKbmSiVx_3U,2714
6
+ azure_deploy_cli/aca/deploy_aca.py,sha256=XnLTaqjPH3HbqqIM_mW8VEEeHTnZkB3wHq7ZafVGzDc,30953
7
+ azure_deploy_cli/aca/model.py,sha256=z6zU4jzZn8_Nm19fuC6G3MexzfgK2h36D-c7YyR8Glc,2848
8
8
  azure_deploy_cli/aca/yaml_loader.py,sha256=awCJLx88j8ErLm-tLIdV8mFtlSQqGezIqugU0v4m9BI,1413
9
9
  azure_deploy_cli/aca/bash/aca-cert/create.sh,sha256=FI3Mdp9qv_DqwiAdxWmZnSY98oRxH1Y6gwDQH4OAxCc,6556
10
10
  azure_deploy_cli/aca/bash/aca-cert/destroy.sh,sha256=iao35H_c4YnZHLDpKaYeyd3I7RhHKJzSAUbNovUdcFg,1171
@@ -18,14 +18,14 @@ azure_deploy_cli/identity/role.py,sha256=WlSJmn54Urar58x4HmJUC0adbeuSTPyW-0lGodv
18
18
  azure_deploy_cli/identity/service_principal.py,sha256=IDBKVVTQP4PBso0Cv0gcApexKEdXUlKEQ3sMr4OjC1U,7958
19
19
  azure_deploy_cli/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  azure_deploy_cli/utils/azure_cli.py,sha256=mQXHedduPShY6NqG4JePijWJnK3alCMxrTjqHCn2MaM,2576
21
- azure_deploy_cli/utils/docker.py,sha256=Mqm6S-UCGp2I4XV81z_1rJ_WOGomTmXKmAG3sFKnhfQ,4200
21
+ azure_deploy_cli/utils/docker.py,sha256=jAkpQus9Is5SstJmUzVFU69zohwvJ4pVPdfz2Hy1Fjc,4494
22
22
  azure_deploy_cli/utils/env.py,sha256=Qoc0mlrEcyCGk6TLl0AJNfuvhdBuok_93EW2g7Clpu8,3451
23
23
  azure_deploy_cli/utils/key_vault.py,sha256=9JYE1pmoPhggU7TZXod_qmu8TgeVmdM0OEIVHPYtPvM,354
24
24
  azure_deploy_cli/utils/logging.py,sha256=NxrhhNGnS0SWReKbwJ56A8LYLmjRd77ZBVOVQe9bgQE,3813
25
25
  azure_deploy_cli/utils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- azure_deploy_cli-1.1.1.dist-info/licenses/LICENSE,sha256=Pz2eACSxkhsGfW9_iN60pgy-enjnbGTj8df8O3ebnQQ,16726
27
- azure_deploy_cli-1.1.1.dist-info/METADATA,sha256=DDOu291gsHn_wDOw9Hu8GXyUpHq20Wo9uhiitxkDMqE,29138
28
- azure_deploy_cli-1.1.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
29
- azure_deploy_cli-1.1.1.dist-info/entry_points.txt,sha256=vuN79v5YJtDi5tF3rCd5qVvCGAMEQMImRHq64B-y-KQ,91
30
- azure_deploy_cli-1.1.1.dist-info/top_level.txt,sha256=luw_MJJWFd2vFwCtx3wbmihlkCdlZxk1NZou1eToBtU,17
31
- azure_deploy_cli-1.1.1.dist-info/RECORD,,
26
+ azure_deploy_cli-1.2.1.dist-info/licenses/LICENSE,sha256=Pz2eACSxkhsGfW9_iN60pgy-enjnbGTj8df8O3ebnQQ,16726
27
+ azure_deploy_cli-1.2.1.dist-info/METADATA,sha256=2fhM7MZgicZkpV4BNqvDKMgADfNrkVvawH9cGNLyC4s,29138
28
+ azure_deploy_cli-1.2.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
29
+ azure_deploy_cli-1.2.1.dist-info/entry_points.txt,sha256=vuN79v5YJtDi5tF3rCd5qVvCGAMEQMImRHq64B-y-KQ,91
30
+ azure_deploy_cli-1.2.1.dist-info/top_level.txt,sha256=luw_MJJWFd2vFwCtx3wbmihlkCdlZxk1NZou1eToBtU,17
31
+ azure_deploy_cli-1.2.1.dist-info/RECORD,,