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

"customizations" (and legacy extension, settings properties) not processed in features #125

Closed
Chuxel opened this issue Aug 12, 2022 · 1 comment · Fixed by #126
Closed
Assignees
Labels
bug Something isn't working important verified
Milestone

Comments

@Chuxel
Copy link
Member

Chuxel commented Aug 12, 2022

Running devcontainer read-configuration --include-features-configuration on a workspace with a devcontainer.json with features does not return customizations or the legacy extensions or settings properties (whether original or converted).

In the latest Remote - Containers release extensions are not installed and settings are not applied either.

They seem to be missing in several spots along with other properties from the spec (https://github.com/devcontainers/spec/blob/main/proposals/devcontainer-features.md#devcontainer-featurejson-properties).

Possible places where the issue could be coming from (if not all of them):

  • feature.containerEnv = featureJson.containerEnv;
    feature.buildArg = featureJson.buildArg;
    feature.options = featureJson.options;
    feature.installAfter = featureJson.installAfter;
    feature.init = featureJson.init;
    feature.privileged = featureJson.privileged;
    feature.capAdd = featureJson.capAdd;
    feature.securityOpt = featureJson.securityOpt;
    feature.mounts = featureJson.mounts;
    feature.entrypoint = featureJson.entrypoint;
  • feature.buildArg = seekedFeature?.buildArg;
    feature.options = seekedFeature?.options;
    feature.init = seekedFeature?.init;
    feature.privileged = seekedFeature?.privileged;
    feature.capAdd = seekedFeature?.capAdd;
    feature.securityOpt = seekedFeature?.securityOpt;
    feature.mounts = seekedFeature?.mounts;
    feature.entrypoint = seekedFeature?.entrypoint;
  • export interface Feature {
    id: string;
    version?: string;
    name: string;
    description?: string;
    cachePath?: string;
    internalVersion?: string; // set programmatically
    consecutiveId?: string;
    documentationURL?: string;
    licenseURL?: string;
    options?: Record<string, FeatureOption>;
    buildArg?: string; // old properties for temporary compatibility
    containerEnv?: Record<string, string>;
    mounts?: Mount[];
    init?: boolean;
    privileged?: boolean;
    capAdd?: string[];
    securityOpt?: string[];
    entrypoint?: string;
    installAfter?: string[];
    include?: string[];
    exclude?: string[];
    value: boolean | string | Record<string, boolean | string | undefined>; // set programmatically
    included: boolean; // set programmatically
    }
@Chuxel Chuxel added bug Something isn't working important labels Aug 12, 2022
@samruddhikhandale samruddhikhandale self-assigned this Aug 12, 2022
@Chuxel
Copy link
Member Author

Chuxel commented Aug 12, 2022

//cc @chrmarti @alexdima @bamurtaugh given the Remote - Containers impact.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working important verified
Projects
None yet
3 participants