-
Notifications
You must be signed in to change notification settings - Fork 7
Argo Rollouts for OpenTelemetry Operator #6519
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: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Nicolas Lamirault <[email protected]>
Signed-off-by: Nicolas Lamirault <[email protected]>
WalkthroughThe changes reorganize and expand the documentation in the README by renaming and elaborating key sections, such as the project overview, key features, and contributing guidelines. In addition, a new YAML file for configuring Argo Rollouts is introduced, along with corresponding values modifications that define rollout strategies (canary, blue-green, etc.) and adjust the replica count for the operator. Changes
Sequence Diagram(s)sequenceDiagram
participant User as User/CI
participant GitOps as GitOps System
participant Cluster as Kubernetes Cluster
participant RC as Rollout Controller
User->>GitOps: Commit updated README & rollout configs
GitOps->>Cluster: Apply configuration changes
Cluster->>RC: Evaluate Argo Rollouts settings
RC->>Cluster: Initiate rollout (selecting canary or blue-green strategy)
Cluster-->>RC: Report deployment status
RC->>GitOps: Confirm rollout completion
Suggested labels
Poem
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration 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.
Actionable comments posted: 0
🧹 Nitpick comments (7)
gitops/argocd/charts/opentelemetry/opentelemetry-operator/templates/rollout.yaml (3)
1-1
: Helm Templating Directive Warning
The directive{{- if .Values.argoRollouts.enabled }}
on line 1 is standard in Helm templates but may trigger YAML lint errors as a false positive. Ensure your linting tool is configured to handle Helm templating or add an ignore configuration for these directives.🧰 Tools
🪛 YAMLlint (1.35.1)
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
15-23
: Default Rolling Update Strategy Configuration
Within the conditional block (lines 15–23), a default canary strategy is defined when.Values.argoRollouts.strategy.rollout.enabled
is true. The fixed settings (maxSurge: 1
andmaxUnavailable: 1
) serve as a minimal rolling update. Consider parameterizing these values in the future if you need greater flexibility.
31-38
: Detailed Canary Strategy with Steps
The detailed canary strategy (lines 31–38) uses dynamic values and renders additional steps viatoYaml
. Verify that the resulting YAML indentation (withnindent 6
) is correct, and ensure only one strategy is active at runtime in your values to prevent configuration conflicts.gitops/argocd/charts/opentelemetry/opentelemetry-operator/values-talos-homelab.yaml (2)
8-17
: Rollout Strategy Configuration
This block details three strategy types:rollout
,bluegreen
, andcanary
. Verify that enablingrollout
(while keepingbluegreen
andcanary
disabled) is the desired approach. Adding inline comments to explain the intended usage for each strategy could improve clarity.
18-18
: Percentage Value Formatting
The linemaxSurge: 25%
on line 18 should ideally quote the percentage (e.g.,"25%"
) to ensure correct YAML parsing as a string. This is a common practice in Kubernetes configurations.README.md (2)
25-27
: Documentation Section Consideration
There is a separate "Documentation" section following the "Key Features" section. Since the AI summary mentioned a renaming to "Overview," consider whether this section is redundant or if it could be merged with the existing overview. Clarifying the distinct roles of these sections may enhance readability.
29-32
: Contributing Section Tone
The "Contributing" section is inviting and provides clear instructions, though the exclamation mark in "Contributions are welcome!" (line 31) might be toned down for a more neutral tone. A minor rewording could align better with overall project branding.🧰 Tools
🪛 LanguageTool
[style] ~31-~31: Using many exclamation marks might seem excessive (in this case: 5 exclamation marks for a text that’s 1890 characters long)
Context: ... Contributing Contributions are welcome! Please read the [Contributing Guide](./...(EN_EXCESSIVE_EXCLAMATION)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
README.md
(1 hunks)gitops/argocd/charts/opentelemetry/opentelemetry-operator/templates/rollout.yaml
(1 hunks)gitops/argocd/charts/opentelemetry/opentelemetry-operator/values-talos-homelab.yaml
(1 hunks)
🧰 Additional context used
🪛 YAMLlint (1.35.1)
gitops/argocd/charts/opentelemetry/opentelemetry-operator/templates/rollout.yaml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
🪛 LanguageTool
README.md
[style] ~31-~31: Using many exclamation marks might seem excessive (in this case: 5 exclamation marks for a text that’s 1890 characters long)
Context: ... Contributing Contributions are welcome! Please read the [Contributing Guide](./...
(EN_EXCESSIVE_EXCLAMATION)
🔇 Additional comments (10)
gitops/argocd/charts/opentelemetry/opentelemetry-operator/templates/rollout.yaml (3)
2-10
: Metadata and Workload Reference
The metadata (including labels, name, and namespace) and the workload reference configuration are correctly templated. Please double-check that the label inclusion (include "opentelemetry-operator.labels"
) and namespace resolution align with your deployment conventions.
24-30
: BlueGreen Strategy Configuration
The blue-green deployment block (lines 24–30) is well-structured with templated parameters for auto-promotion and service names. Please confirm that the service identifiers (opentelemetry-operator
andopentelemetry-operator-preview
) match existing resource definitions in your cluster.
39-40
: Closing Conditional Blocks
The ending of the conditional blocks is correctly handled. It’s advisable to document in your values file that the strategy sections are mutually exclusive so that only one configuration is applied per deployment.gitops/argocd/charts/opentelemetry/opentelemetry-operator/values-talos-homelab.yaml (3)
5-7
: Argo Rollouts Basic Configuration
TheargoRollouts
section properly sets theenabled
flag and defines the replica count for rollout management. Confirm that the specified replica count (1) meets your operational needs.
21-31
: Canary Strategy Steps
The steps for the canary rollout (lines 21–31) are clearly defined, with specific weight settings and pause durations. Double-check that the sequence matches the desired rollout cadence for your environment.
33-34
: Operator Replica Count Verification
Theopentelemetry-operator.replicaCount
is set to 0 (line 34). Please confirm that this is intentional—commonly used when the operator is managed externally or scaled by another mechanism—and that it won’t inadvertently disable the operator in your deployment.README.md (4)
1-9
: Project Title and Badges
The header and badge section clearly convey project information. The badges are informative and render links to relevant resources. No changes needed here.
10-16
: Overview Section Update
The new "Overview" section provides a concise description of the project’s purpose and its GitOps-driven design principles. This is a welcome improvement in clarity and context.
17-24
: Key Features Section
The "Key Features" section lists the project capabilities in a clear, bullet-point format. This structured list effectively communicates the advantages of the project.
33-36
: License Section Clarity
The license section is clear and properly formatted, directing users to the Apache 2.0 License. This section meets documentation standards.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Summary by CodeRabbit
Documentation
New Features