# Cloud Server Event APIs: Add `nextgen` Cluster Type Support

## Background

The Cloud Server event APIs currently support `serverless`, `dedicated`, and `all` cluster types when selecting event-type filters for:

- `GET /orgs/{oid}/projects/{pid}/clusters/{cid}/events`
- `GET /orgs/{oid}/clusters/{cid}/events`
- `GET /orgs/{oid}/projects/{pid}/clusters/{cid}/eventfilters`
- `GET /orgs/{oid}/clusters/{cid}/eventfilters`

`nextgen` has been introduced as a new cluster type and must be included in event type selection behavior.

## Goal

Add complete `cluster_type=nextgen` support for both event list and event filter APIs in `cloud_server`.

## Current Behavior

- Event type white lists are loaded from config into `event.Service.EventWhiteList`.
- API routing and logic live in `cloud_server/pkg/event/api.go`.
- `listEvents` and `listEventFilters` switch on cluster type, but no `nextgen` case exists.
- `all` only unions serverless and dedicated white lists.

## Target Contract

- Accept and handle `cluster_type=nextgen` everywhere `cluster_type` is processed for event types.
- Return/allow nextgen event types from a dedicated config white list.
- Include nextgen types in `cluster_type=all` union logic.

## Affected Modules and Routes

- Go module: `cloud_server`
- Package: `cloud_server/pkg/event`
- Config: `cloud_server/pkg/config`
- Entrypoint wiring: `cloud_server/cmd/cloud_server/main.go`
- Routes: all `/events` and `/eventfilters` endpoints listed above

## Implementation Steps

1. Add `NextGenClusterType` constant in event API.
2. Extend `EventWhiteList` with `NextGenTypeWhiteList`.
3. Update cluster-type switch logic in:
   - `EventWhiteList.IsClusterTypeAllowed`
   - `EventWhiteList.allEventType`
   - `Service.listEvents`
   - `Service.listEventFilters`
4. Extend config schema (`EventConfig`) with `nextgen_type_white_list`.
5. Wire config into service initialization in `cmd/cloud_server/main.go`.
6. Update route annotation text where it explicitly enumerates cluster types.

## Non-Goals

- No behavior change for existing `serverless`, `dedicated`, or `all` semantics.
- No changes to unrelated alert or non-event modules.

## Compatibility Notes

- Existing config files without `nextgen_type_white_list` remain valid; the new field defaults to empty list.
- `cluster_type=all` will continue to work and now includes nextgen entries when configured.

## Test Plan

- Run focused tests/build for `cloud_server/pkg/event` ownership path.
- At minimum, run `go test ./pkg/event/...` from `cloud_server` module root.

## Deployment Impact

- Source artifact: `cloud_server` image.
- Required deployment modules: Clinic CD component `cloud-server`; app-delivery app `cloud-server`; workload backed by cloud-server deployment.
