k8s: helm manifest
All checks were successful
Go / build (push) Successful in 10m8s

This commit is contained in:
vitaliy 2025-11-13 16:42:54 +03:00
parent 7825ac6a05
commit a4e0e88a42
3 changed files with 80 additions and 0 deletions

View File

@ -0,0 +1,45 @@
name: Build and Push to GHCR
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 'stable'
- name: Run tests
run: go test -v ./...
- name: Build
run: go build -o app ./cmd/app
- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: git.gocommunity.ru
username: ${{ secrets.USER }}
password: ${{ secrets.TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: |
git.gocommunity.ru/${{ github.repository }}:latest
git.gocommunity.ru/${{ github.repository }}:${{ github.sha }}
labels: |
org.opencontainers.image.source=${{ github.server_url }}/${{ github.repository }}

35
cmd/app.go Normal file
View File

@ -0,0 +1,35 @@
package main
import (
"fmt"
"log"
"net/http"
"os"
"time"
)
func main() {
http.HandleFunc("/", helloHandler)
http.HandleFunc("/health", healthHandler)
port := os.Getenv("PORT")
if port == "" {
port = "8080"
}
log.Printf("Server starting on port %s", port)
log.Fatal(http.ListenAndServe(":"+port, nil))
}
func helloHandler(w http.ResponseWriter, r *http.Request) {
name := r.URL.Query().Get("name")
if name == "" {
name = "World"
}
fmt.Fprintf(w, "Hello %s!\n", name)
}
func healthHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
fmt.Fprintf(w, `{"status": "healthy", "timestamp": "%s"}`, time.Now().Format(time.RFC3339))
}