Files
pkiapi/Dockerfile
zen6 ddece00272 feat: PKI API Go avec persistance MongoDB et abstraction storage
- API REST complète pour gestion Infrastructure à Clé Publique
- Authentification JWT sur tous les endpoints (sauf login)
- Hiérarchie de certificats (Root CA, Sub-CA, End Certificates)
- Abstraction de stockage avec MemoryStore et MongoStore
- Configuration centralisée via variables d'environnement
- Support déploiement Docker Compose avec MongoDB
- Tests unitaires pour sérialisation des clés RSA
- Documentation complète avec exemples API
2025-12-06 23:11:50 +01:00

44 lines
846 B
Docker

# Build stage
FROM golang:1.21-alpine AS builder
# Installer git pour go mod download
RUN apk add --no-cache git
WORKDIR /app
# Copier les fichiers go.mod et go.sum
COPY go.mod go.sum ./
# Télécharger les dépendances
RUN go mod download
# Copier le code source
COPY . .
# Builder l'application
RUN CGO_ENABLED=0 GOOS=linux go build -o pkiapi ./cmd/main.go
# Runtime stage
FROM alpine:latest
# Installer les certificats pour les connexions HTTPS/MongoDB
RUN apk --no-cache add ca-certificates
WORKDIR /app
# Copier l'exécutable depuis le builder
COPY --from=builder /app/pkiapi .
# Exposer le port
EXPOSE 8080
# Variables d'environnement par défaut
ENV PORT=8080
ENV STORAGE_TYPE=mongodb
ENV MONGO_URI=mongodb://mongo:27017
ENV MONGO_DB=pkiapi
ENV JWT_SECRET_KEY=change-this-in-production
# Lancer l'application
CMD ["./pkiapi"]