mirror of
https://github.com/hoshikawa2/agent_platform_oci.git
synced 2026-09-07 18:23:46 +00:00
New features: Route Stickness, Handoff, Clarification, Read-Only/Transactional, Long Term Memory
This commit is contained in:
35
deploy/oke/scripts/build_images.sh
Normal file
35
deploy/oke/scripts/build_images.sh
Normal file
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
|
||||
ENV_FILE="${1:-$ROOT_DIR/deploy/oke/examples/oke.env.example}"
|
||||
|
||||
if [[ -f "$ENV_FILE" ]]; then
|
||||
set -a
|
||||
# shellcheck disable=SC1090
|
||||
source "$ENV_FILE"
|
||||
set +a
|
||||
fi
|
||||
|
||||
: "${OCI_REGION_KEY:?Set OCI_REGION_KEY, for example gru, iad, phx}"
|
||||
: "${OCI_TENANCY_NAMESPACE:?Set OCI_TENANCY_NAMESPACE}"
|
||||
: "${OCIR_REPOSITORY_PREFIX:=agent-platform-oci}"
|
||||
: "${IMAGE_TAG:=latest}"
|
||||
|
||||
REGISTRY="${OCI_REGION_KEY}.ocir.io/${OCI_TENANCY_NAMESPACE}/${OCIR_REPOSITORY_PREFIX}"
|
||||
|
||||
echo "Building images with root context: $ROOT_DIR"
|
||||
echo "Registry prefix: $REGISTRY"
|
||||
|
||||
docker build -f "$ROOT_DIR/deploy/oke/dockerfiles/Dockerfile.agent-template-backend" -t "$REGISTRY/agent-template-backend:$IMAGE_TAG" "$ROOT_DIR"
|
||||
docker build -f "$ROOT_DIR/deploy/oke/dockerfiles/Dockerfile.agent-gateway" -t "$REGISTRY/agent-gateway:$IMAGE_TAG" "$ROOT_DIR"
|
||||
docker build -f "$ROOT_DIR/deploy/oke/dockerfiles/Dockerfile.channel-gateway" -t "$REGISTRY/channel-gateway:$IMAGE_TAG" "$ROOT_DIR"
|
||||
docker build -f "$ROOT_DIR/deploy/oke/dockerfiles/Dockerfile.mcp-gateway" -t "$REGISTRY/mcp-gateway:$IMAGE_TAG" "$ROOT_DIR"
|
||||
docker build -f "$ROOT_DIR/deploy/oke/dockerfiles/Dockerfile.agent-frontend" -t "$REGISTRY/agent-frontend:$IMAGE_TAG" "$ROOT_DIR"
|
||||
|
||||
echo "Images built:"
|
||||
echo "$REGISTRY/agent-template-backend:$IMAGE_TAG"
|
||||
echo "$REGISTRY/agent-gateway:$IMAGE_TAG"
|
||||
echo "$REGISTRY/channel-gateway:$IMAGE_TAG"
|
||||
echo "$REGISTRY/mcp-gateway:$IMAGE_TAG"
|
||||
echo "$REGISTRY/agent-frontend:$IMAGE_TAG"
|
||||
29
deploy/oke/scripts/create_runtime_secret.sh
Normal file
29
deploy/oke/scripts/create_runtime_secret.sh
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
|
||||
ENV_FILE="${1:-$ROOT_DIR/deploy/oke/examples/oke.env.example}"
|
||||
|
||||
if [[ -f "$ENV_FILE" ]]; then
|
||||
set -a
|
||||
# shellcheck disable=SC1090
|
||||
source "$ENV_FILE"
|
||||
set +a
|
||||
fi
|
||||
|
||||
NS="${K8S_NAMESPACE:-agent-platform}"
|
||||
|
||||
kubectl create namespace "$NS" --dry-run=client -o yaml | kubectl apply -f -
|
||||
|
||||
kubectl -n "$NS" create secret generic agent-platform-secrets \
|
||||
--from-literal=OCI_GENAI_BASE_URL="${OCI_GENAI_BASE_URL:-}" \
|
||||
--from-literal=OCI_GENAI_API_KEY="${OCI_GENAI_API_KEY:-}" \
|
||||
--from-literal=OCI_GENAI_MODEL="${OCI_GENAI_MODEL:-}" \
|
||||
--from-literal=OCI_GENAI_PROJECT_OCID="${OCI_GENAI_PROJECT_OCID:-}" \
|
||||
--from-literal=OCI_COMPARTMENT_ID="${OCI_COMPARTMENT_ID:-}" \
|
||||
--from-literal=OCI_REGION="${OCI_REGION:-}" \
|
||||
--from-literal=LANGFUSE_PUBLIC_KEY="${LANGFUSE_PUBLIC_KEY:-}" \
|
||||
--from-literal=LANGFUSE_SECRET_KEY="${LANGFUSE_SECRET_KEY:-}" \
|
||||
--from-literal=LANGFUSE_HOST="${LANGFUSE_HOST:-}" \
|
||||
--from-literal=MCP_GATEWAY_TOKEN="${MCP_GATEWAY_TOKEN:-}" \
|
||||
--dry-run=client -o yaml | kubectl apply -f -
|
||||
75
deploy/oke/scripts/deploy_oke.sh
Normal file
75
deploy/oke/scripts/deploy_oke.sh
Normal file
@@ -0,0 +1,75 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
|
||||
ENV_FILE="${1:-$ROOT_DIR/deploy/oke/examples/oke.env.example}"
|
||||
|
||||
if [[ -f "$ENV_FILE" ]]; then
|
||||
set -a
|
||||
# shellcheck disable=SC1090
|
||||
source "$ENV_FILE"
|
||||
set +a
|
||||
fi
|
||||
|
||||
: "${OCI_REGION_KEY:?Set OCI_REGION_KEY}"
|
||||
: "${OCI_TENANCY_NAMESPACE:?Set OCI_TENANCY_NAMESPACE}"
|
||||
: "${OCIR_REPOSITORY_PREFIX:=agent-platform-oci}"
|
||||
: "${IMAGE_TAG:=latest}"
|
||||
|
||||
NS="${K8S_NAMESPACE:-agent-platform}"
|
||||
REGISTRY="${OCI_REGION_KEY}.ocir.io/${OCI_TENANCY_NAMESPACE}/${OCIR_REPOSITORY_PREFIX}"
|
||||
TMP_DIR="$(mktemp -d)"
|
||||
trap 'rm -rf "$TMP_DIR"' EXIT
|
||||
|
||||
if [[ -n "${OKE_CLUSTER_OCID:-}" && -n "${OCI_REGION:-}" ]]; then
|
||||
echo "Updating kubeconfig for OKE cluster $OKE_CLUSTER_OCID"
|
||||
oci ce cluster create-kubeconfig \
|
||||
--cluster-id "$OKE_CLUSTER_OCID" \
|
||||
--file "$HOME/.kube/config" \
|
||||
--region "$OCI_REGION" \
|
||||
--token-version 2.0.0 \
|
||||
--kube-endpoint PUBLIC_ENDPOINT \
|
||||
${OCI_CLI_PROFILE:+--profile "$OCI_CLI_PROFILE"} || true
|
||||
fi
|
||||
|
||||
"$ROOT_DIR/deploy/oke/scripts/create_runtime_secret.sh" "$ENV_FILE"
|
||||
|
||||
cp -R "$ROOT_DIR/deploy/oke/k8s/base"/* "$TMP_DIR/"
|
||||
|
||||
cat > "$TMP_DIR/kustomization.yaml" <<EOF2
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- 00-namespace.yaml
|
||||
- 01-configmap.yaml
|
||||
- 03-agent-template-backend.yaml
|
||||
- 04-agent-gateway.yaml
|
||||
- 05-channel-gateway.yaml
|
||||
- 06-mcp-gateway.yaml
|
||||
- 07-frontend.yaml
|
||||
images:
|
||||
- name: agent-template-backend
|
||||
newName: $REGISTRY/agent-template-backend
|
||||
newTag: $IMAGE_TAG
|
||||
- name: agent-gateway
|
||||
newName: $REGISTRY/agent-gateway
|
||||
newTag: $IMAGE_TAG
|
||||
- name: channel-gateway
|
||||
newName: $REGISTRY/channel-gateway
|
||||
newTag: $IMAGE_TAG
|
||||
- name: mcp-gateway
|
||||
newName: $REGISTRY/mcp-gateway
|
||||
newTag: $IMAGE_TAG
|
||||
- name: agent-frontend
|
||||
newName: $REGISTRY/agent-frontend
|
||||
newTag: $IMAGE_TAG
|
||||
EOF2
|
||||
|
||||
kubectl apply -k "$TMP_DIR"
|
||||
kubectl -n "$NS" rollout status deploy/agent-template-backend --timeout=180s
|
||||
kubectl -n "$NS" rollout status deploy/agent-gateway --timeout=180s
|
||||
kubectl -n "$NS" rollout status deploy/channel-gateway --timeout=180s
|
||||
kubectl -n "$NS" rollout status deploy/mcp-gateway --timeout=180s
|
||||
kubectl -n "$NS" rollout status deploy/agent-frontend --timeout=180s
|
||||
|
||||
kubectl -n "$NS" get svc
|
||||
23
deploy/oke/scripts/push_images.sh
Normal file
23
deploy/oke/scripts/push_images.sh
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
|
||||
ENV_FILE="${1:-$ROOT_DIR/deploy/oke/examples/oke.env.example}"
|
||||
|
||||
if [[ -f "$ENV_FILE" ]]; then
|
||||
set -a
|
||||
# shellcheck disable=SC1090
|
||||
source "$ENV_FILE"
|
||||
set +a
|
||||
fi
|
||||
|
||||
: "${OCI_REGION_KEY:?Set OCI_REGION_KEY}"
|
||||
: "${OCI_TENANCY_NAMESPACE:?Set OCI_TENANCY_NAMESPACE}"
|
||||
: "${OCIR_REPOSITORY_PREFIX:=agent-platform-oci}"
|
||||
: "${IMAGE_TAG:=latest}"
|
||||
|
||||
REGISTRY="${OCI_REGION_KEY}.ocir.io/${OCI_TENANCY_NAMESPACE}/${OCIR_REPOSITORY_PREFIX}"
|
||||
|
||||
for image in agent-template-backend agent-gateway channel-gateway mcp-gateway agent-frontend; do
|
||||
docker push "$REGISTRY/$image:$IMAGE_TAG"
|
||||
done
|
||||
6
deploy/oke/scripts/status.sh
Normal file
6
deploy/oke/scripts/status.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
NS="${K8S_NAMESPACE:-agent-platform}"
|
||||
kubectl -n "$NS" get pods -o wide
|
||||
kubectl -n "$NS" get hpa
|
||||
kubectl -n "$NS" get svc
|
||||
Reference in New Issue
Block a user