in pkg/agent/registration.go [35:82]
func (r *ssmRegistration) Register() (*state.State, error) {
state := &state.State{}
klog.Infof("creating %s keypair...", KeyType)
keyPair, err := createKeypair()
if err != nil {
return nil, err
}
klog.Infof("encoding %s keypair...", KeyType)
privateKey := keyPair.encodePrivateKey()
publicKey, err := keyPair.encodePublicKey()
if err != nil {
return nil, err
}
klog.Infof("generating fingerprint...")
fingerPrint, err := createFingerPrint()
if err != nil {
return nil, err
}
klog.Infof("fingerprint %s generated", fingerPrint)
klog.Infof("registering at SSM with activationId %s...", r.activationConfig.ID)
instanceID, err := r.ssm.RegisterManagedInstance(
r.activationConfig.ID,
r.activationConfig.Code,
publicKey,
KeyType,
fingerPrint,
)
if err != nil {
return nil, err
}
klog.Infof("successfully registered at SSM with InstanceID %s", instanceID)
state.PrivateKey = privateKey
state.PrivateKeyType = KeyType
state.PrivateKeyCreatedDate = time.Now().Format(defaultDateStringFormat)
state.FingerPrint = fingerPrint
state.InstanceID = instanceID
state.Region = r.ssm.Region()
state.ActivationId = r.activationConfig.ID
return state, nil
}