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

Add Controller HA reference material. Fixes #929 #1031

Merged
merged 1 commit into from
Feb 7, 2025
Merged

Conversation

plorenz
Copy link
Member

@plorenz plorenz commented Feb 2, 2025

No description provided.

@plorenz plorenz requested review from a team as code owners February 2, 2025 17:35
Copy link

vercel bot commented Feb 2, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
ziti-doc ✅ Ready (Inspect) Visit Preview Feb 7, 2025 2:17pm

```
The `dataDir` will be used to store the following:

* `ctrl-ha.db` - the ziti model bbolt database
Copy link
Member

Choose a reason for hiding this comment

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

ctrl-ha.db, raft.db, shapshots are all mentioned here but the yaml section above contains none of these values?

dataDir: /var/ziti/data/
```

When an HA controller starts up, it will first apply the newest snapshot, then any newer journal
Copy link
Member

Choose a reason for hiding this comment

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

When an HA controller starts up, it will first apply the newest snapshot,

Why does this process differ from the one outlined just above that states:

If a controller receives a snapshot to apply after starting up, it will apply the snapshot and then terminate.

I assume there's a reason but it makes me wonder what the differences are between these two processes

Copy link
Member Author

Choose a reason for hiding this comment

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

Changed 'after starting up' to 'after startup is complete', to make it clear that snapshots can be applied during startup without a restart, but once it's up and running a snapshot will result in restart.

Because every model update must be approved by a quorum of voting members, adding a large number of voting
members can add a lot of latency to model changes.

If more controllers are desired to scale out to meet client needs, only as many controllers as are needed
Copy link
Member

Choose a reason for hiding this comment

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

Overall this sentence is hard to read and should be reworked. Maybe as Ken suggested, maybe somethign else you like but it's hard to read. :)

Copy link
Member Author

Choose a reason for hiding this comment

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

tried to clean it up

spiffe://<trust domain>/controller/<controller id>
```

So if your trust domain is `example.com` and your controller id is `ctrl1`, then your SPIFFE id
Copy link
Member

Choose a reason for hiding this comment

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

'you/your' is like 'we' and can almost always be eliminated

Copy link
Member

Choose a reason for hiding this comment

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

A slightly more personable tone seems ideal for this sort of practical doc.

Copy link
Member

Choose a reason for hiding this comment

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

This is reference doc. not a guide. You/your/we/personable tone is not appropriate in reference doc

Copy link
Member Author

Choose a reason for hiding this comment

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

Searched for and removed we(s)/you(r)(s)


**Requirements**

1. The network should be able to withstand the loss of 1 voting member
Copy link
Member

Choose a reason for hiding this comment

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

generally "one" and "two" vs "1" and "2". Also, I'd like to see you explain WHY two in each region? Why not three total voting members? Was there a rationale?

I'd also like to see guidance on when to use non-voting members. I naively thought the five would be three voters and two non-voters but that wasn't what was in the example

Copy link
Member Author

Choose a reason for hiding this comment

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

There are three voting members and three extra for geographical closeness to clients.

@plorenz plorenz changed the base branch from main to ha-docs-overview February 4, 2025 18:48
@plorenz plorenz merged commit fa07731 into ha-docs-overview Feb 7, 2025
3 checks passed
@plorenz plorenz deleted the ha-docs branch February 7, 2025 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants