code: func (a *Authority) Parse() (services.CertAuthority, services.Role, error) {
  	ca := &services.CertAuthorityV1{
  		AllowedLogins: a.AllowedLogins,
  		DomainName:    a.DomainName,
  		Type:          a.Type,
  	}
  
  	for _, path := range a.CheckingKeyFiles {
  		keyBytes, err := utils.ReadPath(path)
  		if err != nil {
  			return nil, nil, trace.Wrap(err)
  		}
  		ca.CheckingKeys = append(ca.CheckingKeys, keyBytes)
  	}
  
  	for _, val := range a.CheckingKeys {
  		ca.CheckingKeys = append(ca.CheckingKeys, []byte(val))
  	}
  
  	for _, path := range a.SigningKeyFiles {
  		keyBytes, err := utils.ReadPath(path)
  		if err != nil {
  			return nil, nil, trace.Wrap(err)
  		}
  		ca.SigningKeys = append(ca.SigningKeys, keyBytes)
  	}
  
  	for _, val := range a.SigningKeys {
  		ca.SigningKeys = append(ca.SigningKeys, []byte(val))
  	}
  
  	new, role := services.ConvertV1CertAuthority(ca)
  	return new, role, nil
  }
docs: // Parse reads values and returns parsed CertAuthority