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

fix: Set host for email team invites #347

Merged
merged 1 commit into from
Feb 13, 2025

Conversation

zacharyblasczyk
Copy link
Contributor

@zacharyblasczyk zacharyblasczyk commented Feb 13, 2025

This change fixes a bug where the api pod doesn't generate correct team level invites.

Summary by CodeRabbit

  • Chores
    • Upgraded the deployment package to version 0.26.4.
  • New Features
    • Introduced a new configuration setting that enables dynamic assignment of the frontend host for improved integration of key components.

Copy link

coderabbitai bot commented Feb 13, 2025

Walkthrough

This pull request updates the Helm chart for the operator-wandb. The version in the Chart.yaml is incremented from 0.26.3 to 0.26.4. Additionally, the values.yaml is enhanced by adding a new environment variable, GORILLA_FRONTEND_HOST, under both the glue and api sections, which now reference the global host setting.

Changes

File(s) Change Summary
charts/.../Chart.yaml Updated chart version from 0.26.3 to 0.26.4
charts/.../values.yaml Added new environment variable GORILLA_FRONTEND_HOST in both glue and api sections

Suggested reviewers

  • danielpanzella
  • vanpelt

Poem

Oh, the carrots dance with glee,
As our chart hops to a version spree.
New variables bloom in the helm's field,
In glue and API, fresh settings are revealed.
From a happy rabbit, a joyful decree!
🥕🐇


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ab61675 and 89bb1ab.

📒 Files selected for processing (2)
  • charts/operator-wandb/Chart.yaml (1 hunks)
  • charts/operator-wandb/values.yaml (2 hunks)
✅ Files skipped from review due to trivial changes (1)
  • charts/operator-wandb/Chart.yaml
⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Test Chart (v1.30.8, default)
  • GitHub Check: Test Chart (v1.31.4, default)
  • GitHub Check: Test Chart (v1.32.1, default)
🔇 Additional comments (2)
charts/operator-wandb/values.yaml (2)

490-491: LGTM! Environment variable added consistently.

The GORILLA_FRONTEND_HOST environment variable is correctly added to both glue and api sections, referencing the global host value. This change will help fix the team-level invites generation by providing the correct frontend URL to the API pod.

Also applies to: 665-666


13-14:

❓ Verification inconclusive

Verify the global host configuration for production deployment.

The global host value is used by the new GORILLA_FRONTEND_HOST environment variable. Ensure this value is properly configured in production to match your deployment's frontend URL.


🌐 Web query:

What is the recommended way to configure host URL in Helm values for production deployments?

💡 Result:

To configure a host URL in Helm values for production deployments, the recommended approach is to define it in the global.hostname field of your values.yaml file. This ensures consistent routing and access control across Kubernetes resources.

Key Configuration Steps

  1. Define Hostname Globally
    Set your production domain under global.hostname:

    global:
      hostname: develocity.prod.example.com  # Production URL

    This value becomes the canonical URL for accessing your application and is enforced at ingress/routing layers[1][3].

  2. Use Environment-Specific Values Files
    For production, maintain a dedicated production-values.yaml file:

    # production-values.yaml
    ingress:
      enabled: true
      annotations:
        kubernetes.io/ingress.class: nginx-prod

    Deploy with:

    helm install -f production-values.yaml --values ./base-values.yaml

    This separates environment-specific settings from base configurations[5][7].

  3. Validate DNS Resolution
    Ensure your hostname resolves correctly within your network infrastructure and matches:

    • Ingress controller configurations
    • TLS certificate SANs (if using HTTPS)
    • Internal service discovery requirements[1][3]

Special Considerations for Production

  • Ingress Compatibility: Verify your ingress controller supports required protocols (e.g., gRPC for features like Bazel Build Scans)[1][3]
  • Immutable Configurations: Use Kubernetes Secrets/ConfigMaps referenced in Helm values rather than hardcoding credentials[3][4]
  • High Availability: For multi-replica deployments:
    replicas: 3
    autoscaling:
      enabled: true
      minReplicas: 3
      maxReplicas: 6 

This approach balances Helm's templating capabilities with production-grade Kubernetes practices, enabling safe configuration management across environments[5][7].

Citations:


Production Host Configuration Must Be Updated

  • The global host in charts/operator-wandb/values.yaml is currently set to "http://localhost:8080" (lines 13–14), which is reasonable for local development.
  • However, for production it’s recommended to define your production domain under a dedicated key—typically global.hostname—and override this default using an environment-specific values file (e.g., production-values.yaml). This approach ensures consistency across routing, ingress, and access controls.
  • Since the new GORILLA_FRONTEND_HOST environment variable (added in both the glue and api sections) references this global host value, please verify that the production configuration is updated accordingly.

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@zacharyblasczyk zacharyblasczyk merged commit 832ee0c into main Feb 13, 2025
6 checks passed
@zacharyblasczyk zacharyblasczyk deleted the zacharyb/fix-setting-frontend-host-in-backend branch February 13, 2025 15:21
@zacharyblasczyk
Copy link
Contributor Author

@coderabbitai configuration

Copy link

coderabbitai bot commented Feb 13, 2025

CodeRabbit configuration
language: en-US
tone_instructions: ''
early_access: false
enable_free_tier: true
reviews:
  profile: chill
  request_changes_workflow: false
  high_level_summary: true
  high_level_summary_placeholder: '@coderabbitai summary'
  high_level_summary_in_walkthrough: false
  auto_title_placeholder: '@coderabbitai'
  auto_title_instructions: ''
  review_status: true
  commit_status: true
  fail_commit_status: false
  collapse_walkthrough: false
  changed_files_summary: true
  sequence_diagrams: true
  assess_linked_issues: true
  related_issues: true
  related_prs: true
  suggested_labels: true
  auto_apply_labels: false
  suggested_reviewers: true
  poem: true
  labeling_instructions: []
  path_filters: []
  path_instructions: []
  abort_on_close: true
  auto_review:
    enabled: true
    auto_incremental_review: true
    ignore_title_keywords: []
    labels: []
    drafts: false
    base_branches: []
  finishing_touches:
    docstrings:
      enabled: true
  tools:
    shellcheck:
      enabled: true
    ruff:
      enabled: true
    markdownlint:
      enabled: true
    github-checks:
      enabled: true
      timeout_ms: 90000
    languagetool:
      enabled: true
      enabled_only: false
      level: default
    biome:
      enabled: true
    hadolint:
      enabled: true
    swiftlint:
      enabled: true
    phpstan:
      enabled: true
      level: default
    golangci-lint:
      enabled: true
    yamllint:
      enabled: true
    gitleaks:
      enabled: true
    checkov:
      enabled: true
    detekt:
      enabled: true
    eslint:
      enabled: true
    rubocop:
      enabled: true
    buf:
      enabled: true
    regal:
      enabled: true
    actionlint:
      enabled: true
    pmd:
      enabled: true
    cppcheck:
      enabled: true
    semgrep:
      enabled: true
    circleci:
      enabled: true
chat:
  auto_reply: true
  integrations:
    jira:
      usage: auto
    linear:
      usage: auto
knowledge_base:
  opt_out: false
  web_search:
    enabled: true
  learnings:
    scope: auto
  issues:
    scope: auto
  jira:
    usage: auto
    project_keys: []
  linear:
    usage: auto
    team_keys: []
  pull_requests:
    scope: auto

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.

2 participants