# Hello Gitea API Простой REST API сервер, построенный на Go с использованием Gin framework. ## 🚀 Возможности - ✅ REST API с JSON ответами - ✅ Health check endpoint - ✅ CORS поддержка - ✅ Мультиплатформенная сборка - ✅ Docker образы для Linux AMD64/ARM64 - ✅ Автоматические релизы через Gitea Actions ## 📦 Установка ### Из бинарного файла 1. Скачайте бинарный файл для вашей платформы из [релизов](https://direct-dev.ru/gitea/GiteaAdmin/hello_gitea/releases) 2. Распакуйте архив 3. Запустите: `./hello-api-` ### Из Docker образа ```bash docker pull /hello-api:latest docker run -p 8080:8080 /hello-api:latest ``` ### Из исходного кода ```bash git clone https://direct-dev.ru/gitea/GiteaAdmin/hello_gitea.git cd hello_gitea go mod download go run main.go ``` ## 🔧 Конфигурация Сервер запускается на порту 8080 по умолчанию. Можно изменить через переменную окружения: ```bash export PORT=3000 ./hello-api ``` ## 📡 API Endpoints ### GET / Основной endpoint **Ответ:** ```json { "message": "Hello, World!", "version": "1.0.0" } ``` ### GET /health Health check endpoint **Ответ:** ```json { "status": "ok", "version": "1.0.0" } ``` ### GET /api/v1/info Информация о сервисе **Ответ:** ```json { "service": "hello-api", "status": "running", "version": "1.0.0" } ``` ### POST /api/v1/echo Echo endpoint - возвращает отправленное сообщение **Запрос:** ```json { "message": "Hello from client!" } ``` **Ответ:** ```json { "echo": "Hello from client!", "version": "1.0.0" } ``` ## 🛠 Разработка ### Зависимости - Go 1.21+ - Gin framework ### Сборка ```bash # Для текущей платформы go build -o hello-api main.go # Для Linux AMD64 GOOS=linux GOARCH=amd64 go build -o hello-api-linux-amd64 main.go # Для Linux ARM64 GOOS=linux GOARCH=arm64 go build -o hello-api-linux-arm64 main.go # Для Windows GOOS=windows GOARCH=amd64 go build -o hello-api-windows-amd64.exe main.go # Для macOS GOOS=darwin GOARCH=amd64 go build -o hello-api-darwin-amd64 main.go GOOS=darwin GOARCH=arm64 go build -o hello-api-darwin-arm64 main.go ``` ### Тестирование ```bash # Запуск сервера go run main.go # Тестирование API curl http://localhost:8080/ curl http://localhost:8080/health curl http://localhost:8080/api/v1/info curl -X POST http://localhost:8080/api/v1/echo \ -H "Content-Type: application/json" \ -d '{"message":"Hello!"}' ``` ## 🚀 CI/CD При создании тега (например, `v1.1.0`) автоматически: 1. Собираются бинарники для всех платформ 2. Создается Docker образ для Linux AMD64/ARM64 3. Образ публикуется в Docker Hub 4. Создается релиз в Gitea с бинарниками ## 📄 Лицензия MIT License