Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes #16623: Publish arch-doc for http reporting/relayd in the repo #2898

Conversation

amousset
Copy link
Member

@amousset amousset requested a review from fanf April 15, 2020 10:16

### Current issues

Current implementation has several issues:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would use "Implementation up to Rudder 5.0" here to be sure reader won't misunderstand what implementation (since "current" doesn't mean the same thing, always)


There are two specific control logs, allowing to delimitate and contextualize a run: a start and end flag (resp. `StartRun` and `EndRun`). The application starts considering a run once the `EndRun` has arrived.

This model has several drawback:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

drawbacks


### From reports to reports+logs

#### Current situation
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same than on previous case, prefer to use "Rudder 5.0 situation"


##### Agent side

- Use `info` as the lowest verbosity level when starting the agent (in CLI ou by cf-execd), and filter it fir CLI output to match user-requested verbosity level
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

f_o_r CLI


- Diffs will not be complete, especially for file diffs which are not currently supported by the agent

- This could be a future development for 6.1 once the infrastructure is in place
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove 6.1 here


- Scala which is already used in the main application. The main issue is that we want relayd to be able to run on light hardware, sometimes embedded, with low resource consumption, contrary to the root server.

The main problem with Rust is that we want be able to push it to the agents due to the absence of AIX in [supported platforms](https://forge.rust-lang.org/platform-support.html).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this sentence should be either just after the first one ("we considered ... on Rust. Nonetheless, it's a compromise: we won't be able to use Rust on all agent blabla AIX. Other considered languages were: ....")
Or at the end ("even though rust was the less bad, it still has pb, etc)

relay/arch-doc/rudder-6-reporting-relayd.md Show resolved Hide resolved

## Security model

### Current situation
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rudder 5.0


All inventories contain the public key (on Unix) or certificate (on Windows), and they are signed using it (signature uses a detached file with a custom format). On the node has been accepted, new inventories need to be signed with the same key to be accepted by the server. We want to leverage this security model for reporting, but with a more standard signature format (now we have a consistent tool set on all nodes, after embedding curl and openssl when needed).

In 6.0, we will:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we use


## Other resources

- Talk at CfgMgmtCamp 2020: [slides](https://speakerdeck.com/rudder/designing-the-future-of-agent-server-communication-in-rudder), [video](https://www.youtube.com/watch?v=l-ztfw_OIow)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would put that at the begining of document

@amousset
Copy link
Member Author

PR updated with a new commit

1 similar comment
@amousset
Copy link
Member Author

PR updated with a new commit

@Normation-Quality-Assistant
Copy link
Contributor

This PR is not mergeable to upper versions.
Since it is "Ready for merge" you must merge it by yourself using the following command:
rudder-dev merge https://github.com/Normation/rudder/pull/2898
-- Your faithful QA
Kant merge: "It is beyond a doubt that all our knowledge begins with experience."
(https://ci.normation.com/jenkins/job/merge-accepted-pr/23013/console)

@amousset
Copy link
Member Author

OK, squash merging this PR

@amousset amousset force-pushed the arch_16623/publish_arch_doc_for_http_reporting_relayd_in_the_repo branch from cc04757 to a28287b Compare April 15, 2020 13:14
@amousset amousset merged commit a28287b into Normation:branches/rudder/6.0 Apr 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants