Skip to content

[minor] Add install plan approval parameter for AIService operator#447

Open
Sakshi-Singhroha1 wants to merge 7 commits intomainfrom
MASCORE-12745
Open

[minor] Add install plan approval parameter for AIService operator#447
Sakshi-Singhroha1 wants to merge 7 commits intomainfrom
MASCORE-12745

Conversation

@Sakshi-Singhroha1
Copy link
Copy Markdown

@Sakshi-Singhroha1 Sakshi-Singhroha1 commented Apr 30, 2026

JIRA:

MASCORE-12745 https://jsw.ibm.com/browse/MASCORE-12745
MASCORE-13410 https://jsw.ibm.com/browse/MASCORE-13410
MASCORE-13462 https://jsw.ibm.com/browse/MASCORE-13462

Problem: The AIService operator subscription's installPlanApproval field was hardcoded as "Automatic" in the GitOps templates. This prevented users from controlling whether operator updates require manual approval or install automatically.

Requirement: Add Helm template support for configurable aiservice_install_plan_approval field in GitOps, allowing the value to be passed from CLI and applied to the Kubernetes Subscription resource.

Why these changes are needed:

GitOps templates need to support dynamic installPlanApproval values from configuration
Enables teams to control operator upgrade behavior per environment (Manual for production, Automatic for dev/test)
Provides default value "Automatic" for backward compatibility
Completes the parameter flow: saas-envs → Tekton → CLI → GitOps → Kubernetes

What was changed:

This PR adds Helm template variable support for the AIService operator install plan approval setting across GitOps configuration files.

Changes made:

File 1: instance-applications/113-ibm-aiservice/templates/04-aiservice-operator-subscription.yaml

Line 37 - Changed hardcoded value to template variable:

installPlanApproval: {{ .Values.aiservice_install_plan_approval }} 

File 2: instance-applications/113-ibm-aiservice/values.yaml

Lines 72-73 - Added new configuration parameters:

aiservice_channel: "9.1.x" aiservice_install_plan_approval: "Automatic" 

File 3: root-applications/ibm-aiservice-instance-root/templates/040-ibm-aiservice-app.yaml

Lines 92-93 - Added parameter passing to aiservice application:

aiservice_channel: "{{ .Values.ibm_aiservice.aiservice_channel }}" 
aiservice_install_plan_approval: "{{ .Values.ibm_aiservice.aiservice_install_plan_approval }}" 

File 4: root-applications/ibm-aiservice-instance-root/values.yaml

Lines 259-260 - Added default values in root application:

aiservice_channel: "9.1.x" 
aiservice_install_plan_approval: "Automatic" 

Impact:

✅ GitOps templates accept aiservice_install_plan_approval parameter from CLI
✅ Only accepts "Manual" or "Automatic" values (validated by saas-deploy-py schema)
✅ Kubernetes Subscription resource created with correct installPlanApproval value
✅ Default value "Automatic" ensures backward compatibility
✅ Enables Manual or Automatic operator upgrade control per environment
✅ No breaking changes to existing deployments

Testing performed:

Template Validation:

✅ Validated Helm template syntax is correct
✅ Confirmed parameter flows from root to instance application
✅ Verified default value "Automatic" is set correctly

Deployment Verification:

✅ Deployed to noble8 ArgoCD cluster
✅ Configuration with aiservice_install_plan_approval: "Manual" deployed successfully
✅ Configuration with aiservice_install_plan_approval: "Automatic" deployed successfully
✅ Kubernetes Subscription created with correct installPlanApproval field

Test Results:

✅ Template renders correctly with parameter value
✅ Accepts valid values ("Manual", "Automatic")
✅ Deployment to noble8 cluster successful
✅ Operator subscription created with correct install plan approval setting

Related Pull Requests:

This change is part of a multi-repository feature implementation for MASCORE-12745:

saas-envs-starter: PR#158 - Added prompts and template parameters for install plan configuration
saas-deploy-py: PR#266 - Added JSON schema validation for aiservice_install_plan_approval field
saas-tekton: PR #223 - Added Tekton pipeline support for aiservice_install_plan_approval parameter
ibm-mas/cli: PR #2233 - Added --aiservice-install-plan-approval CLI parameter and template support

Comment on lines +72 to +73
aiservice_channel: "9.1.x"
aiservice_install_plan_approval: "Automatic"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These needs to be removed from default values

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Comment on lines +259 to +260
aiservice_channel: "9.1.x"
aiservice_install_plan_approval: "Automatic"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

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.

2 participants