feat: Add CreateInstance endpoint (#9452)

This commit is contained in:
Marco Ardizzone
2025-04-28 16:13:20 +02:00
parent 45ad238ecd
commit 3b005c4e06
6 changed files with 308 additions and 1 deletions

View File

@@ -9,6 +9,28 @@ import (
"github.com/zitadel/zitadel/pkg/grpc/instance/v2"
)
func (s *Server) CreateInstance(ctx context.Context, req *instance.CreateInstanceRequest) (*instance.CreateInstanceResponse, error) {
id, pat, key, details, err := s.command.SetUpInstance(ctx, CreateInstancePbToSetupInstance(req, s.defaultInstance, s.externalDomain))
if err != nil {
return nil, err
}
var machineKey []byte
if key != nil {
machineKey, err = key.Detail()
if err != nil {
return nil, err
}
}
return &instance.CreateInstanceResponse{
Pat: pat,
MachineKey: machineKey,
InstanceId: id,
Details: object.DomainToDetailsPb(details),
}, nil
}
func (s *Server) DeleteInstance(ctx context.Context, request *instance.DeleteInstanceRequest) (*instance.DeleteInstanceResponse, error) {
instanceID := strings.TrimSpace(request.GetInstanceId())
if err := validateParam(instanceID, "instance_id"); err != nil {