Adding approval process
This commit is contained in:
45
README.org
45
README.org
@@ -2,4 +2,47 @@
|
||||
#+AUTHOR: Adam Mohammed
|
||||
|
||||
|
||||
This provides a way to do k8s native application deployment in a way that's simple and requires almost no configuration
|
||||
Service Demon is a centralized configuration provider for Nautilus services.
|
||||
|
||||
This provides a way to do k8s native application deployment in a way that's simple
|
||||
and requires almost no configuration on the client.
|
||||
|
||||
|
||||
Service Demon runs in k8s and expects a service agent to be deployed alongside
|
||||
your application.
|
||||
|
||||
|
||||
** Workflow
|
||||
|
||||
This demon (playing off of "daemon") hosts an application registration process that,
|
||||
the our agent is aware of. By simply deploying the agent in your namespace, it will kick off
|
||||
the application registration process. On completion, the agent is able to respond to commands
|
||||
from the configuration service to update k8s resources that your application can rely on.
|
||||
|
||||
|
||||
The agent on deploy, will use TLS certificates generated for your applications ingress to
|
||||
announce itself as an application that wishes to be registered.
|
||||
|
||||
Once the app announces that it would like to be registered, an authorized human must approve
|
||||
the application.
|
||||
|
||||
Once the approval goes through, the application is registered, and can start to request application
|
||||
configuration manifests.
|
||||
|
||||
The agent will fetch the manifests it needs and store them by talking to the k8s api. It will create
|
||||
configuration maps, secrets, and other resources as necessary.
|
||||
|
||||
|
||||
From there a client library loaded into your application will know how to read those manifests
|
||||
and provide some baseline functionality to your service.
|
||||
|
||||
|
||||
** Motivation
|
||||
|
||||
Although microservices are autonomous, they rely on common infrastructure to
|
||||
reduce the operational overhead on the team maintaining them. Right now,
|
||||
Nautilus has trouble performing authentication and authorization checks,
|
||||
particularly between services.
|
||||
|
||||
By using a central configuration store, we can deploy and manage authorization policies
|
||||
centrally, and push them down to the active services, so we can control authorization at runtime.
|
||||
|
||||
Reference in New Issue
Block a user