Skip to content
This repository was archived by the owner on Sep 2, 2021. It is now read-only.

Basic implementation detail #4

Open
1 of 9 tasks
gdude2002 opened this issue Jul 10, 2014 · 0 comments
Open
1 of 9 tasks

Basic implementation detail #4

gdude2002 opened this issue Jul 10, 2014 · 0 comments

Comments

@gdude2002
Copy link
Member

gdude2002 commented Jul 10, 2014

This project will be comprised of two main parts.

  • Control - The main control and management node
    • In the standard server-client design methodology, this is the server.
  • Packages - Distributed servers in charge of the actual management of repos and packages
    • And if we have a server and a client, this one is the client.

I was thinking about using RSA encryption and public key exchanges to do security, but the reality is that we'd need pretty large keys to facilitate this, and they would take a long time to generate with a pure-python implementation. For that reason, I've decided to go with SSL sockets for communication between the control and packages nodes.

So, the first thing to do is get a basic server and client working, get an events system working and then look into authentication. Here are the steps I'm hoping to take.

  • Control node
    • SSL certificate and key generation
    • SSL servers
      • One SSL server for packages nodes
      • One SSL server for control/API clients
        • This isn't the HTTP API server
      • I'll work out a protocol in a separate ticket
    • Distributed events system
      • While each node will be able to handle its own events, they'll also be sent to the control node and passed to the other packages nodes and API clients
  • Packages nodes
    • SSL client
    • Events system
      • Local events
      • Network events

@gdude2002 gdude2002 added this to the Initial version milestone Jul 10, 2014
@gdude2002 gdude2002 self-assigned this Jul 10, 2014
@UltrosBot UltrosBot locked and limited conversation to collaborators Jul 10, 2014
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant