Skip to content

Remove default logic for Flux resource fetch

What does this MR do and why?

This MR removes the overcomplicated logic of searching for the FLux resources with the same name as the environment name. From now on, we'll only show the FLux sync status when the resource is selected from the environment settings. This will help us to reduce API calls from the environments page.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After
Screenshot_2023-11-05_at_20.42.01 Screenshot_2023-11-03_at_11.37.21
Screenshot_2023-11-05_at_20.41.29 Screenshot_2023-11-03_at_11.37.34

How to set up and validate locally

  1. Enable KAS on your GDK (steps 1-2 from the guide).

  2. Visit the Project -> Infrastructure -> Kubernetes clusters page and create an agent following the instruction from the modal.

    • Select the "Connect a cluster" button
    • The modal should pop up
    • In the modal select "Select an agent or enter a name to create new"
    • You probably won't have any configured agents to show up in the list, create a new one by typing the name of your choice
    • The button should appear at the bottom of the list saying "Create agent: <your-agent-name>"
    • Select the button and click "Register" in the next view.
    • Save the token to use it in the next point.
  3. Please follow points 3-8 from the guide and then the (Optional) Deploy the GitLab Agent (agentk) with k3d section to create a local cluster and connect your agent with the cluster.

  4. Add the following configuration for your agent, commit the following on the default branch: .gitlab/agents/<your-agent-name>/config.yaml:

    gitops:
      manifest_projects:
      - id: <your-group>/<your-project>
    user_access:
      access_as: 
        agent: {}
      projects:
      - id: <your-group>/<your-project>
  5. Follow this guide to start with the Flux

  6. Visit the Environments page:

    • Project -> Operate -> Environments if the new navigation is enabled
    • Project -> Deployments -> Environments if the new navigation is not enabled
  7. Create/Edit an environment using the UI, select the agent created in the previous steps, the namespace used, and the Flux resource

  8. Navigate to the Environments page, toggle the environment, wait for the Kubernetes overview to appear, and verify the Flux sync label is shown

  9. Create another environment with the same name as your flux resource, select the same agent and namespace, but don't select a Flux resource

  10. Navigate to the Environments page, toggle the environment, wait for the Kubernetes overview to appear, and verify the Flux sync label is not shown

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #430324 (closed)

Edited by Anna Vovchenko

Merge request reports