Giter VIP home page Giter VIP logo

Comments (6)

justinvp avatar justinvp commented on May 29, 2024

there is a bit of friction in getting those providers downloaded where they are needed, such as the deployment agents

Can you provide more details on the friction?

from pulumi.

ringods avatar ringods commented on May 29, 2024

@MMartyn when building your providers, you can use the pluginDownloadUrl to point to a private location:

Here is an example from a non-Pulumi owned package, living in another Github organization:
https://github.com/pulumiverse/pulumi-unifi/blob/main/provider/cmd/pulumi-resource-unifi/schema.json#L14

You can have private Github releases for the plugin binaries because Pulumi picks up the GITHUB_TOKEN to authenticate. Your SDKs can be published to a private registry like Artifactory or Nexus. Hope this already helps a bit.

from pulumi.

MMartyn avatar MMartyn commented on May 29, 2024

there is a bit of friction in getting those providers downloaded where they are needed, such as the deployment agents

Can you provide more details on the friction?

Some of the friction is needing to have the consumers set up their GITHUB_TOKEN in order to pull the binaries and another would be needing to specify the providers explicitly in the stacks like so:

provider:
    type: pulumi:providers:foo
    defaultProvider: true
    options:
      version: "0.0.1"
      pluginDownloadURL: github://api.github.com/org/foo

from pulumi.

MMartyn avatar MMartyn commented on May 29, 2024

You can have private Github releases for the plugin binaries because Pulumi picks up the GITHUB_TOKEN to authenticate

Once, I set the download url on the provider, I see that the deployment agent was able to download the provider, so seems deployments are ok in this regard.

from pulumi.

ringods avatar ringods commented on May 29, 2024

@MMartyn the need to set the pluginDownloadUrl when using Pulumi YAML is needed for any non-Pulumi owned package, public and private.

https://www.pulumi.com/docs/languages-sdks/yaml/yaml-language-reference/#resource-options

This is not needed for regular language SDKs as this url is integrated in the generated SDKs, for instance:

https://github.com/pulumiverse/pulumi-unifi/blob/main/sdk/nodejs/package.json#L27

from pulumi.

MMartyn avatar MMartyn commented on May 29, 2024

The main pain point that pushed me to opening this was that it at first seemed like I would need to manually setup a GITHUB_TOKEN in the deployment agent for private providers to work. However, it ended up not being the case as the agent already had a token it could use to get the private provider (although it isn't clear to me how that mechanism works). So that said, the only remaining parts that I find a bit of a chore are ensuring users set up their GITHUB_TOKEN's and finding an appropriate place to host the SDKs.

Feel free to close this as my main issue ended up being fine.

from pulumi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.