mirror of
https://github.com/podman-desktop/podman-desktop
synced 2026-04-21 17:47:22 +00:00
fixes https://github.com/containers/podman-desktop/issues/4938 Signed-off-by: Florent Benoit <fbenoit@redhat.com>
169 lines
6 KiB
JSON
169 lines
6 KiB
JSON
{
|
||
"name": "compose",
|
||
"displayName": "Compose",
|
||
"description": "Install Compose binary to work with Podman",
|
||
"version": "0.0.1",
|
||
"icon": "icon.png",
|
||
"publisher": "podman-desktop",
|
||
"license": "Apache-2.0",
|
||
"engines": {
|
||
"podman-desktop": "^0.0.1"
|
||
},
|
||
"main": "./dist/extension.js",
|
||
"contributes": {
|
||
"commands": [
|
||
{
|
||
"command": "compose.install",
|
||
"title": "Compose: Install..."
|
||
},
|
||
{
|
||
"command": "compose.checks",
|
||
"title": "Compose: Checks..."
|
||
},
|
||
{
|
||
"command": "compose.onboarding.checkComposeDownloaded",
|
||
"title": "Compose: Check Compose Downloaded"
|
||
},
|
||
{
|
||
"command": "compose.onboarding.downloadCompose",
|
||
"title": "Compose: Download Compose"
|
||
}
|
||
],
|
||
"onboarding": {
|
||
"title": "Compose Setup",
|
||
"enablement": "!compose.isComposeInstalledSystemWide",
|
||
"steps": [
|
||
{
|
||
"id": "checkComposeDownloaded",
|
||
"label": "Check Compose",
|
||
"title": "Checking for Compose installation",
|
||
"command": "compose.onboarding.checkComposeDownloaded",
|
||
"completionEvents": [
|
||
"onCommand:compose.onboarding.checkComposeDownloaded"
|
||
]
|
||
},
|
||
{
|
||
"id": "startComposeDownload",
|
||
"label": "Compose Download",
|
||
"title": "Compose Download",
|
||
"when": "onboardingContext:composeIsNotDownloaded == true",
|
||
"content": [
|
||
[
|
||
{
|
||
"value": "Compose support in Podman Desktop enables you to use Compose specification CLI implementations such as `podman compose` and `docker compose` with supported container engines."
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"value": "> ℹ️ Note: Want to use docker CLI tools such as: `docker compose up` or `docker-compose` with podman? Enable **Docker Compatibility** within Preferences.",
|
||
"highlight": true
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"value": "Compose will be downloaded in the next step (Version ${onboardingContext:composeDownloadVersion}). :link[Want to download a different version?]{command=compose.onboarding.promptUserForVersion}",
|
||
"when": "!onboardingContext:composeShowCustomDownloadDialog"
|
||
}
|
||
]
|
||
]
|
||
},
|
||
{
|
||
"id": "downloadComposeView",
|
||
"title": "Downloading Compose ${onboardingContext:composeDownloadVersion}",
|
||
"description": "Downloading the binary.\n\nOnce downloaded, the next step will install Compose system-wide.",
|
||
"when": "onboardingContext:composeIsNotDownloaded == true",
|
||
"command": "compose.onboarding.downloadCompose",
|
||
"completionEvents": [
|
||
"onCommand:compose.onboarding.downloadCompose"
|
||
]
|
||
},
|
||
{
|
||
"id": "composeFailedDownload",
|
||
"title": "Failed Downloading Compose",
|
||
"when": "onboardingContext:composeIsNotDownloaded == true",
|
||
"state": "failed"
|
||
},
|
||
{
|
||
"id": "composeDownloaded",
|
||
"title": "Compose Successfully Downloaded",
|
||
"when": "onboardingContext:composeIsNotDownloaded == false",
|
||
"content": [
|
||
[
|
||
{
|
||
"value": "Compose has been successfully downloaded! In order for `podman compose` (podman CLI v4.7.0+) to work correctly, it is required for Compose to be installed system-wide for `podman` to access the binary.\n\nThe next step will install Compose system-wide. **You will be prompted for system privileges when enabling this.**"
|
||
}
|
||
]
|
||
]
|
||
},
|
||
{
|
||
"id": "installComposeSystemWide",
|
||
"title": "Install Compose",
|
||
"description": "Installing the binary system-wide.\n\n You may be prompted for elevated system privileges.",
|
||
"when": "compose.isComposeInstalledSystemWide == false",
|
||
"command": "compose.onboarding.installSystemWide",
|
||
"completionEvents": [
|
||
"onCommand:compose.onboarding.installSystemWide"
|
||
]
|
||
},
|
||
{
|
||
"id": "composeFailedInstalledSystemWide",
|
||
"title": "Failed Installing Compose",
|
||
"when": "compose.isComposeInstalledSystemWide == false",
|
||
"state": "failed"
|
||
},
|
||
{
|
||
"id": "composeInstalledSystemWide",
|
||
"title": "Compose Successfully Installed",
|
||
"when": "compose.isComposeInstalledSystemWide == true",
|
||
"state": "completed",
|
||
"content": [
|
||
[
|
||
{
|
||
"value": "Compose has been successfully installed system-wide!"
|
||
}
|
||
],
|
||
[
|
||
{
|
||
"value": "#### How to use Compose\nRun `podman compose up` (podman CLI v4.7.0+) or `docker-compose` in a directory with a `compose.yaml`. Podman Desktop will automatically detect the Compose deployment and show it in the container list.'\n\n`$ podman compose up`",
|
||
"highlight": true
|
||
}
|
||
]
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"configuration": {
|
||
"title": "Compose",
|
||
"properties": {
|
||
"compose.binary.installComposeSystemWide": {
|
||
"type": "boolean",
|
||
"default": false,
|
||
"scope": [
|
||
"DEFAULT",
|
||
"Onboarding"
|
||
],
|
||
"hidden": true,
|
||
"description": "Install system-wide instead of just your user directory, so compose can be accessed on the command line. Note: You may be prompted for elevated system privileges when enabling this."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"scripts": {
|
||
"build": "vite build && node ./scripts/build.js",
|
||
"test": "vitest run --coverage",
|
||
"test:watch": "vitest watch --coverage",
|
||
"watch": "vite build --watch"
|
||
},
|
||
"dependencies": {
|
||
"@octokit/rest": "^20.0.2",
|
||
"mustache": "^4.2.0",
|
||
"shell-path": "^3.0.0"
|
||
},
|
||
"devDependencies": {
|
||
"adm-zip": "^0.5.10",
|
||
"@podman-desktop/api": "^0.0.1",
|
||
"mkdirp": "^3.0.1",
|
||
"vite": "^4.5.0",
|
||
"vitest": "^0.34.6"
|
||
}
|
||
}
|