Skip to content

[ENHANCEMENT] migrate cf v2 api to v3 api #380

@metskem

Description

@metskem

<

What would you like to be added
The nozzle currently uses the go-cfclient library to interact with CF (mostly getting App information).
We would like this to be replaced/upgraded to the go-cfclient v3 api.

Why is this needed:
During the last Cloud Foundry day (October 9, 2024) in Karlsruhe, the v2 removal proposal was once more mentioned, where 2027 would be the year the v2 api will be removed from the CF cloud controller.

Additional context
Not sure if somebody else is already looking into this migration, but I had a quick look at the code.
It seems do-able, except the handling of the App Environment, for example here.
In V2, each App object has the environment_variables included, no additional api calls needed.
However, in v3, this is no longer the case. In order to get the environment_variables it would take an api call for each app, which would become a performance issue if you have many applications.
An option would be to use CF Labels (instead of app envvars) to store the SPLUNK_INDEX and F2S_DISABLE_LOGGING.
Clearly this would be a breaking change, but we could keep the current situation (app envvars) as a fallback, which does come with a performance penalty.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions