52 Commits
Author SHA1 Message Date
zooqueen 229cf11907 sharding hashes with hanzos3/blake2b-simd
controller/sharding/consistent was the last minio import here. It is now the
hanzos3 fork at v1.0.0.

The hash output is unchanged, and that is the part worth being sure about: this
is consistent hashing for controller shard assignment, so a different digest
would silently reassign every shard. The fork sits on the SAME commit consumers
already pinned (3f5f724cb5b1) and the release adds a go.mod and nothing else —
zero .go files differ. Same bytes in, same bytes out.

The rename is what makes it requirable at all. Upstream blake2b-simd predates
modules, so it can only be pinned as a pseudo-version; pointing that at a fork
needs a `replace`, which Go ignores in a non-main module and so would not have
travelled to anything depending on this repo.

go directive unchanged at 1.26.5; the fork declares 1.21 precisely so it imposes
no floor.

build passes, and ./controller/sharding/... passes.
2026-08-10 21:11:35 -07:00
zeekayandHanzo Dev 1ab6e799c1 cd: the module is github.com/hanzoai/cd, where it is actually hosted
go.mod still declared `module github.com/hanzoai/deploy` after the repo was
renamed. A Go module path is not cosmetic — it is the resolvable location. So
`go get github.com/hanzoai/cd` could not work, and anything importing this
module had to spell a name that no longer exists at that address. The build log
of v3.6.0 is where it surfaced: the compiler was still emitting
github.com/hanzoai/deploy/cmd/cd/commands.

3541 import paths across 690 .go, 19 .proto, 4 .yaml, 3 .sh, 2 .mod, Procfile
and Makefile. Plus the 62 ghcr.io/hanzoai/deploy image references, moved to
ghcr.io/hanzoai/cd to match hanzo.yml's build target — a distinct string from
the module path, replaced separately so neither could clobber the other.

go mod tidy clean, CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build ./... clean.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 21:16:24 -07:00
zeekayandHanzo Dev 446e343a3d cd: annotations are cd.hanzo.ai, API group is apps.hanzo.ai
Two corrections on top of the naming pass, both found by checking the live
cluster rather than the source.

