mirror of
https://github.com/jsiebens/ionscale.git
synced 2026-03-31 15:07:49 +01:00
fix: set default ACL and IAM policy if not provided
This commit is contained in:
@@ -47,6 +47,18 @@ type SSHRule struct {
|
|||||||
Users []string `json:"users"`
|
Users []string `json:"users"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func DefaultACLPolicy() ACLPolicy {
|
||||||
|
return ACLPolicy{
|
||||||
|
ACLs: []ACL{
|
||||||
|
{
|
||||||
|
Action: "accept",
|
||||||
|
Src: []string{"*"},
|
||||||
|
Dst: []string{"*:*"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (a ACLPolicy) FindAutoApprovedIPs(routableIPs []netip.Prefix, tags []string, u *User) []netip.Prefix {
|
func (a ACLPolicy) FindAutoApprovedIPs(routableIPs []netip.Prefix, tags []string, u *User) []netip.Prefix {
|
||||||
if a.AutoApprovers == nil || len(routableIPs) == 0 {
|
if a.AutoApprovers == nil || len(routableIPs) == 0 {
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
@@ -59,12 +59,16 @@ func (s *Service) CreateTailnet(ctx context.Context, req *connect.Request[api.Cr
|
|||||||
if err := mapping.CopyViaJson(req.Msg.IamPolicy, &tailnet.IAMPolicy); err != nil {
|
if err := mapping.CopyViaJson(req.Msg.IamPolicy, &tailnet.IAMPolicy); err != nil {
|
||||||
return nil, errors.Wrap(err, 0)
|
return nil, errors.Wrap(err, 0)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
tailnet.IAMPolicy = domain.DefaultIAMPolicy()
|
||||||
}
|
}
|
||||||
|
|
||||||
if req.Msg.AclPolicy != nil {
|
if req.Msg.AclPolicy != nil {
|
||||||
if err := mapping.CopyViaJson(req.Msg.AclPolicy, &tailnet.ACLPolicy); err != nil {
|
if err := mapping.CopyViaJson(req.Msg.AclPolicy, &tailnet.ACLPolicy); err != nil {
|
||||||
return nil, errors.Wrap(err, 0)
|
return nil, errors.Wrap(err, 0)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
tailnet.ACLPolicy = domain.DefaultACLPolicy()
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := s.repository.SaveTailnet(ctx, tailnet); err != nil {
|
if err := s.repository.SaveTailnet(ctx, tailnet); err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user