Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cpi plugin support #662

Merged
merged 2 commits into from
Sep 20, 2024
Merged

Cpi plugin support #662

merged 2 commits into from
Sep 20, 2024

Commits on Sep 12, 2024

  1. Fix mockgen script

    This change fixes mockgen by changing the package name to the reflect
    the module name github.com/cloudfoundry/bosh-cli/v7. Presumably, the
    module name changed at some point, but the mockgen script wasn't updated
    to reflect it. So it would try to add github.com/cloudfoundry/bosh-cli
    as a go mod dependency and complain vendoring is inconsistent (you can't
    vendor bosh-cli in its own repo).
    
    We will be regenerating mocks using the updated script, so it's good to
    have it in working order.
    
    Signed-off-by: Kenneth Lakin <[email protected]>
    rajathagasthya authored and klakin-pivotal committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    7359718 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. Adds support for multi-Job CPIs

    This commit adds CLI support for deployment manifests that specify a CPI
    with multiple Jobs.
    
    A CPI's Job has traditionally been specified in a Director manifest with
    the `{cloud_provider: {template: {name: "name", release: "release"}}}`
    manifest construction. This commit extends the `cloud_provider`
    defintion with a new `templates` key whose value is an array of zero or
    more `{name:, release:}` hashes/mappings/dictionaries.
    
    Supporting this change required relaxing some explicit requirements in
    sections of the code that expected that a CPI could only ever have one
    Job. However, the requirement that exactly one of the CPI's Jobs have a
    template that creates a `bin/cpi` executable is retained.
    
    These changes are backwards-compatible, so existing manifests that use
    `cloud_provider: template...` syntax will work just fine.
    
    Why have we made these changes? To support upcoming work to permit the
    creation of "sidecar" or "plugin" Jobs for CPIs that can be used by the
    CPI during both CLI-driven CPI invocations (like `create-env`) and also
    Director-driven CPI invocations.
    
    Signed-off-by: Kenneth Lakin <[email protected]>
    rajathagasthya authored and klakin-pivotal committed Sep 20, 2024
    Configuration menu
    Copy the full SHA
    94e151a View commit details
    Browse the repository at this point in the history