Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
  • release
  • 1.1.0
  • 1.0.0
4 results

README.md

Blame
  • Info-manager-proxy

    Getting Started

    Dependencies installieren

    go mod download
    go install \
        github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway \
        github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2 \
        google.golang.org/protobuf/cmd/protoc-gen-go \
        google.golang.org/grpc/cmd/protoc-gen-go-grpc

    Buf installieren

    https://github.com/bufbuild/buf?tab=readme-ov-file

    Proto Dateien anpassen

    Die *.proto Dateien, die die verwendeten GRPC Apis des Proxys definieren müssen aus den entsprechenden Projekten in das Verzeichnis api/proto kopiert werden.

    Die Projekte sind:

    Damit die Code generierung funktioniert müssen die proto-Dateien aktuell noch angepasst werden. Dazu muss in jede Datei die Zeile option go_package = "de.ozgcloud.info"; hinzugefügt werden, damit die erzeugten Quellcode-Dateien im selben go package liegen.

    Generierung konfigurieren

    Die Generierung des Gateways kann mit den Dateien

    • api/gateway-config.yml - go Code für den Gateway
    • api/openapi-config.yml - für die Erzeugung der swagger json Dateien

    konfiguriert werden.

    Protobuf-Code generieren

    buf generate

    Erzeugt dann den Code für das Gateway und auch die Datei gen/openapiv2/infomanager.swagger.json. Diese Datei kann dann in anderen Projekten verwendet werden um die nötige DTO Klassen zu erzeugen.

    Anwendung starten

    ACTIVE_PROFILE=local go run cmd/info-manager-proxy/main.go

    Config

    config.yml is the default config for deployment

    Config-Datei

    config-local.yml is the config file for local development setting ACTIVE_PROFILE=local will load the config-local.yml

    Config-Datei

    server:
      port: Port des HTTP Servers (int)
    grpc:
      mock: lokalen gRPC Server mocken (bool)
      url: URL des Ziel-gRPC-Servers im host:port Format (string)
    logging:
      level: "ERROR" | "WARN" | "INFO" | "DEBUG"

    Releasing

    Diese Schritte ausführen:

    • Master-Branch auschecken
    • Master-Branch updaten
    • Release-Branch auschecken
    • Release-Branch updaten
    • Master in den Release-Branch mergen - noch nicht pushen!
    • Die Version von 'var version' in cmd/info-mamager-proxy/main.go "vX.X.X-beta.x" auf "vX.X.X" ändern
    • Commit erstellen: "release version X.X.X"
    • Release Branch pushen
    • Tag "X.X.X" erstellen: git tag "X.X.X"
    • tag pushen: git push origin X.X.X
    • Master auschecken
    • Release-Branch in den Master mergen nicht pushen!
    • Die Version von 'var version' in cmd/info-manager-proxy/main.go "vX.X.X" auf "vX.X.X-beta.x" ändern
    • Master Branch pushen