Skip to content

Distributing feature templates #71

Description

@joshspicer

breaking out the distribution of 'dev container templates' #7.

Activity

  1. added
    proposalStill under discussion, collecting feedback
    on Aug 4, 2022
  2. added
    finalizationProposal to be made part of the spec
    and removed
    proposalStill under discussion, collecting feedback
    on Oct 12, 2022
  3. Chuxel commented on Jan 24, 2023

    @Chuxel
    Member

    This has been implemented and integrated in the reference implmentation! Should we move the docs out of proposed at this point?

  4. aservedio commented on Jan 29, 2023

    @aservedio

    Hello! I have a question that is similar to an already closed issue above that says this issue here resolves, but reading the proposals above and the entirety of containers.dev I am unable to find the answer.

    If you create your own devcontainer template, is there any way for users or yourself to consume them beside adding them to this specific repo/file?

    Maybe some VSCode setting where you can add the your own OCI collections created with the devcontainer cli tool?

    Either way, unless I'm mistaken, none of that is documented anywhere. If that's intentional, it should be mentioned somewhere that you should not author a devcontainer template if you don't intend to add it to that collection yaml list above otherwise you will not be able to use them.

    Thanks

  5. joshspicer commented on Jan 30, 2023

    @joshspicer
    ContributorAuthor

    Hey Anthony Servedio (@aservedio)! That functionality is not clearly documented, but indeed built into the CLI as the templates apply command. We use the CLI in the extension to directly apply the template.

    image

    As an example applying the debian template

    image

  6. robinWongM commented on Feb 3, 2023

    @robinWongM

    Hey Anthony Servedio (@aservedio)! That functionality is not clearly documented, but indeed built into the CLI as the templates apply command. We use the CLI in the extension to directly apply the template.

    image

    As an example applying the debian template

    image

    Will VS Code Dev Containers extension gain the same functionality?

  7. Chuxel commented on Feb 3, 2023

    @Chuxel
    Member

    joshspicer Samruddhi Khandale (@samruddhikhandale) Brigit Murtaugh (@bamurtaugh) Christof Marti (@chrmarti) Sounds like the request here is more for a private index. We've had this request for Features as well, but there you can at least directly reference.

    Do we have an issue tracking this already? If not, we should probably create one. Maybe in the CLI repo?

  8. chrmarti commented on Feb 3, 2023

    @chrmarti
    Contributor

    microsoft/vscode-remote-release#7960 ask for supporting a private index for features.

  9. aacebedo commented on Sep 22, 2023

    @aacebedo

    Seems private index is dead at the moment right? That's sad it would have been of great use.

  10. bamurtaugh commented on Oct 3, 2023

    @bamurtaugh
    Member

    Alexandre Acebedo (@aacebedo) apologies for the confusion! microsoft/vscode-remote-release#7960 auto-closed, but we're still exploring the idea of a private index. Let's use this issue to track it on a spec-wide level.

  11. Md0135 commented on Jan 10, 2024

    @Md0135

    Türkiye

  12. tclarke commented on Jan 28, 2024

    @tclarke

    I'd also like to customize the wizard to use additional feature and template indicies. I've got a git repo setup with associated OCI images for my features and templates and I can use the devcontainer CLI to apply them. I'd like to either be able to have a vscode setting to set the indices to search in the wizard. An alternate/additional useful feature would be to just enter a template or feature OCI image name instead of having to choose just from the index.

  13. zisuu commented on Jan 22, 2025

    @zisuu

    @aacebedo apologies for the confusion! microsoft/vscode-remote-release#7960 auto-closed, but we're still exploring the idea of a private index. Let's use this issue to track it on a spec-wide level.

    Any news about this? Or is this still not planned to implement the template discovery for private/internal OCI registries?

  14. zisuu commented on Jan 24, 2025

    @zisuu

    whats this abt
    …

    On Thu, Jan 23, 2025, 3:17 AM Zisuu @.***> wrote:
    @aacebedo https://github.com/aacebedo apologies for the confusion!
    microsoft/vscode-remote-release#7960
    <microsoft/vscode-remote-release#7960>
    auto-closed, but we're still exploring the idea of a private index. Let's
    use this issue to track it on a spec-wide level.

    Any news abou this? Or is this still not planned to implement the template
    discovery for private/internal OCI registries?

    —
    Reply to this email directly, view it on GitHub
    <#71 (comment)>,
    or unsubscribe
    https://github.com/notifications/unsubscribe-auth/BNEJ7NJLBXY7YCPTS4V5QWD2MAGWDAVCNFSM6AAAAABVV5OOQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMBYGMZTKNJRGQ
    .
    You are receiving this because you are subscribed to this thread.Message
    ID: @.***>

    This is about the fact and problem that self-made Dev Container Templates currently can only be discovered if they are pushed to a publicly available OCI registry and then also added to this public index https://github.com/devcontainers/devcontainers.github.io/blob/gh-pages/_data/collection-index.yml which then populates all templates here: https://containers.dev/templates

    But how should a company distribute its own dev container templates (which only contain internal self-made dev container features)? Probably, it does not make sense to add a dev container template to the public index with an internal URL?

    Sure, the company could just use the devcontainer cli to apply the templates, BUT this is very inconvenient. The way VSCode applies the templates with the interactive UI prompts is what makes using templates interesting and brings all the value to it. I wish we could just tell VSCode to look at a custom URL where we host our own templates index file to distribute our own, internal-only dev container templates.

    Btw you might ask, "Why do they build their own templates and features?!" Well the main reason is that this is the only way we can use them because we work in an organisation where you need to 1) use the internal corporate proxy with internal corporate certificates and 2) use the internal corporate Artifactory (JFrog) mirrors to download binaries, as downloading binaries from public internet directly is not possible/allowed. So we had to re-write all dev container features and inject our own certificates and Artifactory mirrors in order to use dev containers. But as it seems we are now stuck with distributing our dev container templates, because VSCode only looks at the public index of templates. 👎

    I hope this gives enough context about the problem and makes clear what all the discussions were about? Let me know if things are still unclear?

  15. chrmarti commented on Jan 24, 2025

    @chrmarti
    Contributor

    FYI: When VS Code asks you to pick a template from the list, you can also enter an id like ghcr.io/devcontainers/templates/alpine:3.2.2 and it will offer to use that directly, also when that is not in the public index:

    Image
  16. zisuu commented on Jan 24, 2025

    @zisuu

    Christof Marti (@chrmarti) awesome I was not aware of that. The problem was solved for me then. 👏🚀

  17. mcaulifn commented on Nov 17, 2025

    @mcaulifn

    FYI: When VS Code asks you to pick a template from the list, you can also enter an id like ghcr.io/devcontainers/templates/alpine:3.2.2 and it will offer to use that directly, also when that is not in the public index:

    Image

    While this helps with at least using templates, it does not help with discovery. I see microsoft/vscode-remote-release#7960 is closed. What is the plan for 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

    finalizationProposal to be made part of the spec

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions