Merge branch 'main' into adil/add_acm_demo

This commit is contained in:
Adil Hafeez 2025-04-16 14:12:36 -07:00
commit a8d3abeaf1
No known key found for this signature in database
GPG key ID: 9B18EF7691369645
15 changed files with 39 additions and 25 deletions

View file

@ -1,5 +1,8 @@
name: Publish docker image (release) name: Publish docker image (release)
env:
DOCKER_IMAGE: katanemo/archgw
on: on:
release: release:
types: [published] types: [published]
@ -23,6 +26,8 @@ jobs:
uses: docker/metadata-action@v5 uses: docker/metadata-action@v5
with: with:
images: ${{ env.DOCKER_IMAGE }} images: ${{ env.DOCKER_IMAGE }}
tags: |
type=raw,value={{tag}}
- name: Build and Push ARM64 Image - name: Build and Push ARM64 Image
uses: docker/build-push-action@v5 uses: docker/build-push-action@v5
@ -51,6 +56,8 @@ jobs:
uses: docker/metadata-action@v5 uses: docker/metadata-action@v5
with: with:
images: ${{ env.DOCKER_IMAGE }} images: ${{ env.DOCKER_IMAGE }}
tags: |
type=raw,value={{tag}}
- name: Build and Push AMD64 Image - name: Build and Push AMD64 Image
uses: docker/build-push-action@v5 uses: docker/build-push-action@v5
@ -61,7 +68,6 @@ jobs:
push: true push: true
tags: ${{ steps.meta.outputs.tags }}-amd64 tags: ${{ steps.meta.outputs.tags }}-amd64
# Combine ARM64 and AMD64 images into a multi-arch manifest # Combine ARM64 and AMD64 images into a multi-arch manifest
create-manifest: create-manifest:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -78,10 +84,12 @@ jobs:
uses: docker/metadata-action@v5 uses: docker/metadata-action@v5
with: with:
images: ${{ env.DOCKER_IMAGE }} images: ${{ env.DOCKER_IMAGE }}
tags: |
type=raw,value={{tag}}
- name: Create Multi-Arch Manifest - name: Create Multi-Arch Manifest
run: | run: |
# Combine the architecture-specific images into a single manifest # Combine the architecture-specific images into a single manifest
docker buildx imagetools create -t ${{ steps.meta.outputs.tags }} \ docker buildx imagetools create -t ${{ steps.meta.outputs.tags }} \
${{ env.DOCKER_IMAGE }}:arm64 \ ${{ steps.meta.outputs.tags }}-arm64 \
${{ env.DOCKER_IMAGE }}:amd64 ${{ steps.meta.outputs.tags }}-amd64

View file

@ -24,7 +24,7 @@ jobs:
- name: build arch docker image - name: build arch docker image
run: | run: |
cd ../../ && docker build -f arch/Dockerfile . -t katanemo/archgw cd ../../ && docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.2.7
- name: start archgw - name: start archgw
env: env:

View file

@ -21,7 +21,7 @@ jobs:
- name: build arch docker image - name: build arch docker image
run: | run: |
docker build -f arch/Dockerfile . -t katanemo/archgw docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.2.7
- name: install poetry - name: install poetry
run: | run: |

View file

@ -24,7 +24,7 @@ jobs:
- name: build arch docker image - name: build arch docker image
run: | run: |
docker build -f arch/Dockerfile . -t katanemo/archgw docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.2.7
- name: validate arch config - name: validate arch config
run: | run: |

View file

@ -81,7 +81,7 @@ Arch's CLI allows you to manage and interact with the Arch gateway efficiently.
```console ```console
$ python -m venv venv $ python -m venv venv
$ source venv/bin/activate # On Windows, use: venv\Scripts\activate $ source venv/bin/activate # On Windows, use: venv\Scripts\activate
$ pip install archgw==0.2.6 $ pip install archgw==0.2.7
``` ```
### Build AI Agent with Arch Gateway ### Build AI Agent with Arch Gateway

View file

@ -19,7 +19,7 @@ source venv/bin/activate
### Step 3: Run the build script ### Step 3: Run the build script
```bash ```bash
pip install archgw==0.2.6 pip install archgw==0.2.7
``` ```
## Uninstall Instructions: archgw CLI ## Uninstall Instructions: archgw CLI

View file

@ -1,3 +1,6 @@
import os
KATANEMO_DOCKERHUB_REPO = "katanemo/archgw" KATANEMO_DOCKERHUB_REPO = "katanemo/archgw"
KATANEMO_LOCAL_MODEL_LIST = [ KATANEMO_LOCAL_MODEL_LIST = [
"katanemo/Arch-Guard", "katanemo/Arch-Guard",
@ -8,4 +11,4 @@ SERVICE_ALL = "all"
MODEL_SERVER_LOG_FILE = "~/archgw_logs/modelserver.log" MODEL_SERVER_LOG_FILE = "~/archgw_logs/modelserver.log"
ACCESS_LOG_FILES = "~/archgw_logs/access*" ACCESS_LOG_FILES = "~/archgw_logs/access*"
ARCHGW_DOCKER_NAME = "archgw" ARCHGW_DOCKER_NAME = "archgw"
ARCHGW_DOCKER_IMAGE = "katanemo/archgw:latest" ARCHGW_DOCKER_IMAGE = os.getenv("ARCHGW_DOCKER_IMAGE", "katanemo/archgw:0.2.7")

View file

@ -20,6 +20,7 @@ from cli.core import (
download_models_from_hf, download_models_from_hf,
) )
from cli.consts import ( from cli.consts import (
ARCHGW_DOCKER_IMAGE,
KATANEMO_DOCKERHUB_REPO, KATANEMO_DOCKERHUB_REPO,
SERVICE_NAME_ARCHGW, SERVICE_NAME_ARCHGW,
SERVICE_NAME_MODEL_SERVER, SERVICE_NAME_MODEL_SERVER,
@ -90,6 +91,8 @@ def build(service):
ARCHGW_DOCKERFILE, ARCHGW_DOCKERFILE,
"-t", "-t",
f"{KATANEMO_DOCKERHUB_REPO}:latest", f"{KATANEMO_DOCKERHUB_REPO}:latest",
"-t",
f"{ARCHGW_DOCKER_IMAGE}",
".", ".",
"--add-host=host.docker.internal:host-gateway", "--add-host=host.docker.internal:host-gateway",
], ],

14
arch/tools/poetry.lock generated
View file

@ -66,13 +66,13 @@ trio = ["trio (>=0.26.1)"]
[[package]] [[package]]
name = "archgw-modelserver" name = "archgw-modelserver"
version = "0.2.6" version = "0.2.7"
description = "A model server for serving models" description = "A model server for serving models"
optional = false optional = false
python-versions = "<4.0,>=3.10" python-versions = "<4.0,>=3.10"
files = [ files = [
{file = "archgw_modelserver-0.2.6-py3-none-any.whl", hash = "sha256:7b472404734a799aa8847a8a142275bc532c964e76f3db1a6781f84abe92c290"}, {file = "archgw_modelserver-0.2.7-py3-none-any.whl", hash = "sha256:23a3bfb8eb172bd729d772f2337630d9143d29fc8e399a4b52e3449cf5ea90f3"},
{file = "archgw_modelserver-0.2.6.tar.gz", hash = "sha256:09186c2e2a4f61bb01366490ac1638ed67f0aa3488cdb1ec57a17c97411b9500"}, {file = "archgw_modelserver-0.2.7.tar.gz", hash = "sha256:828b848a745528ee6b552cd856356315ab7bc83a552404ec4a7d7db5b656709c"},
] ]
[package.dependencies] [package.dependencies]
@ -1081,13 +1081,13 @@ files = [
[[package]] [[package]]
name = "openai" name = "openai"
version = "1.74.0" version = "1.75.0"
description = "The official Python library for the openai API" description = "The official Python library for the openai API"
optional = false optional = false
python-versions = ">=3.8" python-versions = ">=3.8"
files = [ files = [
{file = "openai-1.74.0-py3-none-any.whl", hash = "sha256:aff3e0f9fb209836382ec112778667027f4fd6ae38bdb2334bc9e173598b092a"}, {file = "openai-1.75.0-py3-none-any.whl", hash = "sha256:fe6f932d2ded3b429ff67cc9ad118c71327db32eb9d32dd723de3acfca337125"},
{file = "openai-1.74.0.tar.gz", hash = "sha256:592c25b8747a7cad33a841958f5eb859a785caea9ee22b9e4f4a2ec062236526"}, {file = "openai-1.75.0.tar.gz", hash = "sha256:fb3ea907efbdb1bcfd0c44507ad9c961afd7dce3147292b54505ecfd17be8fd1"},
] ]
[package.dependencies] [package.dependencies]
@ -2508,4 +2508,4 @@ type = ["pytest-mypy"]
[metadata] [metadata]
lock-version = "2.0" lock-version = "2.0"
python-versions = "^3.10" python-versions = "^3.10"
content-hash = "5cc1d766ed43530c15dfbde7710346e1b157be450bf4736eb4eed2b091efef47" content-hash = "59e54acc202d697a35636d5ec58b8865e6bc8d6797526df024ea93610198157f"

View file

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "archgw" name = "archgw"
version = "0.2.6" version = "0.2.7"
description = "Python-based CLI tool to manage Arch Gateway." description = "Python-based CLI tool to manage Arch Gateway."
authors = ["Katanemo Labs, Inc."] authors = ["Katanemo Labs, Inc."]
packages = [ packages = [
@ -10,7 +10,7 @@ readme = "README.md"
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.10" python = "^3.10"
archgw_modelserver = "^0.2.6" archgw_modelserver = "^0.2.7"
click = "^8.1.7" click = "^8.1.7"
jinja2 = "^3.1.4" jinja2 = "^3.1.4"
jsonschema = "^4.23.0" jsonschema = "^4.23.0"

View file

@ -1 +1 @@
docker build -f arch/Dockerfile . -t katanemo/archgw docker build -f arch/Dockerfile . -t katanemo/archgw -t katanemo/archgw:0.2.7

View file

@ -15,7 +15,7 @@ from sphinxawesome_theme.postprocess import Icons
project = "Arch Docs" project = "Arch Docs"
copyright = "2025, Katanemo Labs, Inc" copyright = "2025, Katanemo Labs, Inc"
author = "Katanemo Labs, Inc" author = "Katanemo Labs, Inc"
release = " v0.2.6" release = " v0.2.7"
# -- General configuration --------------------------------------------------- # -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

View file

@ -25,7 +25,7 @@ Arch's CLI allows you to manage and interact with the Arch gateway efficiently.
$ python -m venv venv $ python -m venv venv
$ source venv/bin/activate # On Windows, use: venv\Scripts\activate $ source venv/bin/activate # On Windows, use: venv\Scripts\activate
$ pip install archgw==0.2.6 $ pip install archgw==0.2.7
Build AI Agent with Arch Gateway Build AI Agent with Arch Gateway

View file

@ -995,13 +995,13 @@ files = [
[[package]] [[package]]
name = "openai" name = "openai"
version = "1.74.0" version = "1.75.0"
description = "The official Python library for the openai API" description = "The official Python library for the openai API"
optional = false optional = false
python-versions = ">=3.8" python-versions = ">=3.8"
files = [ files = [
{file = "openai-1.74.0-py3-none-any.whl", hash = "sha256:aff3e0f9fb209836382ec112778667027f4fd6ae38bdb2334bc9e173598b092a"}, {file = "openai-1.75.0-py3-none-any.whl", hash = "sha256:fe6f932d2ded3b429ff67cc9ad118c71327db32eb9d32dd723de3acfca337125"},
{file = "openai-1.74.0.tar.gz", hash = "sha256:592c25b8747a7cad33a841958f5eb859a785caea9ee22b9e4f4a2ec062236526"}, {file = "openai-1.75.0.tar.gz", hash = "sha256:fb3ea907efbdb1bcfd0c44507ad9c961afd7dce3147292b54505ecfd17be8fd1"},
] ]
[package.dependencies] [package.dependencies]

View file

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "archgw_modelserver" name = "archgw_modelserver"
version = "0.2.6" version = "0.2.7"
description = "A model server for serving models" description = "A model server for serving models"
authors = ["Katanemo Labs, Inc <info@katanemo.com>"] authors = ["Katanemo Labs, Inc <info@katanemo.com>"]
license = "Apache 2.0" license = "Apache 2.0"