-
Notifications
You must be signed in to change notification settings - Fork 38
Fleet persona quickstart #254
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
base: main
Are you sure you want to change the base?
Conversation
0xavi0
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm normally not too picky in code reviews (sorry), but this one is about the quickstart and that's normally the entry point of anybody that tries to use Fleet (or any other software) for the first time, so IMHO it should be one the best pages in the docs.
I find the example (or the guidance) a bit confusing (specially because of the suggestion to include the gitrepo.yaml in the git repository that you're later going to deploy via a GitRepo resource).
I would not suggest new users to have any GitRepo yaml in the same git repository as it might deploy nested GitRepos or more complex behaviours that are not intended to be used by new users.
We can maybe discuss with the team what should be a good example that shows how Fleet works for newbies in the quickstart.
For example, I don't know if it should be better to start adding the targets just in the GitRepo itself.
Anyway, I found a few nitpicks you can fix meanwhile.
| | Persona | Responsibilities | Key Benefits | | ||
| | --- | ----- | ----- | | ||
| | Platform Engineers | Set up and manage Fleet installation across clusters <br/> Define and enforce multi-cluster application and policy deployments <br/> Manage GitRepo and fleet.yaml configurations <br/> Perform cluster-wide updates and rollbacks | Centralized control across clusters <br/> Improved standardization and compliance | | ||
| | Application Developers | Structure application Helm charts or manifests in Git <br/> Define deployment targets and environments in `fleet.yaml` <br/> Monitor deployment status via UI or CLI | GitOps-based workflows <br/> Faster, automated, and consistent deployments across environments | | ||
| | Security Administrators | Define and enforce security policies as code- <br/> Deploy security tools and configurations <br/> Audit and manage security posture across clusters | Reduced risk and centralized compliance management <br/> Automated, consistent security configuration | No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you think about adding a dot at the end of each sentence in the items that are in the same column?
I see we have fleet.yaml and fleet.yaml in the document. I guess we should use the same form, but I'm not sure which one is better (looks like fleet.yaml). We maybe should define a style guide.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we use bullet points to make points easier to distinguish from each other?
| Fleet follows a GitOps mode, allowing you to track who made changes and when using your Git history. When you push changes to your Git repository: | ||
|
|
||
| 1. Fleet detects the change and evaluates `fleet.yaml` to determine which clusters to target. | ||
| 1. It deploys the updated resources automatically. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 1. It deploys the updated resources automatically. | |
| 2. It deploys the updated resources automatically. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Numbering shouldn't matter much here, as indexes of numbered lists are computed when rendering Markdown into HTML.
| Structure your repository like this: | ||
|
|
||
|  |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would not suggest to have the gitrepo.yaml in the repository being deployed.
The reason why is because the GitRepo can be considered as just another resource by Fleet and can add confusion.
For example... lets say you have a git repository with some YAML fields and that one of them is a GitRepo.
Fleet will deploy that GitRepo, which means it will create another GitRepo (you are nesting GitRepos).
You might want to do that, but I don't think that's the case in this example.
I would take the GitRepo out of the git repository here to avoid confusions and unexpected behaviour.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
It was confusing to me as well the first time I deploy an application using Fleet
I think I would also add a warning about this bad approach
Co-authored-by: Xavi Garcia <[email protected]>
Co-authored-by: Xavi Garcia <[email protected]>
Co-authored-by: Xavi Garcia <[email protected]>
Co-authored-by: Xavi Garcia <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a quickstart update that incorporates persona documentation and updates several documentation pages to better guide users through Fleet deployments.
- Adds a new "persona" sidebar entry in sidebars.js
- Updates the quickstart guide with refined installation instructions, examples, and image references
- Introduces a new docs/persona.md file documenting key personas and their roles
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| sidebars.js | Added a new sidebar entry for the persona page |
| docs/quickstart.md | Updated installation steps, examples, and image references for clarity |
| docs/persona.md | New documentation file with a personas table |
| | --- | ----- | ----- | | ||
| | Platform Engineers | Set up and manage Fleet installation across clusters <br/> Define and enforce multi-cluster application and policy deployments <br/> Manage GitRepo and fleet.yaml configurations <br/> Perform cluster-wide updates and rollbacks | Centralized control across clusters <br/> Improved standardization and compliance | | ||
| | Application Developers | Structure application Helm charts or manifests in Git <br/> Define deployment targets and environments in `fleet.yaml` <br/> Monitor deployment status via UI or CLI | GitOps-based workflows <br/> Faster, automated, and consistent deployments across environments | | ||
| | Security Administrators | Define and enforce security policies as code- <br/> Deploy security tools and configurations <br/> Audit and manage security posture across clusters | Reduced risk and centralized compliance management <br/> Automated, consistent security configuration | No newline at end of file |
Copilot
AI
May 23, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider revising 'as code-' to 'as code:' or another appropriate phrasing to fix the punctuation typo.
| | Security Administrators | Define and enforce security policies as code- <br/> Deploy security tools and configurations <br/> Audit and manage security posture across clusters | Reduced risk and centralized compliance management <br/> Automated, consistent security configuration | | |
| | Security Administrators | Define and enforce security policies as code: <br/> Deploy security tools and configurations <br/> Audit and manage security posture across clusters | Reduced risk and centralized compliance management <br/> Automated, consistent security configuration | |
|
|
||
| Change `spec.repo` to your git repo of choice. Kubernetes manifest files that should | ||
| be deployed should be in `/manifests` in your repo. | ||
| Specify the Git repositories containing your deployment manifests or Helm charts. For hello world, example you need: |
Copilot
AI
May 23, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Consider rephrasing 'For hello world, example you need:' to 'For example, for a hello world deployment, include:' for improved clarity.
|
|
||
| Change `spec.repo` to your git repo of choice. Kubernetes manifest files that should | ||
| be deployed should be in `/manifests` in your repo. | ||
| Specify the Git repositories containing your deployment manifests or Helm charts. For hello world, example you need: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would make more sense to use a singular here, to prevent confusion among users: a given GitRepo resources watches one git repository.
| Specify the Git repositories containing your deployment manifests or Helm charts. For hello world, example you need: | |
| Specify the Git repository containing your deployment manifests or Helm charts. For hello world, example you need: |
| * deployment.yaml for defining workload | ||
| * fleet.yaml for how should Fleet control the deployment | ||
| * Gitrepo.yaml for where to find your git repo, which branch and sub-path to monitor. | ||
| * (optionally) You can also add credentials |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * deployment.yaml for defining workload | |
| * fleet.yaml for how should Fleet control the deployment | |
| * Gitrepo.yaml for where to find your git repo, which branch and sub-path to monitor. | |
| * (optionally) You can also add credentials | |
| * deployment.yaml for defining your workload | |
| * fleet.yaml providing configuration instructing Fleet on how to control the deployment | |
| * Gitrepo.yaml referencing your git repo, which branch and sub-path to monitor. | |
| * (optionally) You can also add credentials |
|
|
||
|  | ||
|
|
||
| Or you can run the following command: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two commands are listed here ;)
| Or you can run the following command: | |
| Or you can run the following commands: |
| ``` | ||
| NAME READY UP-TO-DATE AVAILABLE AGE | ||
| frontend 3/3 3 3 116m | ||
| ## Automating Deployments and Scaling |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ## Automating Deployments and Scaling | |
| ## Automating Deployments and Scaling |
|
|
||
| To target specific clusters, apply labels such as `env=qa` or `region=eu` to your clusters. Use the `clusterSelector` and `targetCustomizations` fields in your `fleet.yaml` file to define which clusters receive which configurations. | ||
|
|
||
|  |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the idea of having a diagram here, but in my web browser at least, it reads pretty small compared to the rest of the page contents. We may need to increase the font size and/or change its style to make it comfortable to read to as many readers as possible.
| Fleet follows a GitOps mode, allowing you to track who made changes and when using your Git history. When you push changes to your Git repository: | ||
|
|
||
| 1. Fleet detects the change and evaluates `fleet.yaml` to determine which clusters to target. | ||
| 1. It deploys the updated resources automatically. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Numbering shouldn't matter much here, as indexes of numbered lists are computed when rendering Markdown into HTML.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could perhaps be replaced with a text block, which would be easier to edit.
| | Persona | Responsibilities | Key Benefits | | ||
| | --- | ----- | ----- | | ||
| | Platform Engineers | Set up and manage Fleet installation across clusters <br/> Define and enforce multi-cluster application and policy deployments <br/> Manage GitRepo and fleet.yaml configurations <br/> Perform cluster-wide updates and rollbacks | Centralized control across clusters <br/> Improved standardization and compliance | | ||
| | Application Developers | Structure application Helm charts or manifests in Git <br/> Define deployment targets and environments in `fleet.yaml` <br/> Monitor deployment status via UI or CLI | GitOps-based workflows <br/> Faster, automated, and consistent deployments across environments | | ||
| | Security Administrators | Define and enforce security policies as code- <br/> Deploy security tools and configurations <br/> Audit and manage security posture across clusters | Reduced risk and centralized compliance management <br/> Automated, consistent security configuration | No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we use bullet points to make points easier to distinguish from each other?
|
|
||
| Fleet is distributed as a Helm chart. Helm 3 is a CLI, has no server side component, and its use is | ||
| fairly straightforward. To install the Helm 3 CLI follow the <a href="https://helm.sh/docs/intro/install">official install instructions</a>. | ||
| Fleet is distributed as a Helm chart. Helm 3 is a CLI, has no server side component, and its use is |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Fleet is distributed as a Helm chart. Helm 3 is a CLI, has no server side component, and its use is | |
| Fleet is distributed as a Helm chart. Helm is a CLI, has no server side component, and its use is |
Do we need to specify version 3?
My understanding is that the Helm project is planning on a version 4 and this page will look outdated very soon.
Plus the version "3" provides no valuable information
No description provided.