Refactor RDP proxy handling and update related tests
This commit is contained in:
@@ -13,17 +13,18 @@ import (
|
||||
const FileName = "identity.json"
|
||||
|
||||
type Identity struct {
|
||||
NodeID string `json:"node_id"`
|
||||
ClusterID string `json:"cluster_id"`
|
||||
NodeName string `json:"node_name"`
|
||||
NodeFingerprint string `json:"node_fingerprint"`
|
||||
PublicKey string `json:"public_key"`
|
||||
IdentityStatus string `json:"identity_status"`
|
||||
PendingJoinRequestID string `json:"pending_join_request_id,omitempty"`
|
||||
ClusterAuthorityPublicKey string `json:"cluster_authority_public_key,omitempty"`
|
||||
ClusterAuthorityFingerprint string `json:"cluster_authority_fingerprint,omitempty"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
NodeID string `json:"node_id"`
|
||||
ClusterID string `json:"cluster_id"`
|
||||
NodeName string `json:"node_name"`
|
||||
NodeFingerprint string `json:"node_fingerprint"`
|
||||
PublicKey string `json:"public_key"`
|
||||
IdentityStatus string `json:"identity_status"`
|
||||
PendingJoinRequestID string `json:"pending_join_request_id,omitempty"`
|
||||
ClusterAuthorityPublicKey string `json:"cluster_authority_public_key,omitempty"`
|
||||
ClusterAuthorityFingerprint string `json:"cluster_authority_fingerprint,omitempty"`
|
||||
ClusterAuthorityQuorum json.RawMessage `json:"cluster_authority_quorum,omitempty"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
}
|
||||
|
||||
func LoadOrCreate(dir, clusterID, nodeName string) (Identity, error) {
|
||||
@@ -103,6 +104,10 @@ func MarkApproved(dir string, nodeID, clusterID, status string) (Identity, error
|
||||
}
|
||||
|
||||
func MarkApprovedWithAuthority(dir string, nodeID, clusterID, status, authorityPublicKey, authorityFingerprint string) (Identity, error) {
|
||||
return MarkApprovedWithAuthorityAndQuorum(dir, nodeID, clusterID, status, authorityPublicKey, authorityFingerprint, nil)
|
||||
}
|
||||
|
||||
func MarkApprovedWithAuthorityAndQuorum(dir string, nodeID, clusterID, status, authorityPublicKey, authorityFingerprint string, authorityQuorum json.RawMessage) (Identity, error) {
|
||||
path := filepath.Join(dir, FileName)
|
||||
identity, err := Load(path)
|
||||
if err != nil {
|
||||
@@ -114,6 +119,7 @@ func MarkApprovedWithAuthority(dir string, nodeID, clusterID, status, authorityP
|
||||
identity.PendingJoinRequestID = ""
|
||||
identity.ClusterAuthorityPublicKey = authorityPublicKey
|
||||
identity.ClusterAuthorityFingerprint = authorityFingerprint
|
||||
identity.ClusterAuthorityQuorum = authorityQuorum
|
||||
if err := Save(path, identity); err != nil {
|
||||
return Identity{}, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user