from siflow import SiFlow
from siflow.types import ImageBuildConfigRequest, InstanceRequest, ImageBuildConfigArgRequest
# export SIFLOW_ACCESS_KEY_ID=xxx
# export SIFLOW_ACCESS_KEY_SECRET=xxx
client = SiFlow(region="xx", cluster="xx")
image_build_config1 = ImageBuildConfigRequest(
commit_id="1234",
build_method="baseSiflowImage",
basic_image_type="custom",
basic_image_url="registry-ap-southeast.scitix.ai/ai-infra/ubuntu:0.1.4-qwer",
description="CICD Method 1"
)
dockerfile_arg = [
ImageBuildConfigArgRequest(
hidden=True,
key="VERSION",
value="0.0.1",
),
ImageBuildConfigArgRequest(
hidden=True,
key="NAME",
value="ubuntu",
)
]
image_build_config2 = ImageBuildConfigRequest(
commit_id="1234",
build_method="baseDockerfile",
dockerfile_content="FROM ubuntu:20.04\nCMD [\"echo\", \"Hello from minimal Ubuntu!\"]",
#dockerfile_path="examples/Dockerfile",
description="CICD Method 2",
dockerfile_arg=dockerfile_arg
)
image_build_config3 = ImageBuildConfigRequest(
commit_id="1234",
build_method="baseThirdImage",
docker_hub_url="mysql:8.0",
description="CICD Method 3"
)
image_build_config4 = ImageBuildConfigRequest(
commit_id="1234",
build_method="baseExistImage",
docker_hub_url="registry-ap-southeast.scitix.ai/ai-infra/ubuntu:0.1.4-qwer",
description="CICD Method 4"
)
instances_config = [
InstanceRequest(
name="sci.c23-2",
countPerPod=10
)
]
imageInfo = client.images.create(
name="test",
version="0.0.8",
major_category="siflow",
minor_category="cicd",
image_build_type="custom",
image_build_region="xx",
image_build_cluster="xx",
image_build_config=image_build_config2,
resource_pool="build-image-cpu",
instances=instances_config
)
print(imageInfo)