Skip to content

HSTS enablement communication and migration for next release #3168

Description

@Adam-D-Lewis

Context

We've added HSTS (HTTP Strict Transport Security) support to Nebari in #3165, which will be enabled by default for cloud deployments with valid certificates (Let's Encrypt or existing certs).

Tasks Before Next Release

1. User Communication

Explain default behavior:

  • Enabled by default: Cloud providers (AWS/GCP/Azure) with lets-encrypt or existing certificates
  • Disabled by default: local provider or selfsigned certificates
  • User override: Users can explicitly configure ingress.hsts in nebari-config.yaml

2. Configuration Migration

  • During upgrade process, prompt users to add HSTS config explicitly to their nebari-config.yaml
  • Allow users to decline if they want
  • If accepted, add configuration block:
    ingress:
      hsts:
        enabled: true
        max_age: 31536000  # 1 year recommended for production
        include_subdomains: true
        preload: false

3. User Guidance

  • Provide guidance on testing HSTS before increasing max_age
  • Explain the progression: 300s (initial) → test → 31536000 (production)
  • Document browser HSTS clearing procedures if needed

Related Files

  • src/_nebari/stages/kubernetes_ingress/__init__.py
  • src/_nebari/stages/kubernetes_ingress/template/modules/kubernetes/ingress/hsts-middleware.tf
  • src/_nebari/upgrade.py

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Start date

    None yet

    Target date

    None yet

    Size

    None yet

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions