Skip to content

Third-party workspace provisioners #4528

Open

Description

@hh

Conversation starter around having a second provisioner based on pulumi.

Activity

  1. hh commented on Oct 13, 2022

    @hh
    Author

    I'd like to understand a bit more about the provisioner interface and what's required from it.

  2. bpmct commented on Oct 13, 2022

    @bpmct
    Member

    I think it's unlikely for us to consider another provisioner before a major release (v2.0) which we plan to start work on at the end of the month.

    It'd be helpful to know your use case with Pulumi and where Terraform falls short.

    Perhaps we could also set up a sync to go over how our provisioner API works and how potentially could be extended if you're open to forking/submitting a PR?

  3. ammario commented on Oct 13, 2022

    @ammario
    Member

    We're considering making the provisioner layer extensible so people can create/bring third-party provisioners that Coder doesn't have to maintain.

  4. usrbinkat commented on Oct 17, 2022

    @usrbinkat

    +1 on Pulumi provider being a valuable effort.

    TF can be powerful, but as a DSL it doesn't expose the full native logic available with traditional programming languages, and it's features demand yet-another learning curve. Pulumi brings native programming language expressions to the table as a first-class feature.

  5. hh commented on Oct 17, 2022

    @hh
    Author

    The provisionersdk proto is here isn't terribly complex:
    https://github.com/coder/coder/blob/main/provisionersdk/proto/provisioner.proto

    And a quick brain dump from a side-convo with @deansheather :

    there are some parameters sent to the provisioner
    currently the terraform provisioner parses the state and converts it into our GRPC types and ships it off to coder
    a new provider would need coder metadata types to send to coder
    the stuff send back on complete is mainly a list of Resource (name, type, and agent details if any)

  6. github-actions commented on Dec 17, 2022

    @github-actions
    Contributor

    This issue is becoming stale. In order to keep the tracker readable and actionable, I'm going close to this issue in 7 days if there isn't more activity.

  7. deansheather commented on Dec 25, 2022

    @deansheather
    Collaborator

    Reopening as it's related to a recent ticket.

  8. changed the title [-]pulumi workspace provisioner[/-] [+]Pulumi workspace provisioner[/+] on Jan 4, 2023
  9. dirien commented on Feb 16, 2023

    @dirien

    Disclaimer: I work at Pulumi.

    Would be nice to have Pulumi support for provisioning too!

    Happy to help on this if needed.

  10. github-actions commented on May 18, 2023

    @github-actions
    Contributor

    This issue is becoming stale. In order to keep the tracker readable and actionable, I'm going close to this issue in 7 days if there isn't more activity.

  11. 4 remaining items

  12. ammario commented on Dec 4, 2023

    @ammario
    Member

    For the record, we're still interested in doing this but would like to work more closely with the Pulumi team on it. If anyone from there is interested, please reach out to me at ammar@ coder.com.

  13. removed
    staleThis issue is like stale bread.
    on Mar 26, 2024
  14. hh commented on Mar 26, 2024

    @hh
    Author

    Glad to see fresh eyes on this : 👀

  15. michaelbrewer commented on Jun 5, 2024

    @michaelbrewer
    Contributor

    @hh i would be great to also consider how to allow for caching, current terraform provider downloads modules for each stop and start adding 16 secs or more.

  16. removed
    waiting-for-infoThe issue creator is asked to provide more information.
    on Oct 1, 2024
  17. changed the title [-]Pulumi workspace provisioner[/-] [+]Third-party workspace provisioners[/+] on Dec 6, 2024
  18. bpmct commented on Sep 26, 2025

    @bpmct
    Member

    An update here: We recently added support for external workspaces, isn't exactly an additional provisioner but a way to attach externally provisioned workspaces to Coder!

    It's currently licensed as Premium, but if there is a strong community use case feel free to reach out.

    You can learn about external workspaces here: https://coder.com/docs/admin/templates/managing-templates/external-workspaces

  19. michaelbrewer commented on Sep 26, 2025

    @michaelbrewer
    Contributor

    The reason to support other provisioners would be performance and flexibility.

    Currently terraform adds 6-16 seconds delay to getting any workspace. Even pre-builds.

    Ideally the enter end to end flow would be a couple seconds. Making it feel nearly instant. Currently end to end can be 16 seconds and up to a minute when things are not bundled in the workspace.

  20. bpmct commented on Sep 26, 2025

    @bpmct
    Member

    Yeah. We will be working on near-instant workspaces soon, where workspaces can be provisioned and/or assigned without a TF operation

  21. hh commented on Sep 26, 2025

    @hh
    Author

    Keen on this! ^^

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions