Skip to content

Added the ability to post unique keys in batches #308

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

Open
wants to merge 1,234 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1234 commits
Select commit Hold shift + click to select a range
604b792
returning type
mmelograno Jul 18, 2023
1a9ceea
Merge pull request #236 from splitio/task/iffu
mmelograno Jul 18, 2023
c0d3a5a
Merge branch 'master' of github.com:splitio/split-synchronizer
mmelograno Jul 18, 2023
1772466
pointed to flagSet redis storage support
mmelograno Aug 31, 2023
b18914f
added flagSetsFilter for producer
mmelograno Oct 4, 2023
e4fec56
add historic storage for keeping track of flagsets
mredolatti Oct 17, 2023
648dd1b
update images
mredolatti Oct 17, 2023
ec5765f
fixes & more test
mredolatti Oct 19, 2023
afc5a24
prepare base branch for flagsets project
mredolatti Oct 19, 2023
41af077
bump go version in docker images
mredolatti Oct 19, 2023
d175006
bump runner stage alpine version
mredolatti Oct 19, 2023
1910ccb
Merge branch 'project/flagsets' into feat/proxy_flagset_optimized_sto…
mredolatti Oct 19, 2023
864d572
Merge pull request #242 from splitio/feat/proxy_flagset_optimized_sto…
mredolatti Oct 19, 2023
7d5a3de
Merge branch 'project/flagsets' into task/flagSet
ldecheverz-split Oct 24, 2023
6973489
no message
ldecheverz-split Oct 24, 2023
d8f5261
wip
mredolatti Oct 31, 2023
26881ee
implement fix
mredolatti Oct 31, 2023
8beddb1
bump docker image versions
mredolatti Oct 31, 2023
c4760aa
Merge pull request #246 from splitio/fix/wrong_segment_keys_on_init
mredolatti Nov 1, 2023
37cd335
Merge branch 'master' of github.com:splitio/split-synchronizer
mmelograno Nov 7, 2023
bb91f4d
updated docker images and mod for dependencies vulnerabilities
mmelograno Nov 7, 2023
171ea7b
prepare release for vuln fixes
mmelograno Nov 7, 2023
dc7a332
Merge pull request #244 from splitio/task/flagSet
mredolatti Nov 7, 2023
2bd3125
Merge pull request #247 from splitio/maintenance/vulnerabilities
mmelograno Nov 7, 2023
d96595c
Merge branch 'master' of github.com:splitio/split-synchronizer
mmelograno Nov 7, 2023
c1592a5
Adding new methods
ldecheverz-split Nov 9, 2023
f5a4052
Merge pull request #249 from splitio/flagset-telemetry
ldecheverz-split Nov 9, 2023
785f42c
Adding flagsets on hash
ldecheverz-split Nov 10, 2023
8976b2c
controller wip
mredolatti Nov 11, 2023
e17ad5c
Merge remote-tracking branch 'origin/project/flagsets' into task/sdk-…
mredolatti Nov 11, 2023
fb149d3
more uts, enable integration
mredolatti Nov 11, 2023
263dc15
remove unnecessary todo
mredolatti Nov 11, 2023
aac3d86
handle empty sets
mredolatti Nov 12, 2023
73da420
Merge pull request #250 from splitio/sets-hashing-clear
ldecheverz-split Nov 13, 2023
f35cf50
Moving log attempts
ldecheverz-split Nov 15, 2023
60cb3e8
Merge pull request #252 from splitio/move-log-attempts
ldecheverz-split Nov 15, 2023
18d1b6e
Merge remote-tracking branch 'origin/project/flagsets' into task/sdk-…
mredolatti Nov 27, 2023
5cdbe1d
Adding telemetry init
ldecheverz-split Nov 29, 2023
b55daf6
Merge pull request #256 from splitio/telemetry-init-config
ldecheverz-split Nov 29, 2023
adeac5f
more controller work
mredolatti Nov 30, 2023
63464be
Merge remote-tracking branch 'origin/project/flagsets' into task/sdk-…
mredolatti Nov 30, 2023
13ae04f
test split removal
mredolatti Nov 30, 2023
e3e8727
polishing
mredolatti Dec 4, 2023
2a912ea
Merge pull request #251 from splitio/task/sdk-controller-fagsets
mredolatti Dec 4, 2023
78ebbdc
polishing
mredolatti Dec 5, 2023
caf96d5
Merge remote-tracking branch 'origin/project/flagsets' into project/f…
mredolatti Dec 5, 2023
0b5053c
prepare for release
mredolatti Dec 6, 2023
e9e5ba2
merge with master
mredolatti Dec 6, 2023
0d08cbd
update CHANGELOG date
mredolatti Dec 12, 2023
e532e85
Merge pull request #243 from splitio/project/flagsets
mredolatti Dec 12, 2023
0f60855
Adding flag sets in DataInspector view.
sanzmauro Dec 13, 2023
bb8161f
Updating docker image vulnerabilities and split-commons version
ldecheverz-split Dec 15, 2023
c89a1a0
hide redis password
mredolatti Dec 18, 2023
7e108a4
Merge pull request #259 from splitio/fix/hide_redis_pass
mmelograno Dec 20, 2023
af92eb4
Adding flag sets info into the dashboard
sanzmauro Dec 21, 2023
769680f
Updating go-split-commons version
ldecheverz-split Dec 21, 2023
a660681
Merge pull request #258 from splitio/docker-split-commons
ldecheverz-split Dec 21, 2023
99e7938
Bump golang.org/x/crypto from 0.14.0 to 0.17.0
dependabot[bot] Dec 21, 2023
20f1256
Merge branch 'master' of github.com:splitio/split-synchronizer
mmelograno Dec 21, 2023
5aa70cd
Updated License Year
github-actions[bot] Jan 1, 2024
ebe87df
pr feedback
sanzmauro Jan 8, 2024
af83b8a
Merge branch 'master' into SDKS-7838-cached-flag-sets
sanzmauro Jan 8, 2024
d191e70
Merge branch 'master' into SDKS-7840
sanzmauro Jan 8, 2024
511f45b
updating commons dependecy
sanzmauro Jan 8, 2024
60ed80c
updating commons dependency
sanzmauro Jan 8, 2024
5693c15
fixing build
sanzmauro Jan 8, 2024
d606692
adding scanCount config
sanzmauro Jan 9, 2024
f24382e
updating commons dependecy
sanzmauro Jan 10, 2024
192e0c2
updating commons dependecy
sanzmauro Jan 10, 2024
1b2da8c
pr feedback
sanzmauro Jan 11, 2024
4e0fef2
Merge pull request #262 from splitio/update-license
sanzmauro Jan 11, 2024
34704e7
Merge pull request #263 from splitio/sdks-7898-scan-cmd
sanzmauro Jan 11, 2024
a8c6b2d
Merge pull request #257 from splitio/SDKS-7840
sanzmauro Jan 11, 2024
191ecb2
Merge branch 'release-5.6.0' into SDKS-7838-cached-flag-sets
sanzmauro Jan 11, 2024
abb0db3
fixing tests
sanzmauro Jan 11, 2024
1cf4579
Merge pull request #261 from splitio/SDKS-7838-cached-flag-sets
sanzmauro Jan 11, 2024
772077b
allow fips enforcement when building
mredolatti Jan 19, 2024
20d35a3
allow building fips-compliant binaries for linux,mac & windows for bo…
mredolatti Jan 22, 2024
cdee612
updating changes.txt and version
sanzmauro Jan 23, 2024
b91e071
update docker images & minor fixes in Makefile
mredolatti Jan 23, 2024
4bcfaeb
use matrix.fips-mode. bump actions version
mredolatti Jan 23, 2024
25a28f4
Merge pull request #264 from splitio/release-5.6.0
sanzmauro Jan 24, 2024
79ab272
Merge branch 'master' of github.com:splitio/split-synchronizer
mmelograno Jan 24, 2024
09bdf84
update release assets generation
mredolatti Jan 24, 2024
80f974b
merge with master
mredolatti Jan 24, 2024
02d10e7
.
mredolatti Jan 24, 2024
e901201
fixing dashboard and vulnerabilities
sanzmauro Jan 24, 2024
ade92d2
Merge branch 'fix-dashboard' into dependabot/go_modules/golang.org/x/…
sanzmauro Jan 24, 2024
e5b1b54
use debian for the builder stage to avoid issues with musl+boringcryp…
mredolatti Jan 24, 2024
a94bf73
use different names for vulnerabilities report
mredolatti Jan 24, 2024
603c581
Merge pull request #260 from splitio/dependabot/go_modules/golang.org…
sanzmauro Jan 24, 2024
a5e2f4c
cleanup build folder after release asset generation
mredolatti Jan 24, 2024
5a29c6c
more asset folder cleanup
mredolatti Jan 25, 2024
a0763af
fix asset copyting in linux build env
mredolatti Jan 25, 2024
544ed7f
removing scanCount config
sanzmauro Jan 25, 2024
8f24ca8
removing null label in admin/dashboard
sanzmauro Jan 25, 2024
ccac657
split-commons v5.2.1
sanzmauro Jan 25, 2024
46ff606
updated changes.txt
sanzmauro Jan 25, 2024
61b02af
updated version to 5.6.1
sanzmauro Jan 25, 2024
426c92e
deleted unnecessary file
sanzmauro Jan 26, 2024
23b109c
update release date
sanzmauro Jan 29, 2024
dcf27a8
update change.txt
sanzmauro Jan 29, 2024
9ad8410
adding flagset info in proxy mode
sanzmauro Jan 29, 2024
d6ed1e9
alpine to 3.19.1
sanzmauro Jan 30, 2024
5a2cf75
Merge pull request #266 from splitio/fix-dashboard
sanzmauro Jan 30, 2024
c2f4b1e
Merge branch 'master' of github.com:splitio/split-synchronizer
mmelograno Jan 30, 2024
8ff9c86
images
mredolatti Jan 31, 2024
82d8324
add unstable fips builds
mredolatti Feb 21, 2024
418e7c9
cleanup
mredolatti Feb 21, 2024
5a92df2
resolve conflicts
mredolatti Feb 21, 2024
3757c06
force bash in dockerfiles
mredolatti Feb 21, 2024
c0b8e9f
actions bump
mredolatti Feb 21, 2024
45ae744
update ci
mredolatti Feb 21, 2024
96380f7
bump ci
mredolatti Feb 21, 2024
1dc84d3
GHA var naming
mredolatti Feb 21, 2024
64922d7
GHA single quotes
mredolatti Feb 21, 2024
ce7ae24
.
mredolatti Feb 21, 2024
655c103
.
mredolatti Feb 21, 2024
1ad6568
.
mredolatti Feb 21, 2024
c37abd5
prepare for release
mredolatti Feb 22, 2024
69162f6
Merge pull request #265 from splitio/feat/fips_builds_support
mredolatti Feb 22, 2024
ef2a556
Merge branch 'master' of github.com:splitio/split-synchronizer
mmelograno Mar 13, 2024
0463226
Bump google.golang.org/protobuf from 1.30.0 to 1.33.0
dependabot[bot] Mar 13, 2024
a38a4b2
forward single server name when connecting to multiple redis hosts in…
mredolatti Apr 3, 2024
c6430aa
Bump golang.org/x/net from 0.17.0 to 0.23.0
dependabot[bot] Apr 19, 2024
f07aaca
Multi-arch build
Israphel Apr 25, 2024
76b3a1f
Multi-arch build
Israphel Apr 25, 2024
85a873d
Merge pull request #270 from splitio/INFRA-7593-4
Israphel Apr 25, 2024
274a9a0
Merge branch 'master' of github.com:splitio/split-synchronizer
mmelograno May 2, 2024
9690e28
updated with specVersion from commons
mmelograno May 2, 2024
09d1dcd
ensure caching works for `s` parameter
mredolatti May 2, 2024
bcdb202
Merge branch 'master' into feat/proxy_semver_support
mredolatti May 2, 2024
8919ec0
Merge branch 'semver' into feat/proxy_semver_support
mredolatti May 2, 2024
577e27a
merged with latest in commons
mmelograno May 2, 2024
de5f38a
proxy: handle `s` in splitChanges endpoint
mredolatti May 2, 2024
8a78d46
update go.sum
mredolatti May 2, 2024
ba09b4e
Merge remote-tracking branch 'origin/semver' into feat/proxy_semver_s…
mredolatti May 2, 2024
fcd3ec5
fixed dep
mmelograno May 2, 2024
18f214f
dep x/net
mmelograno May 2, 2024
3344c93
Merge pull request #272 from splitio/feat/proxy_semver_support
mmelograno May 2, 2024
458a752
adding configs for sepc version
ldecheverz-split May 2, 2024
78be5f9
Merge branch 'semver' of github.com:splitio/split-synchronizer into s…
ldecheverz-split May 2, 2024
1389db9
adding mapping and description for configs
ldecheverz-split May 2, 2024
948576c
fixing tests
ldecheverz-split May 3, 2024
d3eeb08
Merge pull request #273 from splitio/spec-version
mmelograno May 3, 2024
226d067
Merge branch 'semver' of github.com:splitio/split-synchronizer into s…
mmelograno May 3, 2024
3ee1755
clean proxy logic to point commons
mmelograno May 3, 2024
5d1b90c
Merge pull request #274 from splitio/task/vulns
mmelograno May 3, 2024
674ae59
Adding spec version to dashboard.
ldecheverz-split May 4, 2024
9a86bb3
Merge branch 'semver' into fix/oldredis_cluster_workaround
mredolatti May 6, 2024
b7e6a86
Merge pull request #268 from splitio/fix/oldredis_cluster_workaround
mredolatti May 6, 2024
9425d52
Changing specVersion strings
ldecheverz-split May 6, 2024
2a140de
changing var names
ldecheverz-split May 6, 2024
f18e25e
fixing tests
ldecheverz-split May 6, 2024
4de1c94
Merge pull request #276 from splitio/spec-version-dashboard
ldecheverz-split May 6, 2024
7b03989
Merge branch 'semver' of github.com:splitio/split-synchronizer into s…
mmelograno May 10, 2024
67654ed
merged with latest semver in commons
mmelograno May 10, 2024
908b09c
Merge pull request #277 from splitio/task/semverLast
mmelograno May 10, 2024
1849082
Merge branch 'semver' of github.com:splitio/split-synchronizer into s…
mmelograno May 10, 2024
52615e9
pointed to new version of commons
mmelograno May 14, 2024
03e7279
Merge pull request #278 from splitio/commons_v6
mmelograno May 14, 2024
43b2f8e
Merge branch 'semver' of github.com:splitio/split-synchronizer into s…
mmelograno May 14, 2024
7e48cc2
prepare 5.8.0
mmelograno May 14, 2024
b4041af
updated changelog
mmelograno May 14, 2024
7e8cf48
Merge pull request #271 from splitio/semver
mmelograno May 14, 2024
8368bca
Merge branch 'master' of github.com:splitio/split-synchronizer
mmelograno May 14, 2024
2c713dc
Debian -> 12.6
sanzmauro Jul 2, 2024
c14c84b
Bump github.com/gin-contrib/cors from 1.4.0 to 1.6.0
dependabot[bot] Jul 5, 2024
2dc4cd7
Merge pull request #281 from splitio/dependabot/go_modules/github.com…
sanzmauro Jul 8, 2024
2c35233
Update changes and versionn
sanzmauro Jul 11, 2024
54148fa
update changes.txt
sanzmauro Jul 11, 2024
64cf0f9
upgrate to go 1.22
sanzmauro Jul 11, 2024
2529197
Merge pull request #280 from splitio/SDKS-8515-vulnerabilities
sanzmauro Jul 12, 2024
38a2dfa
update commons to 6.0.1
sanzmauro Sep 12, 2024
7b35f12
update version and changes
sanzmauro Sep 12, 2024
8d5c2c4
update changes
sanzmauro Sep 12, 2024
08383db
fixing healthcheck stats
sanzmauro Sep 13, 2024
56e2622
update release date
sanzmauro Sep 17, 2024
3882b65
[SDKS-8851] Fixed healthcheck monitor for cases with no segments.
sanzmauro Sep 17, 2024
7c56953
LargeSegment caching implementation
sanzmauro Nov 19, 2024
ca08152
adding AssertExpectations
sanzmauro Nov 20, 2024
f0b2ef2
fixing test
sanzmauro Nov 20, 2024
d1cfc79
removing println
sanzmauro Nov 20, 2024
02bb0df
Upgraded debian to 12.8 and go to 1.23.3
Nov 21, 2024
bd75b79
updated go.mod
Nov 21, 2024
e98a6c3
update go.mod
Nov 21, 2024
415e929
updated sync dockerfile
Nov 21, 2024
9a7e73b
fixed go versions in build
Nov 21, 2024
79945aa
updated version
Nov 21, 2024
0dbf5b7
updated changes
Nov 22, 2024
fbfd98b
Merge branch 'master' of github.com:splitio/split-synchronizer
mmelograno Nov 22, 2024
ad5e49e
Merge pull request #291 from splitio/upgrade-debian-and-go
chillaq Nov 22, 2024
9a52692
Merge branch 'master' of github.com:splitio/split-synchronizer
mmelograno Nov 22, 2024
a285be2
polishing
sanzmauro Nov 22, 2024
ef433ab
Restore S3 workflow
Israphel Nov 25, 2024
9fae18f
Fix conditions
Israphel Nov 25, 2024
de02bb3
Fix sonar host
Israphel Nov 25, 2024
51fa6a0
Fix golang version
Israphel Nov 25, 2024
21674e8
Merge pull request #292 from splitio/INFRA-8251-1
Israphel Nov 25, 2024
05d507e
wip
sanzmauro Nov 25, 2024
4368919
adding purge stragegy
sanzmauro Nov 26, 2024
a0d6bcb
wip
sanzmauro Nov 25, 2024
9ad4288
adding surrogate
sanzmauro Nov 26, 2024
2174287
cleanup
sanzmauro Nov 26, 2024
d985869
update configs
sanzmauro Nov 26, 2024
b5cb1eb
adding tests
sanzmauro Nov 26, 2024
65e0760
fixing test
sanzmauro Nov 26, 2024
94832cb
Dashboard implementation
sanzmauro Nov 25, 2024
3d4cf94
pr feedback
sanzmauro Nov 27, 2024
30f2f85
Merge branch 'cache-aware-large-segment' into SDKS-8926-memberships-e…
sanzmauro Nov 27, 2024
cc52fab
polishing
sanzmauro Nov 27, 2024
5f3ac3a
Merge pull request #289 from splitio/cache-aware-large-segment
sanzmauro Nov 28, 2024
b317b32
Merge pull request #293 from splitio/SDKS-8926-memberships-endpoint
sanzmauro Nov 28, 2024
ecc1aa2
Merge pull request #294 from splitio/ls-proxy-dashboard
sanzmauro Nov 28, 2024
1137bd7
update surrogate key
sanzmauro Nov 28, 2024
31ea3bb
Merge pull request #296 from splitio/pr-feedback
sanzmauro Nov 28, 2024
b808cc3
adding large segment healthcheck monitor
sanzmauro Nov 28, 2024
e337b8f
fixing splitChanges endpoint
sanzmauro Nov 29, 2024
9174233
updated commons
sanzmauro Dec 2, 2024
78d9c3a
pr feedback
sanzmauro Dec 2, 2024
7c0ef14
Merge pull request #297 from splitio/SDKS-9085-healthcheck-monitor
sanzmauro Dec 2, 2024
b3d9b94
update commons to 6.0.2
sanzmauro Dec 2, 2024
2f91756
Merge branch 'master' into SDKS-8921-large-segments
sanzmauro Dec 2, 2024
5adbf3e
[SDKS-8921] Proxy Large Segments support
sanzmauro Dec 2, 2024
c8e7ac4
update version
sanzmauro Dec 2, 2024
18ff916
Merge pull request #298 from splitio/update-version
sanzmauro Dec 2, 2024
4cfe159
Bump golang.org/x/crypto from 0.23.0 to 0.31.0
dependabot[bot] Dec 12, 2024
f3dae8b
Merge branch 'master' of github.com:splitio/split-synchronizer
mmelograno Dec 16, 2024
da4bbe9
updated dockerfiles and deps
mmelograno Dec 17, 2024
fefe24f
updated deps
mmelograno Dec 20, 2024
ee0993e
Updated License Year
github-actions[bot] Jan 1, 2025
6a43ea8
updating commons and adding tests
sanzmauro Jan 15, 2025
e1575c5
Merge pull request #301 from splitio/update-license
sanzmauro Jan 17, 2025
1bfd539
update changes and version
sanzmauro Jan 17, 2025
bbfec28
Merge branch 'SDKS-9261-impressions-toggle' of https://github.com/spl…
sanzmauro Jan 17, 2025
b0d76c3
Merge pull request #302 from splitio/SDKS-9261-impressions-toggle
sanzmauro Jan 17, 2025
38b391e
Bump golang.org/x/net from 0.25.0 to 0.33.0
dependabot[bot] Jan 17, 2025
a41af99
Merge branch 'master' into dependabot/go_modules/golang.org/x/crypto-…
sanzmauro Jan 17, 2025
df5bdad
update go version
sanzmauro Jan 17, 2025
166aab6
Merge pull request #299 from splitio/dependabot/go_modules/golang.org…
sanzmauro Jan 17, 2025
a8a500c
Merge branch 'fix-vulnerabilities' into dependabot/go_modules/golang.…
sanzmauro Jan 17, 2025
ac3119e
Merge pull request #303 from splitio/dependabot/go_modules/golang.org…
sanzmauro Jan 17, 2025
49985b8
updated changes
sanzmauro Jan 17, 2025
b21b019
mmerged with latest
mmelograno Jan 20, 2025
d497098
Merge pull request #300 from splitio/task/armBuild
mmelograno Jan 20, 2025
12260e8
update debian
mmelograno Jan 20, 2025
019f4ef
changelog
mmelograno Jan 20, 2025
792ac9e
updated date
sanzmauro Jan 23, 2025
13f4dd7
Merge pull request #304 from splitio/fix-vulnerabilities
sanzmauro Jan 28, 2025
ea58a8d
adding process implementation to handle unique keys by batches
sanzmauro Apr 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @splitio/sdk
7 changes: 7 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Split Synchronizer

## What did you accomplish?

## How do we test the changes introduced in this PR?

## Extra Notes
110 changes: 110 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: docker

on:
push:
branches:
- master
pull_request:
branches:
- master

concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.run_number || github.event.pull_request.number }}
cancel-in-progress: true

jobs:
docker:
name: Build Docker image
runs-on: ubuntu-latest
strategy:
matrix:
app:
- synchronizer
- proxy
fips_mode:
- enabled
- disabled
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: amd64,arm64

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Dockerhub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_RO_TOKEN }}

- name: Login to Artifactory
if: ${{ github.event_name == 'push' }}
uses: docker/login-action@v3
with:
registry: ${{ vars.ARTIFACTORY_DOCKER_REGISTRY }}
username: ${{ vars.ARTIFACTORY_DOCKER_USER }}
password: ${{ secrets.ARTIFACTORY_DOCKER_PASS }}

- name: Get version
run: echo "VERSION=$(awk '/^const Version/{gsub(/"/, "", $4); print $4}' splitio/version.go)" >> $GITHUB_ENV

- name: Docker Build and Push
uses: docker/build-push-action@v6
with:
context: .
file: docker/Dockerfile.${{ matrix.app }}
push: ${{ github.event_name == 'push' }}
platforms: linux/amd64,linux/arm64
tags: ${{ vars.ARTIFACTORY_DOCKER_REGISTRY }}/split-${{ matrix.app }}${{ matrix.fips_mode == 'enabled' && '-fips' || ''}}:${{ env.VERSION }},${{ vars.ARTIFACTORY_DOCKER_REGISTRY }}/split-${{ matrix.app }}${{ matrix.fips_mode == 'enabled' && '-fips' || '' }}:latest
build-args: |
FIPS_MODE=${{ matrix.fips_mode }}

lacework:
name: Scan Docker image
if: ${{ github.event_name == 'pull_request' }}
runs-on: ubuntu-latest
strategy:
matrix:
app:
- synchronizer
- proxy
fips_mode:
- enabled
- disabled
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Get version
run: echo "VERSION=$(awk '/^const Version/{gsub(/"/, "", $4); print $4}' splitio/version.go)" >> $GITHUB_ENV

- name: Login to Dockerhub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_RO_TOKEN }}

- name: Docker Build and Push
uses: docker/build-push-action@v6
with:
context: .
file: docker/Dockerfile.${{ matrix.app }}
push: false
tags: ${{ vars.ARTIFACTORY_DOCKER_REGISTRY }}/split-${{ matrix.app }}${{ matrix.fips_mode == 'enabled' && '-fips' || ''}}:${{ env.VERSION }}
build-args: |
FIPS_MODE=${{ matrix.fips_mode }}

- name: Scan container using Lacework
uses: lacework/[email protected]
with:
LW_ACCOUNT_NAME: ${{ vars.LW_ACCOUNT_NAME }}
LW_ACCESS_TOKEN: ${{ secrets.LW_ACCESS_TOKEN }}
IMAGE_NAME: ${{ vars.ARTIFACTORY_DOCKER_REGISTRY }}/split-${{ matrix.app }}${{ matrix.fips_mode == 'enabled' && '-fips' || ''}}
IMAGE_TAG: ${{ env.VERSION }}
SAVE_RESULTS_IN_LACEWORK: true
RESULTS_IN_GITHUB_SUMMARY: true
48 changes: 48 additions & 0 deletions .github/workflows/s3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: cd

