Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: gatewayd-io/gatewayd
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.9.6
Choose a base ref
...
head repository: gatewayd-io/gatewayd
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.9.7
Choose a head ref
  • 18 commits
  • 56 files changed
  • 3 contributors

Commits on Jun 6, 2024

  1. Configuration menu
    Copy the full SHA
    fa20a3b View commit details
    Browse the repository at this point in the history
  2. Update deps (#561)

    mostafa authored Jun 6, 2024
    Configuration menu
    Copy the full SHA
    9788963 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6ab5298 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2024

  1. Feature/integrate docker scout with git hub actions (#564)

    * added github action for Docker Scout compare
    * added Docker Scout step
    * set correct secrets for DOCKERHUB
    * upgrade git version
    * (2.45.1-r0) is not available in the Alpine repositories, and a newer version (2.45.2-r0) is available instead
    * changed dockerhub secrets to readonly
    sinadarbouy authored Jun 8, 2024
    Configuration menu
    Copy the full SHA
    1a86b96 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    711e5c9 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. Configuration menu
    Copy the full SHA
    0119784 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2024

  1. Update deps (#576)

    Replace yaml.v2 with yaml.v3
    mostafa authored Jul 12, 2024
    Configuration menu
    Copy the full SHA
    18ae198 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2024

  1. Feature: Implement Multi-Proxy and Load Balancer Strategy Support (#577)

    ### Commit Title: Implement Multi-Proxy and Load Balancer Strategy Support
    
    This commit introduces significant enhancements to the server configuration by supporting multiple proxies and load balancing strategies.
    
    #### Key Changes:
    
    - **API Tests**: Updated to reflect the change from a single `Proxy` to a list of `Proxies`.
    - **Initialization and Configuration**: Modified `run.go` to support multiple proxies and load balancer strategies.
    - **Configuration Files**: Updated to include fields for multiple proxies and load balancer strategies.
    - **Global Configuration Validation**: Enhanced for clients, pools, and proxies.
    - **Load Balancer Configuration**: Added a new `loadBalancer` section in `gatewayd.yaml` for rules and strategies.
    - **Load Balancing Strategies**: Implemented strategy selection and the Round Robin strategy.
    - **Testing**: Added tests for load balancer strategies and updated existing tests.
    - **Error Handling**: Introduced a new error type `ErrorCodeLoadBalancerStrategyNotFound`.
    - **Proxy Connection Handling**: Improved and added informative comments.
    
    #### Configuration Example:
    
    - **gatewayd.yaml**: Updated to reflect support for multiple proxies and load balancer strategies. Ensure to update your configuration files accordingly.
    
    #### Testing:
    
    - Updated existing tests and added new tests for multi-proxy and load balancing functionality.
    - Verified configuration validation for proxies and load balancers.
    
    #### Impact:
    
    - Improved flexibility and scalability of server configuration.
    - Enabled robust proxy management and efficient load distribution.
    
    ### Additional Changes:
    
    - **Nested Map Structure**: Refactored maps to use nested structures for pools, clients, and proxies.
    - **Variable Names**: Refactored for consistency and clarity across multiple files.
    - **YAML Tags**: Added to struct fields for `Client`, `Pool`, and `Proxy` types to ensure compatibility with YAML parsers.
    - **Configuration Block Names**: Changed from kebab-case to camelCase.
    - **Tracing**: Avoided using the request context for tracing in the `GetPools` method.
    - **GetServers API**: Enhanced to include load balancer configuration and updated tests.
    
    ### Minor Fixes:
    
    - Corrected typos and resolved lint warnings.
    - Added comments and fixed formatting issues in configuration files.
    
    ### Sign-offs and Co-authors:
    
    - Co-authored-by: Mostafa Moradian <[email protected]>
    - Signed-off-by: sina <[email protected]>
    sinadarbouy authored Jul 28, 2024
    Configuration menu
    Copy the full SHA
    fd147b4 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. Configuration menu
    Copy the full SHA
    6951811 View commit details
    Browse the repository at this point in the history
  2. Update golangci lint and clean up code (#586)

    * Update golangci-lint in CI
    * Remove deprecated linters
    * Disable fatcontext
    * Remove copied function, because CGO is no longer used in the SDK
    mostafa authored Jul 31, 2024
    Configuration menu
    Copy the full SHA
    359981c View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2024

  1. Fix parameters camelCase support in loadEnvVars for environment varia…

    …ble parsing (#588)
    
    * Added mapenv JSON tag function and unit tests for server load balancer strategy configuration
    * Added `transformEnvVariable` function to format environment variable names based on JSON tags
    * Modified `loadEnvVars` to use the new `transformEnvVariable` function
    * Added `generateTagMapping` to create mappings from struct fields' JSON tags
    * Added unit test `ServerLoadBalancerStrategyOverwrite` to verify that the server load balancer strategy is set and loaded correctly from environment variables
    * Added unit test `pluginDefaultPolicyOverwrite` to verify that the plugin default policy is set and loaded correctly from environment variables
    * Added `initializeConfig` helper function to simplify configuration setup for tests
    * Updated `TestLoadEnvVariables` to include a scenario for server load balancer strategy overwrite
    * Updated comment for `generateTagMapping` function to clarify tag case handling
    sinadarbouy authored Aug 5, 2024
    Configuration menu
    Copy the full SHA
    0127264 View commit details
    Browse the repository at this point in the history
  2. Fix/env vars expect lower case letters (#587)

    * Added function to Convert Keys To Lowercase
    * added check config block to validation
    * convert all refrereced configblock to lowercase
    * fixed lint issues
    * Fix error wrapping to create new instances for each error
    * added testcases for LoadEnvVariables
    * added testcase for ConvertKeysToLowercase
    * refactor  lowerKey to lowercaseKey
    * refactor active-writes to writes and standby-reads to reads
    * set env var for test cases from cons
    * fixed lint issues
    sinadarbouy authored Aug 5, 2024
    Configuration menu
    Copy the full SHA
    bb1889b View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2024

  1. feat: Add multi-proxy support to docker-compose (#589)

    * Renamed the `postgres` service to `write-postgres` and added configuration for the write database.
    * Added a new `read-postgres` service to handle read database operations.
    * Updated `gatewayd` environment variables to support separate read and write addresses.
    * Updated `gatewayd` links and dependencies to include `write-postgres` and `read-postgres`.
    sinadarbouy authored Aug 6, 2024
    Configuration menu
    Copy the full SHA
    2788266 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2024

  1. Add RANDOM load Add RANDOM load balancing strategy (#590)

    * Introduced `RANDOM` strategy in `constants.go` and `loadbalancer.go`.
    * Updated `gatewayd.yaml` to use the new `RANDOM` strategy as an option.
    sinadarbouy authored Aug 9, 2024
    Configuration menu
    Copy the full SHA
    856ba96 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2024

  1. Configuration menu
    Copy the full SHA
    bfb0a81 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. Add Consistent Hashing Load Balancing Strategy (#592)

    * Added ConsistentHash
    * changed net conn into Iconnwrapper
    * added test cases for onsistentHash
    * fixed lint issues
    * replace RWMutex to Mutex and added test case for concurency access
    * added github.com/spaolacci/murmur3 into depguard
    sinadarbouy authored Aug 19, 2024
    Configuration menu
    Copy the full SHA
    54d0c69 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2024

  1. Configuration menu
    Copy the full SHA
    4738ebe View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. Update deps (#600)

    * Update deps
    * Update Go version
    * Regen stubs
    * Add mentioned in awesome badge
    * Update testcontainers-go dep
    * Fix linter errors
    * Tidy deps
    * Use the latest version of golangci-lint (as of now)
    mostafa authored Sep 9, 2024
    Configuration menu
    Copy the full SHA
    4510a51 View commit details
    Browse the repository at this point in the history
Loading