The rename had silently changed the user-facing annotation key from
argocd.argoproj.io/sync-wave to cd.argoproj.io/sync-wave — 63 live
Applications carry the old key, so deploying that would have ignored every
sync-wave and broken fleet deploy ordering. The key is now cd.hanzo.ai/*,
and universe 575650286 moves the ApplicationSet template that stamps it, so
the controller regenerates all 63 consistently.

The API group in code said argoproj.io/v1alpha1 in 157 places while the
cluster has served apps.hanzo.ai/v1alpha1 since 2026-07-23 (the CRDs are
applications.apps.hanzo.ai). Code now matches what is actually served.

The legacy applications.argoproj.io/app-name label had ZERO live users, so it
went with the rest. foo.argoproj.io test fixtures became foo.example.com —
arbitrary test domains should not carry a vendor name.

go build ./... exit 0.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 16:32:14 -07:00
zeekayandHanzo Dev bc6d960ad4 cd: the credential store interface is DB, not ArgoDB
The last Argo in the core type surface. It is also the seam that matters for
going KMS-native: repo- and cluster- credentials are read through ONE
interface with ONE constructor (NewDB), so a KMS-backed store is a second
implementation, not a rewrite of the 26 files that touch Secrets.

go build ./... exit 0.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 16:04:24 -07:00
zeekayandHanzo Dev 84ee9fa0ce cd: kill the argo naming — binaries, packages, identifiers
Every command is cd-*: cd, cd-server, cd-repo-server,
cd-application-controller, cd-applicationset-controller, cd-cmp-server,
cd-commit-server, cd-dex, cd-git-ask-pass, cd-k8s-auth, cd-notification.
util/argo is util/cd; util/notification/argocd is util/notification/cd.

Preserved deliberately: github.com/argoproj/argocd-example-apps is an
EXTERNAL repo used as an e2e fixture, and notifications-engine + pkg/v2 are
real dependencies. Renaming a URL we do not own would break the tests.

Two bugs I made and caught, both from a careless sed:
- s/argo/cd/g turned 'argocd' into 'cdcd' in two directory names
- renaming the package declaration left every call site saying argo.X

go build ./... exit 0.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 16:00:25 -07:00
15d87b3e72 refactor(cd): hard-fork - rename CRD API group argoproj.io -> deploy.hanzo.ai (#1)
* feat(api): hard-fork CRD API group argoproj.io -> deploy.hanzo.ai

Hanzo CD hard-fork, phase 1.1. Single source of truth is
pkg/apis/application/register.go's Group constant (Application/AppProject/
ApplicationSet all derive their FullName from it); every other Go call-site
that hardcoded the literal group string is updated to match: the 3 generated
informer GVRs, the app-of-apps nested-Application detector in types.go, the
resource-tree Application-kind cache populator, the 3 NotFound error
constructors in server/application, and the applicationset-controller's
leader-election Lease name/ID (kept in lockstep across Go source + RBAC
resourceNames, or leader election would get RBAC-denied on startup).

CRD YAMLs (application/appproject/applicationset) and every RBAC apiGroups
rule that actually governs our 3 CRDs are repointed to deploy.hanzo.ai, across
both manifests/base/* (namespaced Roles) and manifests/cluster-rbac/* (cluster
scope). Two adjacent things that share the "argoproj.io" string but are NOT
ours are deliberately left untouched: gitops-engine's health-check dispatch
for Argo Workflows' `Workflow` kind, and argocd-server-clusterrole's second
apiGroups block granting read on Argo Workflows' `workflows` resource — both
belong to a separate, unrelated Argoproj-family project we are not forking.

Also untouched, per explicit scope: annotation/label keys (argocd.argoproj.io/*)
and finalizers (*.argoproj.io) that track already-applied live resources, and
argocd-cm.yaml's resource.customizations.ignoreResourceUpdates keys (a narrow
app-of-apps diffing nicety, not build- or RBAC-relevant).

CGO_ENABLED=0 go build ./... verified green.

* ci: wire canonical hanzo.yml + cicd.yml (Hanzo CD image build)

Phase 1.3. Follows the same one-way pattern every hanzo/lux/zoo repo uses:
hanzo.yml declares the image (root Dockerfile -> ghcr.io/hanzoai/deploy) and a
fast go-build sanity test (the multi-stage Dockerfile build is the slow, real
gate); cicd.yml is the ~10-line trigger shim importing hanzoai/ci's reusable
build workflow on the arc pool, secrets from KMS only.

No `deploy:` block yet, matching the hanzoai/cms build-only-first-cutover
pattern: this repo's own live hanzo-cd namespace runs the whole Hanzo fleet's
GitOps, so the prod image/CRD swap is a deliberate separate action (see the
[HELD] universe PR), never an automatic rollout on merge. Every PR/push still
builds and pushes an immutable ghcr.io/hanzoai/deploy:sha-<7>-amd64 image.

* feat(ui): rebrand Argo CD -> Hanzo CD (title, favicon, logo, sidebar)

Phase 1.2. User-facing "Argo CD"/"ArgoCD" text replaced with "Hanzo CD"
across the login page, help modal, settings screens, version-info panel,
sync-options warning, fullscreen-logs title, app.tsx page titles, and
index.html's <title>/noscript text (dropped the now-wrong upstream CLI
doc link rather than invent a hanzo.ai URL that doesn't exist).

Logo/favicon assets replaced with the canonical Hanzo mark (never
hand-drawn, copied from ~/work/hanzo/logo/dist): the two real usages of
Argo's logo collapse onto one Hanzo glyph (mono + white variants) at the
same 5 call sites (login icon + footer, login.scss $logoPath/
$logoNegativePath, sidebar text-logo), preserving the existing CSS
invert() filters so both the light login panel and dark sidebar still
render correctly. Old argologo.svg/argo_o.svg/argo.png deleted (no
longer referenced). favicon-{16x16,32x32}.png added at
ui/src/assets/favicon/ (index.html's links to that path were previously
dead - the directory didn't exist in this checkout). package.json name
argo-cd-ui -> hanzo-cd-ui.

Left alone, deliberately: the two Kubernetes resource-kind icon sets
under ui/src/assets/images/resources/ (unrelated to branding), and
upstream doc/project links (argoproj.io, argo-cd.readthedocs.io) since
we have no equivalent hanzo.ai docs to point to yet - except the login
footer logo's outbound link, which now points to hanzo.ai instead of
argoproj.io (a Hanzo-branded mark linking to the upstream project it
was forked from read as an obvious leftover).

* feat(module): rename Go module github.com/argoproj/argo-cd/v3 -> github.com/hanzoai/deploy

Phase 2. No version suffix on the new path (org policy: never publish our
own Go modules above v1.x.x / with a v2+ suffix) — this fork starts a fresh
v0/v1 module identity rather than carrying the v3 the upstream fork point
had reached.

Mechanical, symmetric rewrite: 704 .go files (import statements only; two
disjoint substitutions applied specific-first so the nested gitops-engine
module path never double-matches), plus go.mod (module line, the
gitops-engine require+replace pair, version reset to v0.0.0-... since a
suffix-less path can't carry a v3 semver), gitops-engine/go.mod, Makefile
(ldflags PACKAGE + 2 TEST_MODULE filters), .golangci.yaml, .goreleaser.yaml,
.mockery.yaml (+ gitops-engine's), Procfile, the codegen/proto generation
scripts (hack/generate-proto.sh, update-codegen.sh, update-openapi.sh), and
20 .proto files' go_package options. Also one OpenTelemetry tracer name
string in gitops-engine/pkg/sync/sync_context.go (a cosmestic label, not an
import, but worth keeping consistent).

CGO_ENABLED=0 go build ./... verified green for both the root module and
the nested gitops-engine module; go vet clean on both; go mod tidy run
(network available) to reconcile go.sum, dependency set unchanged.

Left alone, deliberately: doc-only mentions (docs/snyk/*.html scan reports,
gitops-engine/README.md), a comment-only reference in
.github/workflows/release.yaml, and one Renovate bot config line — none are
build- or codegen-load-bearing. Also left alone: comments citing upstream
GitHub issue URLs (github.com/argoproj/argo-cd/issues/NNNNN) and a handful
of test fixtures using "https://github.com/argoproj/argo-cd.git" as a
representative example repo URL — both are accurate historical/test-data
references, not stale self-references.

---------

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-19 11:27:06 -07:00
Lohit KolluriandGitHub 679cee550c test: Add t.Parallel() to util/app tests (#28177)
Signed-off-by: Lohit Kolluri <[email protected]>
2026-06-10 16:37:18 -04:00
9b7d0a4406 fix(sharding): fix log format verb and document intentional shard-0 fallback (#27222)
Signed-off-by: nitishfy <[email protected]>
Signed-off-by: Nitish Kumar <[email protected]>
Co-authored-by: Soumya Ghosh Dastidar <[email protected]>
2026-04-08 09:25:45 -04:00
Takuma ShibuyaandGitHub 6184e4256a refactor: remove helper pointer functions in pull_request tests (#26598)
Signed-off-by: sivchari <[email protected]>
2026-02-24 13:05:53 -05:00
a02c0bae5f feat(controller): Annotation to pause reconciliation for a specific cluster (#26442)
Signed-off-by: Drew Bailey <[email protected]>
Co-authored-by: Drew Bailey <[email protected]>
2026-02-18 20:30:39 -05:00
9c539cd999 chore(controller): Fix modernize linter (#26313)
Signed-off-by: Matthieu MOREL <[email protected]>
Co-authored-by: Blake Pettersson <[email protected]>
2026-02-07 18:35:48 +01:00
Matthieu MORELandGitHub 8cfcf613e7 chore(controller): Fix modernize linter (#26303)
Signed-off-by: Matthieu MOREL <[email protected]>
2026-02-06 17:16:37 -05:00
Matthieu MORELandGitHub 9bb1efbb02 chore: use Expecter Structs from mockery (#25133)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-11-01 13:07:08 +00:00
Matthieu MORELandGitHub 08aec5b909 chore: enable exposedSyncMutex rule from go-critic (#24026)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-08-03 12:47:33 +00:00
Matthieu MORELandGitHub ac8b1a5d7c chore(lint): enable builtinShadow rule from go-critic (#23430)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-06-16 21:20:57 +00:00
Michael CrenshawandGitHub 05ac7845c0 chore(lint): enable more gocritic linters (#23328)
Signed-off-by: Michael Crenshaw <[email protected]>
2025-06-11 23:50:02 -04:00
sivchariandGitHub b97525c11e chore: upgrade Go to 1.24 (#22242)
Signed-off-by: sivchari <[email protected]>
2025-03-10 10:14:41 -04:00
e666baa151 fix: dynamic cluster distribution issue 20965, update the shard… (#21042)
Signed-off-by: caijing <[email protected]>
Co-authored-by: Ishita Sequeira <[email protected]>
2025-02-09 22:25:34 -05:00
Matthieu MORELandGitHub 2fa86b1259 chore: use testify instead of native testing (#21781)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-02-05 09:46:52 -05:00
Matthieu MORELandGitHub 958209dc4a chore: enable ifElseChain from gocritic (#21636)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-22 16:13:51 -05:00
8334da36f2 Bump major version to 3 (#21410)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: crenshaw-dev <[email protected]>
2025-01-10 16:14:00 -05:00
Matthieu MORELandGitHub a0d38d653a chore: enable early-return from revive (#21423)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-08 15:26:02 -05:00
Matthieu MORELandGitHub 064b5ae081 chore: enable indent-error-flow from revive (#21394)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-07 10:25:22 -05:00
Matthieu MORELandGitHub eec6f8526a chore: enable unused-parameter from revive (#21365)
* chore: enable unused-parameter from revive

Signed-off-by: Matthieu MOREL <[email protected]>

* apply recommandations

Signed-off-by: Matthieu MOREL <[email protected]>

---------

Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-07 10:12:56 -05:00
Matthieu MORELandGitHub bc8756f606 chore: enable receiver-naming from revive (#21372)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-06 14:45:11 -05:00
Matthieu MORELandGitHub 1b3942e0af chore: enable redundant-import-alias from revive (#21386)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-06 11:30:42 -05:00
Matthieu MORELandGitHub bc3c389196 chore: enable importas for k8s.io/apimachinery/pkg/api/errors (#21262)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-03 17:09:37 +00:00
Matthieu MORELandGitHub 961e9bad5e chore: import k8s.io/api/core/v1 as corev1 (#21345)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-03 11:10:00 -05:00
Matthieu MORELandGitHub c85bb38a83 chore: enable errorf of perfsprint linter (#21280)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-12-30 10:56:41 +02:00
Michael CrenshawandGitHub ce5d1c9a32 chore(controller): simplify sharding code (#21244)
Signed-off-by: Michael Crenshaw <[email protected]>
2024-12-19 00:15:41 +02:00
Matthieu MORELandGitHub 478219ef2e chore: enable perfsprint linter (#20685)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-11-10 21:00:57 -05:00
Matthieu MORELandGitHub 0e4ac0278a chore: enable thelper linter (#20405)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-10-16 17:37:03 +00:00
c348ce0796 chore: enable require-error rule from errorlint linter on controller folder (#18690)
Signed-off-by: Matthieu MOREL <[email protected]>
Signed-off-by: pasha-codefresh <[email protected]>
Co-authored-by: pasha-codefresh <[email protected]>
2024-06-17 13:05:27 +00:00
Matthieu MORELandGitHub 6580a86fb5 chore: enable errorlint linter on controller folder (#18596)
* chore: enable errorlint linter on controller folder

Signed-off-by: Matthieu MOREL <[email protected]>

* Update cache.go

Signed-off-by: Matthieu MOREL <[email protected]>

* Update cache.go

Signed-off-by: Matthieu MOREL <[email protected]>

---------

Signed-off-by: Matthieu MOREL <[email protected]>
2024-06-11 15:33:22 -04:00
Matthieu MORELandGitHub 417ff7b19e chore: enable gofumpt and whitespace linters (#18567)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-06-11 15:41:55 +00:00
Matthieu MORELandGitHub a30bf57308 chore: enable expected-actual rule from testifylint linter (#18575)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-06-10 20:33:00 +00:00
Matthieu MORELandGitHub 6042442da4 chore: enable error-nil rule from testifylint linter (#18544)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-06-10 10:38:55 -04:00
Matthieu MORELandGitHub eb14360d0b chore: enable goimports linter (#18564)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-06-10 09:18:12 -04:00
Matthieu MORELandGitHub 8421ddbc37 chore: enable len and empty rules from testifylint linter (#18516)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-06-07 15:12:50 -04:00
Akram Ben AissiandGitHub 66019aa39c feat: Consistent hashing with bounded loads algorithm for sharding (#16564)
* Adds consistent hashing with bound loads sharding algorithm

Signed-off-by: Akram Ben Aissi <[email protected]>

* Make the assignement consistent accross all clusters
- The assignment or running of the algorithm has to be consistent across all the clusters. Changed the function to return a map where the consistent hash will be used to build the map

- Modifications to the createConsistentHashsingWithBoundLoads function. This will create the map for cluster to shard. Note that the list must be consistent across all shards so that is why the cluster list must be sorted before going through the consistent hash algorithm

Signed-off-by: Akram Ben Aissi <[email protected]>

* Extracting constant and simplifying boolean expression

Signed-off-by: Akram Ben Aissi <[email protected]>

* Update docs: consistent-hashing sharding algorithm

Signed-off-by: Akram Ben Aissi <[email protected]>

---------

Signed-off-by: Akram Ben Aissi <[email protected]>
2024-06-05 18:28:19 +00:00
Matthieu MORELandGitHub db300bad11 fix: enable misspell linter (#18412)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-05-28 12:51:04 +03:00
EnclavetandGitHub 34309b7e69 feat: Add app data to sharding cache to allow sharding by apps (#17014)
* Adding app list to sharding cache

Signed-off-by: Andrew Lee <[email protected]>

* Add shard by apps test

Signed-off-by: Andrew Lee <[email protected]>

* Fix lint

Signed-off-by: Andrew Lee <[email protected]>

* Add coverage to test

Signed-off-by: Andrew Lee <[email protected]>

* Fix lint

Signed-off-by: Andrew Lee <[email protected]>

* Converted cluster/app accesors to private, add apps-in-any-namespace suport in shardingcache init, added read lock to GetAppDistribution

Signed-off-by: Andrew Lee <[email protected]>

* Fix tests

Signed-off-by: Andrew Lee <[email protected]>

---------

Signed-off-by: Andrew Lee <[email protected]>
2024-03-01 13:56:48 -05:00
Oscar WiemanandGitHub d378ce8931 fix typo (#17272)
Signed-off-by: Oscar Wieman <[email protected]>
2024-02-22 02:07:44 +00:00
Lukas WöhrlandGitHub 868368db69 fix: infer correct shard in statefulset setup (#17124, #17016) (#17167)
* fix: infer correct shard in statefulset setup

Signed-off-by: Lukas Wöhrl <[email protected]>

* fix the case if only a single replica

Signed-off-by: Lukas Wöhrl <[email protected]>

* fix: resolving pointer on shard compare

Signed-off-by: Lukas Wöhrl <[email protected]>

* fix: add readlock for cluster accessor

Signed-off-by: Lukas Wöhrl <[email protected]>

* fix: use defer to protect access of 'shard'

Signed-off-by: Lukas Wöhrl <[email protected]>

* fix: revert locking in getclusteraccessor

Signed-off-by: Lukas Wöhrl <[email protected]>

* fix: handle nil shard case

Signed-off-by: Lukas Wöhrl <[email protected]>

* fix: handle any nil shard value as false

Signed-off-by: Lukas Wöhrl <[email protected]>

* fix: handle nil case and fix another missing pointer dereference 

Signed-off-by: Lukas Wöhrl <[email protected]>

* revert

Signed-off-by: Lukas Wöhrl <[email protected]>

* fix: added tests and fixed some behaviour bugs

Signed-off-by: Lukas Wöhrl <[email protected]>

* test: add test to validate that Shard value is not overriden

Signed-off-by: Lukas Wöhrl <[email protected]>

* fix: added tests and fixe the case when server is changed inside a secret

Signed-off-by: Lukas Wöhrl <[email protected]>

* tests: add test cases for infering the shard logic

Signed-off-by: Lukas Wöhrl <[email protected]>

---------

Signed-off-by: Lukas Wöhrl <[email protected]>
2024-02-13 11:51:41 -05:00
c6f4dcdda9 fix: Use the cache for sharding (#15237)
* feat(sharding): use a cache

Signed-off-by: Alexandre Gaudreault <[email protected]>

* cluster cmd

Signed-off-by: Alexandre Gaudreault <[email protected]>

* - Assign shard 0 to in-cluster cluster and nil check updates
- Caching clusters while sharding: Fixing unit tests
- Update generated docs
- Debug e2e tests
- Default the shardNumber to the number of replicas if it is calculated to a higher value
- defered Unlock only when a lock is set
- Disabling temporarly other versions of k3s to check if e2e passes
- Do not fail if hostname format is not abc-n
- Fix unit test and skip some e2e
- Skip TestGitSubmoduleHTTPSSupport test
- Remove breaking defer c.lock.Unlock()
- Reverting testing all k3s version
- Default sharding fix
Signed-off-by: Akram Ben Aissi <[email protected]>

Signed-off-by: Akram Ben Aissi <[email protected]>

* fixes related to code review: renaming structure param, moving db initialisation

Signed-off-by: Akram Ben Aissi <[email protected]>

* Code review

Signed-off-by: Akram Ben Aissi <[email protected]>

* Set default shard to 0

Signed-off-by: Akram Ben Aissi <[email protected]>

* Set different default value for Sts and Deployment mode

Signed-off-by: Akram Ben Aissi <[email protected]>

* Expose ClusterShardingCache

Signed-off-by: Akram Ben Aissi <[email protected]>

* Removing use of argoDB.db for DistributionFunction

Signed-off-by: Akram Ben Aissi <[email protected]>

* Update generated documentation

Signed-off-by: Akram Ben Aissi <[email protected]>

* Fix comment about NoShardingDistributionFunction and NoShardingAlgorithm

Signed-off-by: Akram Ben Aissi <[email protected]>

---------

Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Akram Ben Aissi <[email protected]>
Co-authored-by: Alexandre Gaudreault <[email protected]>
2024-01-11 01:32:11 -05:00
1a9a69ef7e feat: dynamic rebalancing of clusters across shards (#15036)
* Migrate Application Controller from Statefulset to Deployment

Signed-off-by: ishitasequeira <[email protected]>

* Add sharding deployment logic

Signed-off-by: ishitasequeira <[email protected]>

* Update sharding logic and add comments

Signed-off-by: ishitasequeira <[email protected]>

* Add heartbeat as an environment variable

Signed-off-by: ishitasequeira <[email protected]>

* Add retry logic, heartbeat timeout environment variable

Signed-off-by: ishitasequeira <[email protected]>

* use the logic of pre-specified shard number on application controller pod

Signed-off-by: ishitasequeira <[email protected]>

* fix manifests

Signed-off-by: ishitasequeira <[email protected]>

* fix lint and e2e tests

Signed-off-by: ishitasequeira <[email protected]>

* comment out failing e2e test

Signed-off-by: ishitasequeira <[email protected]>

* increase readiness probe interval period

Signed-off-by: ishitasequeira <[email protected]>

* "comment out readiness probe to see if e2e tests succeed"

Signed-off-by: ishitasequeira <[email protected]>

* revert commented readiness probe

Signed-off-by: ishitasequeira <[email protected]>

* revert commented test case

Signed-off-by: ishitasequeira <[email protected]>

* read environment variable for application controller deployment name

Signed-off-by: ishitasequeira <[email protected]>

* Add nil check on replica count for deployment of application controller

Signed-off-by: ishitasequeira <[email protected]>

* Address comments

Signed-off-by: ishitasequeira <[email protected]>

* Add Informer, Update documentation, add unit tests

Signed-off-by: ishitasequeira <[email protected]>

* update godoc

Signed-off-by: ishitasequeira <[email protected]>

* remove unwanted code and logs

Signed-off-by: ishitasequeira <[email protected]>

* Add more documentation

Signed-off-by: ishitasequeira <[email protected]>

* revert ApplicationController manifest to StatefulSet

Signed-off-by: ishitasequeira <[email protected]>

* reverting updated docs

Signed-off-by: ishitasequeira <[email protected]>

* Add documentation for the new dynamic distribution feature

Signed-off-by: ishitasequeira <[email protected]>

* update documentation

Signed-off-by: ishitasequeira <[email protected]>

* Add an overlay for application controller deployment and update documentation

Signed-off-by: ishitasequeira <[email protected]>

* fix nit

Signed-off-by: ishitasequeira <[email protected]>

* Marking the feature as alpha

Signed-off-by: ishitasequeira <[email protected]>

* Add feature status link

Signed-off-by: ishitasequeira <[email protected]>

* revert go,mod changes

Signed-off-by: ishitasequeira <[email protected]>

* update docs to avoid focusing on StatefulSet/Deployment (#26)

* update docs to avoid focusing on StatefulSet/Deployment

Signed-off-by: Michael Crenshaw <[email protected]>

---------

Signed-off-by: Michael Crenshaw <[email protected]>

* minor update to the doc

Signed-off-by: ishitasequeira <[email protected]>

---------

Signed-off-by: ishitasequeira <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>
Co-authored-by: Michael Crenshaw <[email protected]>
2023-09-22 19:49:09 +00:00
Eng Zer JunandGitHub 9807275c7b chore: use t.Setenv to set env vars in tests (#14377)
This commit replaces `os.Setenv` with `t.Setenv` in tests. The
environment variable is automatically restored to its original value
when the test and all its subtests complete.

Reference: https://pkg.go.dev/testing#T.Setenv

Signed-off-by: Eng Zer Jun <[email protected]>
2023-07-06 19:50:08 -04:00
Alexandre GaudreaultandGitHub 877926526d fix(sharding): recurring info logs to debug (#14383)
Signed-off-by: Alexandre Gaudreault <[email protected]>
2023-07-06 19:39:18 -04:00
a4e32b2cef fix: Fixes sharding placement algorithm and allows development of alternative algorithms (#13018)
* fix: Extraction of DistributionFunction to allow passing different type of functions to filter clusters by shard
- Adding unit tests for sharding
- Refresh clusters list on DistributionFunction call

Signed-off-by: Akram Ben Aissi <[email protected]>
Signed-off-by: ishitasequeira <[email protected]>

* fix: Incorrect conversion of an integer with architecture-dependent bit size from [strconv.Atoi](1) to a lower bit size type uint32 without an upper bound check.

Signed-off-by: Akram Ben Aissi <[email protected]>

* Added config to switch to round-robin sharding

Signed-off-by: Raghavi Shirur <[email protected]>
Signed-off-by: Akram Ben Aissi <[email protected]>

* Documenting sharding more, adding shuffling tests (skipped), re-enable sharding algo env var

Signed-off-by: Akram Ben Aissi <[email protected]>

* Allow configuration through argocd-cmd-params-cm configMap and key: controller.sharding.algorithm

Signed-off-by: Akram Ben Aissi <[email protected]>

* De-duplicate code, remove reflection for default case, shorten distribution methods name, ran codegen on manifests
Signed-off-by: Akram Ben Aissi <[email protected]>

Signed-off-by: Akram Ben Aissi <[email protected]>

---------

Signed-off-by: Akram Ben Aissi <[email protected]>
Signed-off-by: ishitasequeira <[email protected]>
Signed-off-by: Raghavi Shirur <[email protected]>
Co-authored-by: Raghavi Shirur <[email protected]>
2023-06-05 09:19:14 -04:00
1d472ba293 chore: Upgrade Go module to v2 (#5931)
* chore: Upgrade Go module to v2

Signed-off-by: jannfis <[email protected]>

* Restore import order

Signed-off-by: jannfis <[email protected]>

* fix knowntypes_normalizer codegen error

Signed-off-by: Alexander Matyushentsev <[email protected]>

* fix codegen

Signed-off-by: Alexander Matyushentsev <[email protected]>

* fix Procfile

Signed-off-by: Alexander Matyushentsev <[email protected]>

Co-authored-by: Alexander Matyushentsev <[email protected]>
2021-04-01 20:44:18 +02:00