gitpod/components/ide/jetbrains/image/create-supervisor-config.js

59 lines
1.4 KiB
JavaScript

// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
// Licensed under the GNU Affero General Public License (AGPL).
// See License.AGPL.txt in the project root for license information.
// @ts-check
const fs = require("fs");
const ideConfigs = [
{
name: "intellij",
displayName: "IntelliJ IDEA",
},
{
name: "goland",
displayName: "GoLand",
},
{
name: "pycharm",
displayName: "PyCharm",
},
{
name: "phpstorm",
displayName: "PhpStorm",
},
{
name: "rubymine",
displayName: "RubyMine",
},
{
name: "webstorm",
displayName: "WebStorm",
},
{
name: "rider",
displayName: "Rider",
},
{
name: "clion",
displayName: "CLion",
},
];
["stable", "latest"].forEach((qualifier) => {
ideConfigs.forEach((ideConfig) => {
const name = ideConfig.name + (qualifier === "stable" ? "" : "-" + qualifier);
const template = {
entrypoint: `/ide-desktop/jb-launcher`,
entrypointArgs: ["{DESKTOPIDEPORT}", ideConfig.name, `Open in ${ideConfig.displayName}`],
readinessProbe: {
type: "http",
http: {
path: "/status",
},
},
};
fs.writeFileSync(`supervisor-ide-config_${name}.json`, JSON.stringify(template, null, 2), "utf-8");
});
});