Age | Commit message (Collapse) | Author |
|
Kubernetes deployments on new clusters will now have
a separate namespace per project environment, instead
of sharing a single namespace for the project.
Behaviour of existing clusters is unchanged.
All new functionality is controlled by the
:kubernetes_namespace_per_environment feature flag,
which is safe to enable/disable at any time.
|
|
The current approach requires catching exceptions to handle these errors
and callers are already handling model validations so it seems more
appropriate. Also it seemed to convoluted to add this logic directly to
the model since the model needs to check too many possible associations
to determine whether or not there are more than one cluster since the
model doesn't know what it's being created on. Additionally we only
wanted to validate during create to avoid the risk of existing models
becoming invalid by many different edge cases.
|
|
Instance level clusters were already mostly supported, this change adds
admin area controllers for cluster CRUD
|
|
|
|
- Add pages javascripts to intialize clusters for group pages
- Move specs asserting gcp specific validations from controller into
UpdateService spec
- Also teach Clusters::ApplicationController about groups
|
|
To the extent possible swap out `project` with `clusterable`
- Abstract paths for showing cluster or clusters. This will allow us to
swap in alternative paths for group level cluster
- Push :project_id and :namespace_id params from the URL to the POST
body.
- Create a nice helper for to generate links for the destroy
action
For some reason, spec :project_id and :namespace_id param are not going
through `to_param` for a JSON format. Manually call `to_param` to fix
specs.
- Move :layout to BaseController
|
|
Even though we currently only should have one group for a cluster, we
allow the flexibility to associate to other groups in the future.
This also matches the runner <=> groups association.
- Adds Cluster#first_group, aliased to Cluster#group. For the
conceivable future, a cluster will have at most one group.
- Prevent mixing of group and project clusters. If project type
clusters, it should only have projects assigned. Similarly with groups.
- Default cluster_type to :project_type. As it's very small table we can
set default and null: false in one release.
|
|
This enables us to have other options in the future such as passing in
`group:`.
Also, remove project arg from UpdateService, as un-used.
This will help group cluster controller to re-use this services.
|
|
For directories application_settings --> labels.
Partially addresses #47424.
|
|
|
|
|
|
|
|
cluster-page-with-list-clusters
|
|
|
|
|
|
|
|
|
|
controller. Use time_with_zone in schema. Remove Gcp::Clusters from safe_model_attributes.ym
|
|
KubernetesService
|
|
|
|
|
|
|
|
|
|
|