bcgov / bcgov/gwa-api

Enhance gateway status to use the Kube api to check the upstream and to include the assigned IP

Open
#133 0 comments 0 reactions 0 assignees View on GitHub
jira
Dominant language
Python
Stars
5
Forks
4
Avg merge
3d 4h
Merged PRs (30d)
9

Description

**Background:**

Some data planes may be on Openshift clusters that use VMware NSX Advanced Load Balancer (AVI Kubernetes Operator), which is an advanced ingress controller. In this case, the `kube-api` will provision an Openshift Route and an IP address will be dynamically assigned. We want the IP address to be available when a user calls the `/v2/namespaces//services` endpoint.

**A/C:**

- move the status logic from `gatewayApi` to `kubeApi`
- have the `gatewayApi` call the `kubeApi` to get the status data
- update the `kubeApi` to enrich the status data with the IP address if it is available

**Technical notes:**

IP address can be found in the Route detail, if the AVI operator is used on the cluster:

```yaml
status:
ingress:
- host: .api.gov.bc.ca
routerName: ako-OCPEMERALD
conditions:
- type: Admitted
status: 'True'
message: 10.99.10.8
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the gatewayApi and kubeApi status logic and the /v2/namespaces//services endpoint. Trace how gatewayApi currently obtains status, then verify the kubeApi can inspect the OpenShift Route detail and expose an available IP. Done means status logic is owned by kubeApi, gatewayApi delegates to it, and the endpoint includes the assigned IP when present.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, python
Domain
api, backend, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.