Skip to content

feat: AIF Operator Build#86

Open
leooamaral wants to merge 10 commits into
ai-factoryfrom
feat/aif-operator-pipeline
Open

feat: AIF Operator Build#86
leooamaral wants to merge 10 commits into
ai-factoryfrom
feat/aif-operator-pipeline

Conversation

@leooamaral
Copy link
Copy Markdown
Contributor

Summary

  • Renames Go source directory suse-ai-operator/aif-operator/ and updates module path to github.com/SUSE/aif-operator
  • Renames Helm chart charts/suse-ai-operator/charts/aif-operator/ with all internal template references updated
  • Applies chart best practices: fixes helm.sh/chart label format, deployment indentation, adds EXTENSION_NAMESPACE env var and imagePullSecrets to deployment, guards empty scheduling fields
  • Updates UI operator constants (OPERATOR_NAMESPACE, OPERATOR_SERVICE) to aif-operator
  • Adds release-aif-operator.yml CI pipeline

Test plan

  • go build ./... compiles successfully
  • helm template renders cleanly
  • helm lint passes with 0 failures
  • Deployed to minikube — pod running, all controllers started, Settings CR reconciled

🤖 Generated with Claude Code

Renames the Go source directory and updates the module path
from github.com/SUSE/suse-ai-operator to github.com/SUSE/aif-operator.
Updates all import paths, field owners, namespace defaults,
and test constants.
Renames all chart template helpers, labels, and resource names.
Fixes helm.sh/chart label format, deployment indentation, adds
EXTENSION_NAMESPACE env var and imagePullSecrets to the deployment.
Guards empty nodeSelector/tolerations/affinity/podAnnotations.
@leooamaral leooamaral changed the title refactor: rename suse-ai-operator to aif-operator feat: AIF Operator Build Jun 3, 2026
@leooamaral
Copy link
Copy Markdown
Contributor Author

leooamaral commented Jun 3, 2026

Discussion: Configurable operator coordinates in the UI

Currently the UI extension has hardcoded constants for the operator namespace and service name in pkg/suse-ai-lifecycle-manager/utils/constants.ts#L342-L348:

export const OPERATOR_NAMESPACE = 'aif-operator';
export const OPERATOR_SERVICE   = 'aif-operator';

These are used to build the Rancher proxy URL (/k8s/clusters/local/api/v1/namespaces/<ns>/services/http:<svc>:8080/proxy) that connects the UI to the operator API.

The problem is that users can install the operator Helm chart in any namespace they choose (e.g. helm install aif-operator ... -n custom-namespace). When that happens, the UI can't reach the operator because it's looking in the wrong namespace.

Possible approaches

  1. Settings page in the UI — let the user configure OPERATOR_NAMESPACE and OPERATOR_SERVICE from within the extension (persisted in localStorage or a ConfigMap).
  2. Auto-discovery — the UI queries the cluster for a known label/annotation on the operator Service or Deployment to find it dynamically.
  3. Extension metadata — pass the operator coordinates as annotations or values when the extension is installed via the InstallAIExtension CR.

Would be good to align on the preferred approach before hardcoding assumptions about the operator's namespace.

…stem

Updates README docs, chart README, e2e tests, UI constants,
and operator sample CR references to use aif-operator namespace.
@leooamaral leooamaral marked this pull request as ready for review June 3, 2026 16:32
- Fix Chart.yaml home/sources URLs to point to the actual repo
- Fix imagePullSecrets helper indentation for manager branch
- Remove stale build-extension.yml and release-operator.yml workflows
- Add nil-guards (with) for resources, securityContext, podSecurityContext
- Add standard Helm labels to ClusterRoles and namespaced Role
- Add explicit namespace to ServiceAccount, leader-election Role/RoleBinding,
  and metrics Service for consistency and template-pipe safety
- Use fullname helper in NOTES.txt instead of .Release.Name
- Fix CRD name from singular to plural in operator README delete commands
- Add missing labels to metrics-auth ClusterRoleBinding
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant