Sign inSign up

splitsoftware/split-proxy

By splitsoftware

•Updated 1 day ago

Split proxy build using BoringCrypto TLS library which is FIPS-compliant instead of standard TLS lib

Image
0

100K+

splitsoftware/split-proxy repository overview

⁠Split Proxy

Build Status

⁠Overview

The Split proxy enables you to deploy a service in your own infrastructure that behaves like Split's servers and is used by both server-side and client-side SDKs to synchronize the flags without connecting to Split's actual backend directly.

This tool reduces connection latencies from the SDKs to the Split server to the SDKs transparently, and when a single connection is required from a private network to the outside for security reasons.

Twitter Follow

⁠Compatibility

Split Proxy supports Go version 1.13 or higher.

⁠Running the container
  1. Pull the Docker image and run it into your container environment.
docker pull splitsoftware/split-proxy:latest
  1. Run the image:
docker run --rm --name split-proxy \
 -p 3000:3000 \
 -p 3010:3010 \
 -e SPLIT_PROXY_APIKEY="your-api-key" \
 -e SPLIT_PROXY_CLIENT_APIKEYS="123456,qwerty" \
 splitsoftware/split-proxy

Please refer to our official docs⁠ to learn about all the functionality provided by Split Proxy and the configuration options available for tailoring it to your current application setup.

⁠Environment VARS
   - SPLIT_PROXY_APIKEY                            Split Server-side SDK  api-key
   - SPLIT_PROXY_LOG_LEVEL                         Log level (error;warning;info;debug;verbose)
   - SPLIT_PROXY_LOG_OUTPUT                        Where to output logs (defaults to stdout)
   - SPLIT_PROXY_LOG_ROTATION_MAX_FILES            Max number of files to keep when rotating logs
   - SPLIT_PROXY_ADMIN_HOST                        Host where the admin server will listen
   - SPLIT_PROXY_ADMIN_PORT                        Admin port where incoming connections will be accepted
   - SPLIT_PROXY_ADMIN_USERNAME                    HTTP basic auth username for admin endpoints
   - SPLIT_PROXY_ADMIN_PASSWORD                    HTTP basic auth password for admin endpoints
   - SPLIT_PROXY_ADMIN_SECURE_HC                   Secure Healthcheck endpoints as well
   - SPLIT_PROXY_IMPRESSION_LISTENER_ENDPOINT      HTTP endpoint to forward impressions to
   - SPLIT_PROXY_IMPRESSION_LISTENER_QUEUE_SIZE    max number of impressions bulks to queue
   - SPLIT_PROXY_SLACK_WEBHOOK                     slack webhook to post log messages
   - SPLIT_PROXY_SLACK_CHANNEL                     slack channel to post log messages
   - SPLIT_PROXY_IP_ADDRESS_ENABLED                Bundle host's ip address when sending data to split
   - SPLIT_PROXY_TIMEOUT_MS                        How long to wait until the synchronizer is ready
   - SPLIT_PROXY_SNAPSHOT                          Snapshot file to use as a starting point
   - SPLIT_PROXY_FORCE_FRESH_STARTUP               Wipe storage before starting the synchronizer
   - SPLIT_PROXY_CLIENT_APIKEYS                    Apikeys that clients connecting to this proxy will use
   - SPLIT_PROXY_SERVER_HOST                       Host/IP to start the proxy server on
   - SPLIT_PROXY_SERVER_PORT                       Port to listten for incoming requests from SDKs
   - SPLIT_PROXY_HTTP_CACHE_SIZE                   How many responses to cache
   - SPLIT_PROXY_PERSISTENT_STORAGE_FN             Where to store flags & user-generated data. (Default: temporary file)
   - SPLIT_PROXY_SPLIT_REFRESH_RATE_MS             How often to refresh splits
   - SPLIT_PROXY_SEGMENT_REFRESH_RATE_MS           How often to refresh segments
   - SPLIT_PROXY_STREAMING_ENABLED                 Enable/disable streaming functionality
   - SPLIT_PROXY_HTTP_TIMEOUT_MS                   Total http request timeout
   - SPLIT_PROXY_IMPRESSIONS_WORKERS               #workers to forward impressions to split servers
   - SPLIT_PROXY_EVENTS_WORKERS                    #workers to forward events to split servers
   - SPLIT_PROXY_TELEMETRY_WORKERS                 #workers to forward telemetry to split servers
   - SPLIT_PROXY_INTERNAL_METRICS_RATE_MS          How often to send internal metrics
   - SPLIT_PROXY_DEPENDENCIES_CHECK_RATE_MS        How often to check dependecies health

⁠Submitting issues

The Split team monitors all issues submitted to this issue tracker⁠. We encourage you to use this issue tracker to submit any bug reports, feedback, and feature enhancements. We'll do our best to respond in a timely manner.

⁠Contributing

Please see Contributors Guide⁠ to find all you need to submit a Pull Request (PR).

⁠License

Licensed under the Apache License, Version 2.0. See: Apache License⁠.

⁠About Split

Split is the leading Feature Delivery Platform for engineering teams that want to confidently deploy features as fast as they can develop them. Split’s fine-grained management, real-time monitoring, and data-driven experimentation ensure that new features will improve the customer experience without breaking or degrading performance. Companies like Twilio, Salesforce, GoDaddy and WePay trust Split to power their feature delivery.

To learn more about Split, contact [email protected]⁠, or get started with feature flags for free at https://www.split.io/signup⁠.

Split has built and maintains SDKs for:

For a comprehensive list of opensource projects visit our Github page⁠.

Learn more about Split:

Visit split.io/product⁠ for an overview of Split, or visit our documentation at docs.split.io⁠ for more detailed information.

Tag summary

Content type

Image

Digest

sha256:854b1a19e…

Size

46.6 MB

Last updated

1 day ago

docker pull splitsoftware/split-proxy