Skip to content

Initial implementation#1

Open
mdnix wants to merge 1 commit intomasterfrom
init-implementation
Open

Initial implementation#1
mdnix wants to merge 1 commit intomasterfrom
init-implementation

Conversation

@mdnix
Copy link
Copy Markdown
Collaborator

@mdnix mdnix commented Apr 13, 2026

Checklist

  • The PR has a meaningful title. It will be used to auto-generate the
    changelog.
    The PR has a meaningful description that sums up the change. It will be
    linked in the changelog.
  • PR contains a single logical change (to build a better changelog).
  • Update the documentation.
  • Categorize the PR by adding one of the labels:
    bug, enhancement, documentation, change, breaking, dependency
    as they show up in the changelog.
  • Link this PR to related issues or PRs.

@mdnix mdnix self-assigned this Apr 13, 2026
@mdnix mdnix added bump:minor Create a new minor release when merging the labeled PR enhancement New feature or request labels Apr 13, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 13, 2026

🚀 Merging this PR will release v0.1.0

Merging will trigger workflows Release

🛠️ Auto tagging enabled with label bump:minor

1 similar comment
@github-actions
Copy link
Copy Markdown

🚀 Merging this PR will release v0.1.0

Merging will trigger workflows Release

🛠️ Auto tagging enabled with label bump:minor

@mdnix mdnix force-pushed the init-implementation branch from db6dc7c to 6886a05 Compare April 13, 2026 15:26
@mdnix mdnix force-pushed the init-implementation branch from 6886a05 to 581f350 Compare April 13, 2026 15:31
@mdnix mdnix requested a review from simu April 13, 2026 15:32
Copy link
Copy Markdown
Member

@simu simu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a lot of duplication between this component and the CSI driver component, and from what I can see, the two components are part of a single versioned cloud-provider-openstack package.

It might be worth considering merging this component and the CSI driver component into component-cloud-provider-openstack (or similar). While having such components isn't strictly Project Syn best practices, for two controllers which share an upstream repository (https://github.com/kubernetes/cloud-provider-openstack) it would be acceptable (and maybe even preferable) to have a single Commodore component to reduce the amount of duplicated code (which will come with duplicated bug fixing / adjusting for upstream changes).

Comment on lines +37 to +46
local renderCloudConf() =
std.join(
'\n',
renderSection('Global', mergedGlobal) +
renderSection('Networking', params.cloud_conf.networking) +
renderSection('LoadBalancer', params.cloud_conf.load_balancer) +
renderLBClasses(params.cloud_conf.load_balancer_classes) +
renderSection('Metadata', params.cloud_conf.metadata) +
renderSection('Route', params.cloud_conf.route)
);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as CSI driver, consider using std.manifestIni().


[horizontal]
type:: dictionary
default:: See `class/defaults.yml`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
default:: See `class/defaults.yml`
default:: See https://github.com/projectsyn/component-openstack-cloud-controller-manager/blob/master/class/defaults.yml[`class/defaults.yml`]


[horizontal]
type:: dictionary
default:: See `class/defaults.yml`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
default:: See `class/defaults.yml`
default:: See https://github.com/projectsyn/component-openstack-cloud-controller-manager/blob/master/class/defaults.yml[`class/defaults.yml`]

Comment on lines +85 to +92
== `credentials`

[horizontal]
type:: dictionary
default:: See `class/defaults.yml`

Discrete Vault references for sensitive `[Global]` fields.
At render time, non-null and non-empty entries are merged into `cloud_conf.global` before the INI is emitted.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as CSI driver: this isn't really necessary, since you can just as well use Vault refs in cloud_conf.global.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as CSI driver: we usually don't strip Helm chart labels from charts rendered via Commodore component.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump:minor Create a new minor release when merging the labeled PR enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants