GitLab-managed Kubernetes resources
How can we do GitLab Managed applications with the agent architecture? ## Release notes Deploy your applications to Kubernetes with more control and automation using [GitLab-managed Kubernetes resources](https://docs.gitlab.com/ee/user/clusters/agent/managed_resources.html). In previous versions of GitLab, you had to manually configure Kubernetes resources for each environment. Now you can use GitLab-managed Kubernetes resources to automatically provision and manage these resources. With GitLab-managed Kubernetes resources, you can: - Automatically create namespaces and service accounts for new environments - Manage access permissions through role bindings - Configure other required Kubernetes resources When your developers deploy applications, GitLab automatically creates the necessary Kubernetes resources based on the provided resource templates, streamlining your deployment process and maintaining consistency across environments. ## Problem to solve As a Platform Engineer, I want to provide self-service capabilities for developers when they start a new project so they can deploy their applications without manual action from my end and with keeping other applications safe. As a Platform Engineer, I want to enable developers to deploy testing/development versions of the applications either to dedicated or to a shared Kubernetes namespace with a dedicated service account without giving the developers authorization to create namespaces and service accounts, so they can test and share their version easily for testing without compromising the cluster. ## Intended users * [Priyanka (Platform Engineer)](https://handbook.gitlab.com/handbook/product/personas/#priyanka-platform-engineer) ## Proposal Described as part of https://gitlab.com/gitlab-org/cluster-integration/gitlab-agent/-/issues/649+ ## Iteration plan The goal is to release small, but valuable batches of functionality as quickly as possible. The iterations might allow us to stop without shipping all the milestones. The following ordering might change based on user feedback. 1. Goal: Offer an alternative to GitLab managed clusters :white_check_mark: - basic resource management - document migration - released as Beta 1. Goal: Make it compelling to migrate - add ability to remove the managed resources :white_check_mark: 1. Goal: GitOps support for more complex use cases - add template support - add the management of some FluxCD resources :white_check_mark: 1. Goal: Deploy token support for improved security - add the management of deploy tokens and related secrets - this is the GA release as we want to modify the default template without waiting for a new major release 1. Goal: Simplify related areas - auto configure K8s dashboard 1. Goal: other, low value-add items - we'll likely never get here, it's still valuable to document what is related to this topic :shrug: - user feedback on these is extremely welcome to influence our roadmap - support resource removal on environment deleting - support resource creation on environment creation (but not on restart)
epic