LIB-951: Move liberty-gateway-operator to liberty-k8s-controllers#15
Draft
KevinKlaesRackspace2 wants to merge 15 commits into
Draft
LIB-951: Move liberty-gateway-operator to liberty-k8s-controllers#15KevinKlaesRackspace2 wants to merge 15 commits into
KevinKlaesRackspace2 wants to merge 15 commits into
Conversation
Add relaxPermChecks and encryption enabling flags to ps-entry
Build and push image to ghcr
* Fix keyfile permissions * Remove extra debug line * Update build/ps-entry.sh Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
LIB-623: Add Renovate dependency management
The --relaxPermChecks flag is a Percona Server for MongoDB specific option that does not exist in MongoDB Community Edition. Our Docker images use MongoDB Community packages (mongodb-org-*), so this flag causes mongod to fail at startup with 'unrecognised option' error. This was the root cause of build failures in the Braze zone: both cfg (config server) and rs-0 (shard) pods entered CrashLoopBackOff because mongod rejected the unrecognized --relaxPermChecks flag. Changes: - Remove --relaxPermChecks from containerArgs() in container.go - Remove --relaxPermChecks from mongos args in mongos.go - Update mongos_test.go to assert flag is NOT present - Update all e2e test comparison YAML files (257 files) - Update all reconcile-statefulset testdata YAML files (9 files) The defense-in-depth stripping in build/ps-entry.sh is preserved for backwards compatibility with any future edge cases.
…aze-zone LIB-980: Build failures in Braze zone
Add auto-version-bump.yaml that bumps pkg/version/version.txt based on PR labels (bump:patch, bump:minor, bump:major). Implements subversioned format X.Y.Z-N where bump:patch increments the -N suffix. Add label-check.yaml that blocks merge when a PR with code changes lacks a version label or skip-release label. Both workflows use path filters scoped to operator code directories: pkg/, cmd/, build/, config/, deploy/.
Remove workflows not applicable to our fork: - scan.yml: builds to upstream Percona Docker Hub registry - stale.yml: community PR management - labeler.yml: community fork detection - renovate.yaml: redundant with existing dependabot.yml Remove associated config files: - .github/labeler.yml: labeler workflow config - .github/pr-badge.yml: upstream PR badge config
- Add github.com/objectrocket to goimports-reviser company prefixes alongside github.com/percona - Remove release-* branch conditionals from manifests check since we only use the main branch. Always generate with VERSION=main.
Update pkg/version/version.txt to 1.22.0-1 as starting point for our subversioned bumps. The -N suffix distinguishes our builds from upstream Percona releases that use the same base version. Update pkg/version/version.go: - Version() now strips the -N suffix and returns base semver (1.22.0) for CRVersion feature-gating comparisons (hashicorp/go-version treats hyphens as prerelease identifiers) - Add FullVersion() that returns the complete version string including subversion suffix, used for image tagging and CRD labels Update version_test.go to use FullVersion() for CRD label validation. Update CRD patches and generated deploy manifests to reflect v1.22.0-1.
…-workflows-and-clean LIB-982: Implement versioning workflows and clean up GitHub Actions in operator fork
Author
Related PRs for LIB-951 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Reading directory: /Users/kevi0757/Sites/specs/LIB-951 (using tool: read, max depth: 0, max entries: 1000, excluding: defaults)
✓ Successfully read directory /Users/kevi0757/Sites/specs/LIB-951 (13 entries)
Batch fs_read operation with 2 operations (using tool: read)
↱ Operation 1: Reading file: /Users/kevi0757/Sites/specs/LIB-951/summary-20260710-084145.md, all lines
↱ Operation 2: Reading file: /Users/kevi0757/Sites/specs/LIB-951/.repos, all lines
✓ Successfully read 3992 bytes from /Users/kevi0757/Sites/specs/LIB-951/summary-20260710-084145.md
✓ Successfully read 78 bytes from /Users/kevi0757/Sites/specs/LIB-951/.repos
⋮
PR Description for liberty-k8s-controllers
Based on the spec and summary, here's the PR description:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Migrates the gateway-operator from the standalone liberty-gateway-operator repo into this monorepo, following the established multi-component pattern (alongside mongobench-operator, psmdb-operator, etc.). This consolidates CI/release pipelines and eliminates a single-purpose repo.
What's here
Design choices reviewers should note
sigs.k8s.io/yaml instead of gopkg.in/yaml.v2 — The config struct tags were changed from yaml: to json: because sigs.k8s.io/yaml deserializes using JSON struct tags. This is functionally equivalent but aligns with monorepo conventions.
Metrics struct lives in internal/gateway/controller/ rather than a separate metrics package. The instruments are only used by the reconciler, so a dedicated package adds indirection without value.
No CI/workflow changes needed — COMPONENTS in the Makefile and auto-release.yaml already include gateway-operator. Tag-driven releases (gateway-operator/vX.Y.Z) work out of the box.
Envtest tests use //go:build envtest — They won't run in make test but will run in the envtest CI matrix. They require gateway-api CRDs from sigs.k8s.io/gateway-api/config/crd/experimental/.
Follow-up
The standalone liberty-gateway-operator repo can be archived after the first successful deployment from the new image path (ghcr.io/objectrocket/liberty/controllers/gateway-operator). Production rsetinput semver pins will need updating after devlab verification.
CHANGE DESCRIPTION
Problem:
Short explanation of the problem.
Cause:
Short explanation of the root cause of the issue if applicable.
Solution:
Short explanation of the solution we are providing with this PR.
CHECKLIST
Jira
Needs Doc) and QA (Needs QA)?Tests
compare/*-oc.yml)?Config/Logging/Testability