on:
push:
branches:
- master
pull_request:
branches:
- master

permissions:
contents: read
id-token: write

jobs:
build-publish:
name: Build and publish to S3
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.23.3'

- name: Create build folder
run: mkdir -p build

- name: Execute build
run: make release_assets

- name: Configure AWS credentials
if: ${{ github.event_name == 'push' }}
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::825951051969:role/gha-downloads-role
aws-region: us-east-1

- name: Deploy to S3
if: ${{ github.event_name == 'push' }}
run: aws s3 sync $SOURCE_DIR s3://$BUCKET
env:
BUCKET: downloads.split.io
SOURCE_DIR: ./build
63 changes: 63 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: test

on:
push:
branches:
- master
pull_request:
branches-ignore:
- none

jobs:
build-and-test:
name: Build and run tests
runs-on: ubuntu-latest
services:
redis:
image: redis
credentials:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_RO_TOKEN }}
ports:
- 6379:6379
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.23.3'

- name: Get version
run: echo "VERSION=$(awk '/^const Version/{gsub(/"/, "", $4); print $4}' splitio/version.go)" >> $GITHUB_ENV

- name: Run test
run: make test_coverage

- name: SonarQube Scan (Pull Request)
if: ${{ github.event_name == 'pull_request' }}
uses: SonarSource/sonarcloud-github-action@v3
env:
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
with:
projectBaseDir: .
args: >
-Dsonar.host.url=${{ secrets.SONARQUBE_HOST }}
-Dsonar.projectVersion=${{ env.VERSION }}
-Dsonar.pullrequest.key=${{ github.event.pull_request.number }}
-Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }}
-Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }}

- name: SonarQube Scan (Push)
if: ${{ github.event_name == 'push' }}
uses: SonarSource/sonarcloud-github-action@v3
env:
SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
with:
projectBaseDir: .
args: >
-Dsonar.host.url=${{ vars.SONARQUBE_HOST }}
-Dsonar.projectVersion=${{ env.VERSION }}
57 changes: 57 additions & 0 deletions .github/workflows/unstable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: unstable

on:
push:
branches-ignore:
- master

jobs:
push-docker-image:
name: Build and Push Docker Image
runs-on: ubuntu-latest
strategy:
matrix:
app:
- synchronizer
- proxy
fips_mode:
- enabled
- disabled
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: amd64,arm64

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Dockerhub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_RO_TOKEN }}

- name: Login to Artifactory
uses: docker/login-action@v3
with:
registry: splitio-docker-dev.jfrog.io
username: ${{ vars.ARTIFACTORY_DOCKER_USER }}
password: ${{ secrets.ARTIFACTORY_DOCKER_PASS }}

- name: Get short hash
run: echo "SHORT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV

- name: Docker Build and Push
uses: docker/build-push-action@v6
with:
context: .
file: docker/Dockerfile.${{ matrix.app }}
push: true
platforms: linux/amd64,linux/arm64
tags: splitio-docker-dev.jfrog.io/split-${{ matrix.app }}${{ matrix.fips_mode == 'enabled' && '-fips' || '' }}:${{ env.SHORT_SHA }}
build-args: |
FIPS_MODE=${{ matrix.fips_mode }}
45 changes: 45 additions & 0 deletions .github/workflows/update-license-year.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Update License Year

on:
schedule:
- cron: "0 3 1 1 *" # 03:00 AM on January 1

permissions:
contents: write
pull-requests: write

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set Current year
run: "echo CURRENT=$(date +%Y) >> $GITHUB_ENV"

- name: Set Previous Year
run: "echo PREVIOUS=$(($CURRENT-1)) >> $GITHUB_ENV"

- name: Update LICENSE
uses: jacobtomlinson/gha-find-replace@v2
with:
find: ${{ env.PREVIOUS }}
replace: ${{ env.CURRENT }}
include: "LICENSE"
regex: false

- name: Commit files
run: |
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'
git commit -m "Updated License Year" -a

- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
title: Update License Year
branch: update-license
39 changes: 38 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
#Project files
split-synchronizer
split-sync
split-proxy
split-sync-fips
split-proxy-fips
proxy-opts.md
sync-opts.md

coverage.out
entrypoint.proxy.sh
entrypoint.sync.sh
entrypoint.synchronizer.sh
run.sh
bin/*
*.yaml
/vendor

# Compiled Object files, Static and Dynamic libs (Shared Objects)
*.o
Expand Down Expand Up @@ -31,10 +43,35 @@ _testmain.go
.DS_Store
*.json
!/test/dataset/test.conf.json
!/test/dataset/test.conf.error1.json
!/test/dataset/test.conf.error2.json
!/test/dataset/test.conf.error3.json
!/test/dataset/test.conf.error4.json
!/test/dataset/test.conf.error5.json
!/test/dataset/test.conf.json
!/test/dataset/test.conf.warning1.json
!/test/dataset/test.conf.warning2.json
!/test/dataset/test.conf.warning3.json
!/test/dataset/test.conf.warning4.json
!/test/dataset/test.conf.warning5.json

# vim backup files
*.swp

# Release files
release/*.bin
release/*.zip
release/versions.html

Gopkg.lock

.vscode/*

build/*
split-proxy
split-sync
/clilist

windows/downloads
windows/unpacked
windows/build
Loading