Loading .gitlab-ci.yml +1 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ include: - local: '/src/monitoring/.gitlab-ci.yml' - local: '/src/nbi/.gitlab-ci.yml' - local: '/src/mcp_server/.gitlab-ci.yml' - local: '/src/agentic/.gitlab-ci.yml' - local: '/src/context/.gitlab-ci.yml' - local: '/src/device/.gitlab-ci.yml' - local: '/src/service/.gitlab-ci.yml' Loading deploy/all.sh +5 −1 Original line number Diff line number Diff line Loading @@ -73,9 +73,13 @@ export TFS_COMPONENTS=${TFS_COMPONENTS:-"context device pathcomp service slice n #export TFS_COMPONENTS="${TFS_COMPONENTS} pluggables" # Uncomment to activate MCP Server. # Keep it last so it is deployed after optional components it can expose. # Keep it near the end so it is deployed after optional components it can expose. #export TFS_COMPONENTS="${TFS_COMPONENTS} mcp_server" # Uncomment to activate Agentic Module. # Keep it after MCP Server so it can discover the local TFS MCP tool catalogue. #export TFS_COMPONENTS="${TFS_COMPONENTS} agentic" # If not already set, set the tag you want to use for your images. export TFS_IMAGE_TAG=${TFS_IMAGE_TAG:-"dev"} Loading manifests/agenticservice.yaml 0 → 100644 +157 −0 Original line number Diff line number Diff line # Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: v1 kind: ConfigMap metadata: name: agentic-config data: ADK_MODEL: "openai/gpt-4.1-mini" ADK_AGENT_GRAPH: "single" ADK_DOMAIN_ID: "A" ADK_DOMAIN_NAME: "domain-a" ADK_PEERS: "" ADK_SESSION_DB_PATH: "/var/lib/tfs-agentic/adk_sessions.sqlite" ADK_SPECTRUM_DB_PATH: "/var/lib/tfs-agentic/adk_spectrum.sqlite" ADK_AGENT_RUN_TIMEOUT_SECONDS: "120" ADK_MCP_STARTUP_WARMUP_TIMEOUT_SECONDS: "10" ADK_MCP_TOOL_TIMEOUT_SECONDS: "30" ADK_AGENT_STARTUP_WARMUP_ENABLED: "1" ADK_AGENT_STARTUP_WARMUP_TIMEOUT_SECONDS: "20" ADK_AGENT_STARTUP_WARMUP_PROMPTS: "list existing devices" TFS_MCP_URL: "http://mcp-serverservice:3002/mcp/sse" TFS_DEFAULT_CONTEXT_UUID: "admin" --- apiVersion: v1 kind: Secret metadata: name: agentic-secrets type: Opaque stringData: OPENAI_API_KEY: "" TFS_MCP_AUTH_TOKEN: "" --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: agentic-data spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: agenticservice spec: selector: matchLabels: app: agenticservice replicas: 1 template: metadata: labels: app: agenticservice spec: terminationGracePeriodSeconds: 5 containers: - name: server image: labs.etsi.org:5050/tfs/controller/agentic:latest imagePullPolicy: Always ports: - containerPort: 8800 env: - name: LOG_LEVEL value: "INFO" - name: LITELLM_LOCAL_MODEL_COST_MAP value: "true" - name: LITELLM_MODEL_COST_MAP_URL value: "" - name: ADK_DISABLE_JSON_SCHEMA_FOR_FUNC_DECL value: "1" envFrom: - configMapRef: name: agentic-config - secretRef: name: agentic-secrets volumeMounts: - name: agentic-data mountPath: /var/lib/tfs-agentic readinessProbe: httpGet: path: /health port: 8800 initialDelaySeconds: 10 periodSeconds: 10 failureThreshold: 12 livenessProbe: httpGet: path: /health port: 8800 initialDelaySeconds: 20 periodSeconds: 20 failureThreshold: 6 resources: requests: cpu: 250m memory: 512Mi limits: cpu: 2000m memory: 2Gi volumes: - name: agentic-data persistentVolumeClaim: claimName: agentic-data --- apiVersion: v1 kind: Service metadata: name: agenticservice labels: app: agenticservice spec: type: ClusterIP selector: app: agenticservice ports: - name: http protocol: TCP port: 8800 targetPort: 8800 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: tfs-ingress-agentic annotations: nginx.ingress.kubernetes.io/limit-rps: "20" nginx.ingress.kubernetes.io/limit-connections: "20" nginx.ingress.kubernetes.io/proxy-connect-timeout: "60" nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" nginx.ingress.kubernetes.io/rewrite-target: /$2 spec: rules: - http: paths: - path: /agentic(/|$)(.*) pathType: ImplementationSpecific backend: service: name: agenticservice port: number: 8800 my_deploy.sh +5 −1 Original line number Diff line number Diff line Loading @@ -104,9 +104,13 @@ export TFS_COMPONENTS="context device pathcomp service nbi webui" #export TFS_COMPONENTS="${TFS_COMPONENTS} pluggables" # Uncomment to activate MCP Server. # Keep it last so it is deployed after optional components it can expose. # Keep it near the end so it is deployed after optional components it can expose. #export TFS_COMPONENTS="${TFS_COMPONENTS} mcp_server" # Uncomment to activate Agentic Module. # Keep it after MCP Server so it can discover the local TFS MCP tool catalogue. #export TFS_COMPONENTS="${TFS_COMPONENTS} agentic" # Set the tag you want to use for your images. export TFS_IMAGE_TAG="dev" Loading scripts/show_logs_agentic.sh 0 → 100755 +19 −0 Original line number Diff line number Diff line #!/bin/bash # Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # If not already set, set the name of the Kubernetes namespace to deploy to. export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/agenticservice -c server Loading
.gitlab-ci.yml +1 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ include: - local: '/src/monitoring/.gitlab-ci.yml' - local: '/src/nbi/.gitlab-ci.yml' - local: '/src/mcp_server/.gitlab-ci.yml' - local: '/src/agentic/.gitlab-ci.yml' - local: '/src/context/.gitlab-ci.yml' - local: '/src/device/.gitlab-ci.yml' - local: '/src/service/.gitlab-ci.yml' Loading
deploy/all.sh +5 −1 Original line number Diff line number Diff line Loading @@ -73,9 +73,13 @@ export TFS_COMPONENTS=${TFS_COMPONENTS:-"context device pathcomp service slice n #export TFS_COMPONENTS="${TFS_COMPONENTS} pluggables" # Uncomment to activate MCP Server. # Keep it last so it is deployed after optional components it can expose. # Keep it near the end so it is deployed after optional components it can expose. #export TFS_COMPONENTS="${TFS_COMPONENTS} mcp_server" # Uncomment to activate Agentic Module. # Keep it after MCP Server so it can discover the local TFS MCP tool catalogue. #export TFS_COMPONENTS="${TFS_COMPONENTS} agentic" # If not already set, set the tag you want to use for your images. export TFS_IMAGE_TAG=${TFS_IMAGE_TAG:-"dev"} Loading
manifests/agenticservice.yaml 0 → 100644 +157 −0 Original line number Diff line number Diff line # Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: v1 kind: ConfigMap metadata: name: agentic-config data: ADK_MODEL: "openai/gpt-4.1-mini" ADK_AGENT_GRAPH: "single" ADK_DOMAIN_ID: "A" ADK_DOMAIN_NAME: "domain-a" ADK_PEERS: "" ADK_SESSION_DB_PATH: "/var/lib/tfs-agentic/adk_sessions.sqlite" ADK_SPECTRUM_DB_PATH: "/var/lib/tfs-agentic/adk_spectrum.sqlite" ADK_AGENT_RUN_TIMEOUT_SECONDS: "120" ADK_MCP_STARTUP_WARMUP_TIMEOUT_SECONDS: "10" ADK_MCP_TOOL_TIMEOUT_SECONDS: "30" ADK_AGENT_STARTUP_WARMUP_ENABLED: "1" ADK_AGENT_STARTUP_WARMUP_TIMEOUT_SECONDS: "20" ADK_AGENT_STARTUP_WARMUP_PROMPTS: "list existing devices" TFS_MCP_URL: "http://mcp-serverservice:3002/mcp/sse" TFS_DEFAULT_CONTEXT_UUID: "admin" --- apiVersion: v1 kind: Secret metadata: name: agentic-secrets type: Opaque stringData: OPENAI_API_KEY: "" TFS_MCP_AUTH_TOKEN: "" --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: agentic-data spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: agenticservice spec: selector: matchLabels: app: agenticservice replicas: 1 template: metadata: labels: app: agenticservice spec: terminationGracePeriodSeconds: 5 containers: - name: server image: labs.etsi.org:5050/tfs/controller/agentic:latest imagePullPolicy: Always ports: - containerPort: 8800 env: - name: LOG_LEVEL value: "INFO" - name: LITELLM_LOCAL_MODEL_COST_MAP value: "true" - name: LITELLM_MODEL_COST_MAP_URL value: "" - name: ADK_DISABLE_JSON_SCHEMA_FOR_FUNC_DECL value: "1" envFrom: - configMapRef: name: agentic-config - secretRef: name: agentic-secrets volumeMounts: - name: agentic-data mountPath: /var/lib/tfs-agentic readinessProbe: httpGet: path: /health port: 8800 initialDelaySeconds: 10 periodSeconds: 10 failureThreshold: 12 livenessProbe: httpGet: path: /health port: 8800 initialDelaySeconds: 20 periodSeconds: 20 failureThreshold: 6 resources: requests: cpu: 250m memory: 512Mi limits: cpu: 2000m memory: 2Gi volumes: - name: agentic-data persistentVolumeClaim: claimName: agentic-data --- apiVersion: v1 kind: Service metadata: name: agenticservice labels: app: agenticservice spec: type: ClusterIP selector: app: agenticservice ports: - name: http protocol: TCP port: 8800 targetPort: 8800 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: tfs-ingress-agentic annotations: nginx.ingress.kubernetes.io/limit-rps: "20" nginx.ingress.kubernetes.io/limit-connections: "20" nginx.ingress.kubernetes.io/proxy-connect-timeout: "60" nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" nginx.ingress.kubernetes.io/rewrite-target: /$2 spec: rules: - http: paths: - path: /agentic(/|$)(.*) pathType: ImplementationSpecific backend: service: name: agenticservice port: number: 8800
my_deploy.sh +5 −1 Original line number Diff line number Diff line Loading @@ -104,9 +104,13 @@ export TFS_COMPONENTS="context device pathcomp service nbi webui" #export TFS_COMPONENTS="${TFS_COMPONENTS} pluggables" # Uncomment to activate MCP Server. # Keep it last so it is deployed after optional components it can expose. # Keep it near the end so it is deployed after optional components it can expose. #export TFS_COMPONENTS="${TFS_COMPONENTS} mcp_server" # Uncomment to activate Agentic Module. # Keep it after MCP Server so it can discover the local TFS MCP tool catalogue. #export TFS_COMPONENTS="${TFS_COMPONENTS} agentic" # Set the tag you want to use for your images. export TFS_IMAGE_TAG="dev" Loading
scripts/show_logs_agentic.sh 0 → 100755 +19 −0 Original line number Diff line number Diff line #!/bin/bash # Copyright 2022-2026 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # If not already set, set the name of the Kubernetes namespace to deploy to. export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/agenticservice -c server