FT Services Deployment Documentation

This documentation covers the complete FT Services platform deployment on Kubernetes, including architecture, operations, and troubleshooting guides.

About This Documentation

FT Services is deployed on K3s using a GitOps approach with ArgoCD and Helm charts. This documentation provides comprehensive guidance for:

  • Understanding the system architecture

  • Deploying and managing services

  • Troubleshooting common issues

  • Following operational runbooks

  • Understanding architectural decisions

Topic Description

System Architecture

Complete overview of the FT Services architecture, components, and deployment strategy

Environment Manager

Web UI for creating and managing dynamic deployment environments

ArgoCD Image Updater

Automatic image updates for static environments

Troubleshooting

Solutions to common issues and debugging procedures

Environment Operations

Step-by-step guide for environment creation, deletion, and management

Disaster Recovery

Procedures for backup, restore, and disaster recovery scenarios

ADR: Environment Manager

Decision to implement web-based environment management

System Overview

FT Services Platform
Figure 1. FT Services Platform

Environments

The platform supports multiple deployment environments:

Environment Purpose Database Resources

dev

Development with MySQL

MySQL 8.4

Low

dev-oracle

Development with Oracle

Oracle XE 21

Medium

feature-*

Feature branch testing

MySQL/Oracle

Minimal

main

Production

Oracle XE 21

High

Key Technologies

  • Kubernetes: K3s cluster orchestration

  • GitOps: ArgoCD for continuous deployment

  • Package Management: Helm charts

  • Container Registry: Harbor

  • Monitoring: Prometheus + Grafana

  • Logging: Loki + Promtail

  • Service Mesh: Traefik ingress controller

Architecture Highlights

Microservices Architecture

The platform consists of 17 microservices organized in layers:

@startuml
skinparam backgroundColor transparent

package "Frontend" {
    [UI Portals]
    [UI AI Agent]
}

package "API Gateway" {
    [UI Backend]
}

package "Business APIs" {
    [Northbound API]
    [Service API]
    [Provision API]
}

package "Core" {
    [FTACS]
    [Device Network Service]
}

package "Data" {
    database MySQL/Oracle
    database PostgreSQL
    database ClickHouse
}

[UI Portals] --> [UI Backend]
[UI AI Agent] --> PostgreSQL
[UI Backend] --> [FTACS]
[Northbound API] --> [FTACS]
[Service API] --> [FTACS]
[Provision API] --> MySQL/Oracle
[FTACS] --> MySQL/Oracle
[Device Network Service] --> [FTACS]

@enduml

GitOps Deployment Flow

gitops-flow

Multi-Environment Strategy

multi-env

Getting Started

  1. Review the System Architecture

  2. Check Troubleshooting Guide for common issues

  3. Follow Runbooks for operational procedures

  4. Read Architecture Decision Records to understand design choices

Environment Manager

The Environment Manager provides a web-based interface for self-service environment creation and management.

Environment Manager Architecture
Figure 2. Environment Manager Architecture

Features

  • Create Partial Environments - Deploy selected services using parent database

  • Create Full Environments - Deploy complete isolated environments

  • Harbor Integration - Browse and select image tags

  • GitHub Integration - Build images from Git branches

  • ArgoCD Sync - Immediate deployment with optimized sync

Quick Start

  1. Navigate to Environment Manager: http://localhost:8080

  2. Click "Create" tab

  3. Enter environment name (e.g., feature-user-123)

  4. Select services and image sources

  5. Click "Create Environment"

See Environment Manager Documentation for complete guide.

Feature Branch Workflow

Use the web UI for a guided environment creation experience with real-time validation and Harbor tag browsing.

Via Shell Script

# Create feature environment
./scripts/create-feature-env.sh TICKET-123 mysql

# Access your environment
curl https://feature-ticket-123.rd.friendly-tech.com/acsstats

# Destroy when done
./scripts/destroy-feature-env.sh TICKET-123

See ADR-002 for the strategy behind this approach.

Monitoring & Observability

Metrics (Prometheus + Grafana)

  • Service availability and health

  • Response times (p50, p95, p99)

  • Error rates

  • Resource usage (CPU, memory)

  • Database performance

Logs (Loki + Promtail)

  • Centralized log aggregation

  • Multi-tenant (per environment)

  • 7-30 day retention

  • LogQL queries in Grafana

Contributing

To contribute to this documentation:

  1. Documentation source is in AsciiDoc format

  2. Follow the AsciiDoc style guide

  3. Submit changes via pull request

  4. Ensure all diagrams render correctly

Support

For issues or questions:


Last updated: 2026-08-08 10:57:09 +0200