-
This commit is contained in:
@ -15,6 +15,7 @@ import (
|
||||
"github.com/kms/api-key-service/internal/audit"
|
||||
"github.com/kms/api-key-service/internal/config"
|
||||
"github.com/kms/api-key-service/internal/database"
|
||||
"github.com/kms/api-key-service/internal/domain"
|
||||
"github.com/kms/api-key-service/internal/handlers"
|
||||
"github.com/kms/api-key-service/internal/metrics"
|
||||
"github.com/kms/api-key-service/internal/middleware"
|
||||
@ -285,9 +286,51 @@ func initializeBootstrapData(ctx context.Context, appService services.Applicatio
|
||||
|
||||
logger.Info("Creating internal application for bootstrap", zap.String("app_id", internalAppID))
|
||||
|
||||
// This will be implemented when we create the services
|
||||
// For now, we'll just log that we need to do this
|
||||
logger.Warn("Bootstrap data initialization not yet implemented - will be added when services are ready")
|
||||
// Create internal application for system operations
|
||||
internalAppReq := &domain.CreateApplicationRequest{
|
||||
AppID: internalAppID,
|
||||
AppLink: "https://kms.internal/system",
|
||||
Type: []domain.ApplicationType{domain.ApplicationTypeStatic, domain.ApplicationTypeUser},
|
||||
CallbackURL: "https://kms.internal/callback",
|
||||
TokenPrefix: "KMS",
|
||||
TokenRenewalDuration: domain.Duration{Duration: 365 * 24 * time.Hour}, // 1 year
|
||||
MaxTokenDuration: domain.Duration{Duration: 365 * 24 * time.Hour}, // 1 year
|
||||
Owner: domain.Owner{
|
||||
Type: domain.OwnerTypeTeam,
|
||||
Name: "KMS System",
|
||||
Owner: "system@kms.internal",
|
||||
},
|
||||
}
|
||||
|
||||
app, err := appService.Create(ctx, internalAppReq, "system")
|
||||
if err != nil {
|
||||
logger.Error("Failed to create internal application", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
|
||||
logger.Info("Internal application created successfully",
|
||||
zap.String("app_id", app.AppID),
|
||||
zap.String("hmac_key", app.HMACKey))
|
||||
|
||||
// Create a static token for internal system operations if needed
|
||||
internalTokenReq := &domain.CreateStaticTokenRequest{
|
||||
AppID: internalAppID,
|
||||
Owner: domain.Owner{
|
||||
Type: domain.OwnerTypeTeam,
|
||||
Name: "KMS System Token",
|
||||
Owner: "system@kms.internal",
|
||||
},
|
||||
Permissions: []string{"internal.*", "app.*", "token.*", "audit.*"},
|
||||
}
|
||||
|
||||
token, err := tokenService.CreateStaticToken(ctx, internalTokenReq, "system")
|
||||
if err != nil {
|
||||
logger.Warn("Failed to create internal system token, continuing...", zap.Error(err))
|
||||
} else {
|
||||
logger.Info("Internal system token created successfully",
|
||||
zap.String("token_id", token.ID.String()))
|
||||
}
|
||||
|
||||
logger.Info("Bootstrap data initialization completed successfully")
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user