From effc6f84e80aafe41a5780c0cea45c9686343cd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Bj=C3=B6rklund?= Date: Mon, 30 Dec 2024 11:37:17 +0100 Subject: [PATCH] fix: update the markdownlint targets (#10487) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: fix lint markdown style issues Signed-off-by: Anders F Björklund --- .markdownlint-cli2.yaml | 4 + .markdownlint.yaml | 4 + package.json | 2 +- packages/extension-api/src/extension-api.d.ts | 2 +- pnpm-lock.yaml | 12 + ...2-11-17-develop-podman-using-codespaces.md | 3 +- ...024-08-01-using-rhel-wsl-podman-machine.md | 6 +- website/blog/2024-08-08-release-1.12.md | 8 +- website/blog/2024-10-05-kubernetes-blog.md | 35 +-- .../blog/2024-10-29-creating-an-extension.md | 6 +- website/blog/2024-10-31-release-1.14.md | 21 +- .../blog/2024-11-14-podman-desktop-cncf.md | 9 +- website/blog/2024-11-26-ai-lab-first-app.md | 23 +- website/blog/2024-12-12-release-1.15.md | 208 +++++++++--------- website/blog/2024-12-16-cncf-projects.md | 11 +- website/docs/discover-podman-desktop.md | 6 +- website/docs/extensions/index.md | 2 +- .../extensions/install/using-extension.md | 8 +- website/docs/extensions/templates/index.md | 6 +- website/docs/installation/macos-install.md | 3 +- .../installation/windows-install/index.md | 7 +- website/docs/kind/installing-extension.md | 4 +- .../kubernetes/applying-a-yaml-manifest.md | 6 +- .../configuring-editing-kube-object.md | 2 +- .../deploying-a-pod-to-kubernetes.md | 10 +- website/docs/kubernetes/port-forwarding.md | 4 +- website/docs/migrating-from-docker/index.md | 5 +- ...ng-the-docker_host-environment-variable.md | 15 +- website/docs/minikube/installing-extension.md | 3 +- .../docs/podman/creating-a-podman-machine.md | 4 +- website/docs/podman/gpu.md | 12 +- website/docs/podman/podman-remote.md | 2 +- website/docs/troubleshooting/access-logs.md | 5 +- .../troubleshooting-extension-issues.md | 4 +- .../troubleshooting-podman-on-macos.md | 8 +- .../troubleshooting-podman-on-windows.md | 9 +- .../troubleshooting/troubleshooting-podman.md | 11 +- website/package.json | 5 +- .../deploying-a-kubernetes-application.md | 2 +- 39 files changed, 267 insertions(+), 230 deletions(-) create mode 100644 .markdownlint-cli2.yaml diff --git a/.markdownlint-cli2.yaml b/.markdownlint-cli2.yaml new file mode 100644 index 00000000000..5120c0a6b84 --- /dev/null +++ b/.markdownlint-cli2.yaml @@ -0,0 +1,4 @@ +# only show filenames, at the top level +outputFormatters: + - - markdownlint-cli2-formatter-summarize + - byFile: true diff --git a/.markdownlint.yaml b/.markdownlint.yaml index c60ccfdff88..cad79dc945a 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -8,5 +8,9 @@ MD014: false MD024: false # We have multiple top-level headings in the same document to set different page title and navigation title: MD025: false +# Allow actual numbers in ordered lists: +MD029: false +# Allow spaces after marker in ordered lists: +MD030: false # We allow inline HTML (icon): MD033: false diff --git a/package.json b/package.json index 5af0e830f1f..c0cc8469cac 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "format:check": "biome format", "format:fix": "biome format --write", "markdownlint:check": "markdownlint-cli2 \"website/**/*.md\" \"#website/node_modules\" \"#website/api\"", - "markdownlint:fix": "markdownlint-cli2-fix \"website/**/*.md\" \"#website/node_modules\"", + "markdownlint:fix": "markdownlint-cli2 --fix \"website/**/*.md\" \"#website/node_modules\"", "lint:clean": "rimraf .eslintcache", "lint:fix": "node --max-old-space-size=6144 node_modules/eslint/bin/eslint.js --cache . --cache-strategy content --fix", "lint:check": "node --max-old-space-size=6144 node_modules/eslint/bin/eslint.js --cache . --cache-strategy content", diff --git a/packages/extension-api/src/extension-api.d.ts b/packages/extension-api/src/extension-api.d.ts index 2907e1163f0..2ede9d3a509 100644 --- a/packages/extension-api/src/extension-api.d.ts +++ b/packages/extension-api/src/extension-api.d.ts @@ -3122,7 +3122,7 @@ declare module '@podman-desktop/api' { * * If the option is not set, the host's native OS and Architecture are used to look up the image in the image cache. However, if no platform is passed and the given image does exist in the local image cache, but its OS or architecture does not match, the container is created with the available image, and a warning is added to the `Warnings` field in the response, for example; * - * ``` + * ```text * WARNING: The requested image's platform (linux/arm64/v8) does not * match the detected host platform (linux/amd64) and no * specific platform was requested diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7d707137f41..ae64590fe27 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -986,6 +986,9 @@ importers: markdownlint-cli2: specifier: ^0.17.0 version: 0.17.0 + markdownlint-cli2-formatter-summarize: + specifier: ^0.0.7 + version: 0.0.7(markdownlint-cli2@0.17.0) postcss: specifier: ^8.4.49 version: 8.4.49 @@ -7872,6 +7875,11 @@ packages: peerDependencies: markdownlint-cli2: '>=0.0.4' + markdownlint-cli2-formatter-summarize@0.0.7: + resolution: {integrity: sha512-WYIuEen9A7B+OkTeAF8peRWysHKYUGYZQ8EIGAIXUm21S+UnPwxgz1EgUDpkvGlcbD/XS4474v8cnOI5so2MvQ==} + peerDependencies: + markdownlint-cli2: '>=0.0.4' + markdownlint-cli2@0.17.0: resolution: {integrity: sha512-8Xz7wkkkV4wJTf+pvryU3J/fT3BZWD3ZykcjYBR0GuH0GHvrCbswaCdurbuUuAPDGFZy4cxBGYCJSAOW8jM4aQ==} engines: {node: '>=18'} @@ -20044,6 +20052,10 @@ snapshots: dependencies: markdownlint-cli2: 0.17.0 + markdownlint-cli2-formatter-summarize@0.0.7(markdownlint-cli2@0.17.0): + dependencies: + markdownlint-cli2: 0.17.0 + markdownlint-cli2@0.17.0: dependencies: globby: 14.0.2 diff --git a/website/blog/2022-11-17-develop-podman-using-codespaces.md b/website/blog/2022-11-17-develop-podman-using-codespaces.md index b26e61f3d37..ca996bae36e 100644 --- a/website/blog/2022-11-17-develop-podman-using-codespaces.md +++ b/website/blog/2022-11-17-develop-podman-using-codespaces.md @@ -144,8 +144,7 @@ We need to reuse the image of the previous step. For that let's use the build se }, ``` -In order to avoid to redo all the build steps each time we open a workspace using this dev container, we published the image to quay.io at [quay.io/podman-desktop/devcontainer-parent:next -](https://quay.io/repository/podman-desktop/devcontainer-parent?tab=tags&tag=next). This parent image is not changing much so it's better to use is as a parent one. +In order to avoid to redo all the build steps each time we open a workspace using this dev container, we published the image to quay.io at [quay.io/podman-desktop/devcontainer-parent:next](https://quay.io/repository/podman-desktop/devcontainer-parent?tab=tags&tag=next). This parent image is not changing much so it's better to use is as a parent one. Inside `.devcontainer` directory there is a `.parent` directory with everything related to the parent image. diff --git a/website/blog/2024-08-01-using-rhel-wsl-podman-machine.md b/website/blog/2024-08-01-using-rhel-wsl-podman-machine.md index 9dcde3c2a4a..1c46abcc08e 100644 --- a/website/blog/2024-08-01-using-rhel-wsl-podman-machine.md +++ b/website/blog/2024-08-01-using-rhel-wsl-podman-machine.md @@ -85,8 +85,8 @@ Click **Add repositories** On the **Add custom repositories** page, select the following: - In the **Name** list, enter EPEL 9. -- In the **URL** field, enter https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/ -- In the **GPG key** field, enter https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9 +- In the **URL** field, enter `https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/` +- In the **GPG key** field, enter `https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9` - Click **Save**. Close the tab and switch back to the previous one @@ -165,4 +165,4 @@ Start the image by clicking on the **Run image** icon ![images list](img/using-rhel-wsl-podman-machine\rhel-wsl-podman-machine15.png) -Once the container is started, the Apache server can be accessed on http://localhost:9000 +Once the container is started, the Apache server can be accessed on [localhost:9000](http://localhost:9000) diff --git a/website/blog/2024-08-08-release-1.12.md b/website/blog/2024-08-08-release-1.12.md index fbea4c5c16a..0841456aa2a 100644 --- a/website/blog/2024-08-08-release-1.12.md +++ b/website/blog/2024-08-08-release-1.12.md @@ -58,11 +58,11 @@ Which will output information regarding your GPU: ```sh - GPU id = 0 (Virtio-GPU Venus (Apple M1 Pro)) - GPU id = 1 (llvmpipe (LLVM 17.0.6, 128 bits)) + GPU id = 0 (Virtio-GPU Venus (Apple M1 Pro)) + GPU id = 1 (llvmpipe (LLVM 17.0.6, 128 bits)) GPU0: - deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU - deviceName = Virtio-GPU Venus (Apple M1 Pro) + deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU + deviceName = Virtio-GPU Venus (Apple M1 Pro) GPU1: ``` diff --git a/website/blog/2024-10-05-kubernetes-blog.md b/website/blog/2024-10-05-kubernetes-blog.md index 1d4ef47a434..854ec114a9a 100644 --- a/website/blog/2024-10-05-kubernetes-blog.md +++ b/website/blog/2024-10-05-kubernetes-blog.md @@ -12,25 +12,27 @@ hide_table_of_contents: false The integration of Podman Desktop with Kubernetes helps you to run your application on a Kubernetes cluster, such as Kind or Minikube. This blog covers the following aspects: + - Build a containerized application from registry images - Create a pod - Set up a local Kubernetes cluster - Deploy the application to Kubernetes - Verify the running service -## Building a containerized application +## Building a containerized application With this blog, you will build a containerized application that uses: + - a back-end Redis server container - a front-end Python application container To do so, you can pull the relevant images from the `quay.io` registry. 1. Go to the **Images** component page. -2. Click **Pull**. +2. Click **Pull**. ![pull from registry](img/building-a-kubernetes-application/pulling-from-registry.png) 3. Start the first container: - 1. Enter the image name to pull from a registry. For example, `quay.io/podman-desktop-demo/podify-demo-backend`. + 1. Enter the image name to pull from a registry. For example, `quay.io/podman-desktop-demo/podify-demo-backend`. ![enter image name](img/building-a-kubernetes-application/enter-image-name.png) 2. Click **Pull image**. A download complete notification opens. 3. Click **Done**. @@ -43,12 +45,12 @@ To do so, you can pull the relevant images from the `quay.io` registry. ![view Logs tab](img/building-a-kubernetes-application/redis-running-in-logs.png) 4. Start the second container: - 1. Enter the image name to pull from a registry. For example, `quay.io/podman-desktop-demo/podify-demo-frontend`. + 1. Enter the image name to pull from a registry. For example, `quay.io/podman-desktop-demo/podify-demo-frontend`. 2. Click **Pull image** and then **Done**. 3. Click the `Run Image` icon corresponding to the new image added. 4. Enter the container name `python-app`. ![enter image name](img/building-a-kubernetes-application/python-app-image.png) - + :::note If the default port is already in use, you can specify a different port in the `Port mapping` field. @@ -59,11 +61,11 @@ To do so, you can pull the relevant images from the `quay.io` registry. :::note - You can find the IP address in the **Inspect** tab of the `redis-server` Container Details page. + You can find the IP address in the **Inspect** tab of the `redis-server` Container Details page. ::: - 6. Click **Start Container**. + 6. Click **Start Container**. ![start a front-end container](img/building-a-kubernetes-application/starting-a-frontend-container.png) 7. Click the **Logs** tab to view that the application is running on port `5000`. ![front-end app running](img/building-a-kubernetes-application/frontend-app-running.png) @@ -71,8 +73,8 @@ To do so, you can pull the relevant images from the `quay.io` registry. 9. View the running front-end application. ![running front-end application](img/building-a-kubernetes-application/running-application-locally.png) - ## Creating a pod + You can use both the containers to create a pod. This way both the front-end and back end container applications can share resources, such as storage and network. **_Pod creation with existing containers_** @@ -87,10 +89,9 @@ You can use both the containers to create a pod. This way both the front-end and 6. Click the name of the pod and then click the **Summary** tab to view its summary. ![viewing pod details](img/building-a-kubernetes-application/viewing-pod-details.png) - **_Alternative: Pod creation with Kubernetes YAML_** -You can generate a Kubernetes manifest for any existing pod or container and use it to create a local Kubernetes YAML file. Then, you can customize that file and create a pod from it. +You can generate a Kubernetes manifest for any existing pod or container and use it to create a local Kubernetes YAML file. Then, you can customize that file and create a pod from it. At the time of pod creation, you can select a runtime to indicate whether you want to run the pod on a Podman engine or a Kubernetes cluster. Based on the selection, you get to see the newly created pod running in that environment on the Pods component page. @@ -109,16 +110,17 @@ The following procedure creates a pod that runs on a Podman engine. ![play kubernetes yaml](img/building-a-kubernetes-application/play-kubernetes-yaml.png) 9. Select the YAML file from your machine. 10. Check that the **Runtime** field is set to `Podman container engine`. -11. Click **Play** and then **Done**. +11. Click **Play** and then **Done**. 13. View the newly created pod on the same page. After creating the pod, set up a local Kubernetes cluster to deploy the pod. ## Setting up a local Kubernetes cluster -You can set up a local Kubernetes cluster. Once the cluster is connected and running, you can deploy your application on it. +You can set up a local Kubernetes cluster. Once the cluster is connected and running, you can deploy your application on it. Based on your preference, use the Kind or Minikube extension: + 1. [Install the extension](/docs/extensions/install) from the Extensions catalog. 2. Create a Kubernetes cluster. See [Kind cluster creation](/docs/kind/installing-extension) or [Minikube cluster creation](/docs/minikube/installing-extension). @@ -132,20 +134,19 @@ You can deploy the application pod to a Kubernetes cluster that has an active co 2. Go to the **Pods** component page. 3. Click the overflow menu icon corresponding to the pod. ![overflow menu icon](img/building-a-kubernetes-application/overflow-menu-icon.png) -4. Select the **Deploy to Kubernetes** option from the dropdown list. +4. Select the **Deploy to Kubernetes** option from the dropdown list. 5. Select the checkbox to expose the service locally using the ingress controller. ![expose the service locally](img/building-a-kubernetes-application/expose-the-service-locally.png) :::note - When you configure custom port mapping while running an image, you get the option to select an Ingress host port from the dropdown list. + When you configure custom port mapping while running an image, you get the option to select an Ingress host port from the dropdown list. ![ingress-host-port](img/building-a-kubernetes-application/ingress-host-port.png) - Otherwise, you do not see the option. + Otherwise, you do not see the option. ::: 6. Click **Deploy** and then **Done**. - ## Verifying the running service 1. Go the **Kubernetes** component page. @@ -157,6 +158,6 @@ You can deploy the application pod to a Kubernetes cluster that has an active co :::note - Use the **Apply YAML** button to directly apply a Kubernetes YAML file to create a resource. + Use the **Apply YAML** button to directly apply a Kubernetes YAML file to create a resource. ::: diff --git a/website/blog/2024-10-29-creating-an-extension.md b/website/blog/2024-10-29-creating-an-extension.md index e669701f46b..fe2105b7b65 100644 --- a/website/blog/2024-10-29-creating-an-extension.md +++ b/website/blog/2024-10-29-creating-an-extension.md @@ -11,7 +11,7 @@ hide_table_of_contents: false # How to create your first extension -Extensions are a powerful tool to customize and extend the functionality of Podman Desktop. Whether you want to add new container management features, streamline current workflows, or create custom UI elements specific to your tech stack, building extensions allows you to tailor the Podman Desktop experience to your specific needs. +Extensions are a powerful tool to customize and extend the functionality of Podman Desktop. Whether you want to add new container management features, streamline current workflows, or create custom UI elements specific to your tech stack, building extensions allows you to tailor the Podman Desktop experience to your specific needs. In this guide, we'll introduce how you can build your own Podman Desktop extension, with links to detailed documentation that covers each part of the process. @@ -53,7 +53,7 @@ Below is an example of how the [bootc extension](https://github.com/containers/p ## Adding and configuring commands -Commands are the backbone of most extensions, allowing users to interact with the application and trigger specific actions. +Commands are the backbone of most extensions, allowing users to interact with the application and trigger specific actions. If you need to define and register custom commands, the **[Commands](/docs/extensions/developing/commands)** guide will show you how to create commands that respond to user actions or input, and tie them into your extension’s workflow. @@ -87,4 +87,4 @@ Creating an extension opens up endless possibilities to customize Podman Desktop It is also easy to package and publish your extension for others to use. -Have fun exploring our documentation on how to create an extension and happy coding! \ No newline at end of file +Have fun exploring our documentation on how to create an extension and happy coding! diff --git a/website/blog/2024-10-31-release-1.14.md b/website/blog/2024-10-31-release-1.14.md index 752ade0d14f..c2c507d7dcf 100644 --- a/website/blog/2024-10-31-release-1.14.md +++ b/website/blog/2024-10-31-release-1.14.md @@ -18,7 +18,7 @@ Podman Desktop 1.14 Release! 🎉 Podman Desktop 1.14 is now available. [Click here to download it](/downloads)! -This release includes: +This release includes: - **Kubernetes improvements with a new dashboard**: A new landing screen for Kubernetes has been added with UI changes that gives an overview of your entire cluster. - **Port forwarding for pods**: This new feature allows users to configure port forwarding in their Kubernetes environment. @@ -28,7 +28,6 @@ This release includes: ### Kubernetes improvements - ### Kubernetes improvements with a new dashboard We have updated the Kubernetes dashboard page to provide a quick overview of a user's Kubernetes cluster, alongside with multiple changes to Kubernetes backend. @@ -37,7 +36,7 @@ We have updated the Kubernetes dashboard page to provide a quick overview of a u ### Port forwarding for pods -Podman Desktop now supports port forwarding for pods in Kubernetes environments. Port forwarding can be done from the pod detail page and then visible in the Port forwarding page. +Podman Desktop now supports port forwarding for pods in Kubernetes environments. Port forwarding can be done from the pod detail page and then visible in the Port forwarding page. ![port forwarding](img/podman-desktop-release-1.14/port_forwarding.png) @@ -67,11 +66,13 @@ Get the latest release from the [Downloads](/downloads) section of the website a ## Detailed release changelog ### ci 🔁 + - chore: validate also the title of the PR to be semantic by @benoitf in [#9438](https://github.com/containers/podman-desktop/pull/9438) - chore: allow merge commits in semantic check by @benoitf in [#9581](https://github.com/containers/podman-desktop/pull/9581) - fix: publish @podman-extension/api package by @dgolovin in [#9061](https://github.com/containers/podman-desktop/pull/9061) ### dashboard 📊 + - feat(dashboard): new guides added to learning center by @slemeur in [#9638](https://github.com/containers/podman-desktop/pull/9638) - chore: redirect to dashboard when clicking on release notes button in statusbar by @SoniaSandler in [#9623](https://github.com/containers/podman-desktop/pull/9623) - feat: navigation to the dashboard by @deboer-tim in [#9333](https://github.com/containers/podman-desktop/pull/9333) @@ -80,6 +81,7 @@ Get the latest release from the [Downloads](/downloads) section of the website a - fix: next version check by @SoniaSandler in [#9595](https://github.com/containers/podman-desktop/pull/9595) ### documentation 📖 + - docs: add kind video by @cdrage in [#9444](https://github.com/containers/podman-desktop/pull/9444) - docs: add minikube video by @cdrage in [#9391](https://github.com/containers/podman-desktop/pull/9391) - docs: add 1.13 release notes by @SoniaSandler in [#9261](https://github.com/containers/podman-desktop/pull/9261) @@ -87,9 +89,11 @@ Get the latest release from the [Downloads](/downloads) section of the website a - chore: update DD extension image by @deboer-tim in [#9346](https://github.com/containers/podman-desktop/pull/9346) ### extension/kind 🍾 + - fix: add implementation for kind update by @dgolovin in [#9258](https://github.com/containers/podman-desktop/pull/9258) ### extension/podman 🦭 + - fix: cannot create machine with WSL provider without administrator ri… by @jeffmaury in [#9644](https://github.com/containers/podman-desktop/pull/9644) - chore: fix version of the podman extension by @benoitf in [#9567](https://github.com/containers/podman-desktop/pull/9567) - chore: fix the release workflow to properly update podman ext version by @benoitf in [#9566](https://github.com/containers/podman-desktop/pull/9566) @@ -99,12 +103,14 @@ Get the latest release from the [Downloads](/downloads) section of the website a - feat: provide ability to easily get a shell in a machine - backend changes - additional changes by @gastoner in [#9550](https://github.com/containers/podman-desktop/pull/9550) ### extensions 🧩 + - fix: add implementation for compose update by @dgolovin in [#9402](https://github.com/containers/podman-desktop/pull/9402) - fix: check if newly installed extensions dependencies are already installed by @SoniaSandler in [#9596](https://github.com/containers/podman-desktop/pull/9596) - chore: prefer method of the extension over system to get OS by @benoitf in [#9612](https://github.com/containers/podman-desktop/pull/9612) - fix: update embedded image extension by @benoitf in [#9547](https://github.com/containers/podman-desktop/pull/9547) ### install 🎁 + - chore: fix broken pnpm lock file by @benoitf in [#9437](https://github.com/containers/podman-desktop/pull/9437) - chore: update electron-builder to v25.1.8 by @benoitf in [#9421](https://github.com/containers/podman-desktop/pull/9421) - fix: avoid to have proxy arguments when calling the status bar entry command by @benoitf in [#9394](https://github.com/containers/podman-desktop/pull/9394) @@ -123,6 +129,7 @@ Get the latest release from the [Downloads](/downloads) section of the website a - fix: replace node-fetch by native Node.js fetch by @jeffmaury in [#9489](https://github.com/containers/podman-desktop/pull/9489) ### Kubernetes ☸️ + - feat: initial Kubernetes dashboard by @deboer-tim in [#9588](https://github.com/containers/podman-desktop/pull/9588) - feat(ui): adding KubernetesCurrentContextPortForwards store by @axel7083 in [#9642](https://github.com/containers/podman-desktop/pull/9642) - fix: add Kubernetes port forward IPCs and events by @jeffmaury in [#9505](https://github.com/containers/podman-desktop/pull/9505) @@ -141,17 +148,21 @@ Get the latest release from the [Downloads](/downloads) section of the website a - refactor: context checking state as derived store by @feloy in [#9504](https://github.com/containers/podman-desktop/pull/9504) ### podman-upstream 🦭 + - feat: update podman to v5.2.5 by @benoitf in [#9563](https://github.com/containers/podman-desktop/pull/9563) ### settings ⚙️ + - fix: incorrect system proxy format on Windows by @Indekkusu545 in [#9626](https://github.com/containers/podman-desktop/pull/9626) - chore: introduce a new property scope for docker compatibility by @benoitf in [#9604](https://github.com/containers/podman-desktop/pull/9604) - chore: properties can be part of a group by @benoitf in [#9602](https://github.com/containers/podman-desktop/pull/9602) ### telemetry 📈 + - chore: remove podmanListImages telemetry by @deboer-tim in [#9466](https://github.com/containers/podman-desktop/pull/9466) ### tests 🚦 + - chore(test): initial draft for test.step by @cbr7 in [#9613](https://github.com/containers/podman-desktop/pull/9613) - chore: refactor test to use a mock of the utility by @benoitf in [#9611](https://github.com/containers/podman-desktop/pull/9611) - chore(test): minor fixes and robustness improvements by @cbr7 in [#9609](https://github.com/containers/podman-desktop/pull/9609) @@ -169,8 +180,8 @@ Get the latest release from the [Downloads](/downloads) section of the website a - fix: button name in update-install E2E test by @SoniaSandler in [#9509](https://github.com/containers/podman-desktop/pull/9509) - fix: suppress `HTMLCanvasElement.prototype.getContext not implemented` error by @dgolovin in [#9287](https://github.com/containers/podman-desktop/pull/9287) - ### ui + - chore: change no update release notes button in status bar by @SoniaSandler in [#9621](https://github.com/containers/podman-desktop/pull/9621) - fix: invalid condition for the display of the button by @benoitf in [#9618](https://github.com/containers/podman-desktop/pull/9618) - feat: display a spinner when connectivity is being checked in Kubernetes pages by @feloy in [#9535](https://github.com/containers/podman-desktop/pull/9535) @@ -208,12 +219,14 @@ Get the latest release from the [Downloads](/downloads) section of the website a - feat: display deployments and nodes conditions in a table by @feloy in [#9548](https://github.com/containers/podman-desktop/pull/9548) ### website 🌐 + - docs(website): added a troubleshooting section by @shipsing in [#9459](https://github.com/containers/podman-desktop/pull/9459) - docs(website): updated the screenshot by @shipsing in [#9316](https://github.com/containers/podman-desktop/pull/9316) - docs(website): created a discover Podman Desktop page by @shipsing in [#9315](https://github.com/containers/podman-desktop/pull/9315) - docs(website): added a tutorial for interacting with a database server by @shipsing in [#9238](https://github.com/containers/podman-desktop/pull/9238) ### other + - chore: include 1.13.2 and 1.13.3 in bug template by @benoitf in [#9615](https://github.com/containers/podman-desktop/pull/9615) - fix: skip output folder during format actions by @jeffmaury in [#9580](https://github.com/containers/podman-desktop/pull/9580) - chore: move the file to the correct directory by @benoitf in [#9546](https://github.com/containers/podman-desktop/pull/9546) diff --git a/website/blog/2024-11-14-podman-desktop-cncf.md b/website/blog/2024-11-14-podman-desktop-cncf.md index f7592492919..8b85f7a0ae1 100644 --- a/website/blog/2024-11-14-podman-desktop-cncf.md +++ b/website/blog/2024-11-14-podman-desktop-cncf.md @@ -28,20 +28,20 @@ Podman Desktop enables developers to run Kubernetes locally, mirroring their pro ### Open source and the CNCF: A perfect match for developer tools -We believe in the power of open source. Open source software fosters transparency, encourages collaboration, and drives innovation. By donating Podman Desktop to the CNCF, we're ensuring it remains open and accessible to all, fostering a vibrant community around it. The CNCF is the perfect home for Podman Desktop because it champions open source values and provides a neutral ground for collaborative development. This ensures that Podman Desktop remains vendor-neutral and driven by the needs of its users, keeping options open and avoiding vendor lock-in. +We believe in the power of open source. Open source software fosters transparency, encourages collaboration, and drives innovation. By donating Podman Desktop to the CNCF, we're ensuring it remains open and accessible to all, fostering a vibrant community around it. The CNCF is the perfect home for Podman Desktop because it champions open source values and provides a neutral ground for collaborative development. This ensures that Podman Desktop remains vendor-neutral and driven by the needs of its users, keeping options open and avoiding vendor lock-in. Furthermore, while the CNCF has fostered incredible innovation and many developers profit from the number of projects available through the CNCF, there's a recognized need for more developer-focused tooling. Podman Desktop fills this gap perfectly by providing a developer-centric, streamlined, and intuitive experience for containerizing, managing, and deploying cloud-native applications. Podman Desktop has a natural affinity to Kubernetes due to its design and features that seamlessly bridge the gap between local container development and Kubernetes deployments. This close relationship aligns perfectly with the CNCF's mission to drive the adoption of cloud-native technologies. ### Join the growing Podman Desktop community -As a CNCF project, we have the opportunity to open our doors to a wider community of contributors and users. We believe that open source thrives on collaboration and diverse perspectives. By broadening our contributor base, we can accelerate innovation, improve the quality of Podman Desktop, and ensure it meets the needs of a diverse range of users. +As a CNCF project, we have the opportunity to open our doors to a wider community of contributors and users. We believe that open source thrives on collaboration and diverse perspectives. By broadening our contributor base, we can accelerate innovation, improve the quality of Podman Desktop, and ensure it meets the needs of a diverse range of users. -### You can contribute in various ways: +### You can contribute in various ways - Reporting issues: If you encounter bugs or have suggestions for improvements, you can report them on the [GitHub issue tracker](https://github.com/podman-desktop/podman-desktop/issues). Be sure to provide detailed information and steps to reproduce the issue. -- Working on issues: You can browse the [issue tracker](https://github.com/podman-desktop/podman-desktop/issues) and contribute by fixing bugs or implementing new features. This involves forking the repository, making changes, and submitting pull requests. +- Working on issues: You can browse the [issue tracker](https://github.com/podman-desktop/podman-desktop/issues) and contribute by fixing bugs or implementing new features. This involves forking the repository, making changes, and submitting pull requests. - Contributing code: Beyond addressing existing issues, you can propose and contribute entirely new features or enhancements to Podman Desktop's functionality, user interface, or integrations with other tools. Learn more about [how to contribute](https://github.com/podman-desktop/podman-desktop/blob/main/CONTRIBUTING.md). @@ -70,4 +70,3 @@ We're incredibly excited about this new chapter for Podman Desktop and can't wai - Contribute to the project: [https://github.com/podman-desktop/podman-desktop/](https://github.com/podman-desktop/podman-desktop/) - Read [10 Reasons Why Developers Should Consider Podman Desktop](https://developers.redhat.com/e-books/infographic-10-reasons-why-developer-should-consider-podman-desktop) - diff --git a/website/blog/2024-11-26-ai-lab-first-app.md b/website/blog/2024-11-26-ai-lab-first-app.md index 89d116c16ed..a95f1e538a5 100644 --- a/website/blog/2024-11-26-ai-lab-first-app.md +++ b/website/blog/2024-11-26-ai-lab-first-app.md @@ -23,7 +23,7 @@ For our first experiment, we will work on a micro-service for the podman-desktop If you haven't done it yet, first [install Podman Desktop and its extension Podman AI Lab](https://podman-desktop.io/docs/ai-lab/installing). -To have a better experience, it is recommended to use the GPU acceleration to serve the model. If you have such a GPU on your machine, you will need to create a Podman machine with the LibKrun provider (on MacOS). More details on [the GPU support for Podman AI Lab](https://developers.redhat.com/articles/2024/09/10/gpu-support-podman-ai-lab). +To have a better experience, it is recommended to use the GPU acceleration to serve the model. If you have such a GPU on your machine, you will need to create a Podman machine with the LibKrun provider (on MacOS). More details on [the GPU support for Podman AI Lab](https://developers.redhat.com/articles/2024/09/10/gpu-support-podman-ai-lab). At the time of writing, the GPU support is still experimental on Podman AI Lab. You will need to enable the option on the Preferences to enable it. @@ -41,7 +41,7 @@ Once a model is downloaded, we can test and interact with this model to try to f Let's start a new playground (from the `Models > Playgrounds` menu), and send our first prompt: -``` +```text Give me a list of pages in the website podman-desktop.io related to "build an image" ``` @@ -49,11 +49,11 @@ The model should reply with some list of pages, in a human-readable form (see th ![a first prompt with human-readable output](./img/ai-lab-first-app/04-ai-lab-demo-prompt-1.png) -The problem is that the response is in human-readable form, but we don't want the API to return this response as is. We want to have the name and the url of the pages, and send them to the website, so the website can display these pages with its preferred format. +The problem is that the response is in human-readable form, but we don't want the API to return this response as is. We want to have the name and the url of the pages, and send them to the website, so the website can display these pages with its preferred format. For this, we can try to ask the model to reply with a structured response, with the following prompt: -``` +```text Give me a list of pages in the website podman-desktop.io related to "build an image" as JSON output as an array of objects with 2 fields name and url ``` @@ -65,7 +65,7 @@ We don't expect the user to ask such a precise question, and we would prefer to Podman AI Lab supports this feature, let's restart a Playground session with the following system prompt: -``` +```text Give me a list of pages in the website podman-desktop.io related to the request as JSON output as an array of objects with 2 fields name and url ``` @@ -79,7 +79,7 @@ We can see in the screenshot below that the model still returns a response suita ## Testing a recipe -Now that we have a suitable prompt to use for our application, it is time to start our application itself. +Now that we have a suitable prompt to use for our application, it is time to start our application itself. Many developers prefer to have a working example of application to start with, and Podman AI Lab provides such examples with a catalog of recipes, visible in the page `AI Apps > Recipe Catalog`. @@ -95,12 +95,11 @@ Back to the recipe's details page, we can access the sources of the recipe by cl ### Structure of a recipe -The entrypoint of a recipe is the file `ai-lab.yaml` present in the repository of the recipe. +The entrypoint of a recipe is the file `ai-lab.yaml` present in the repository of the recipe. Let's examine the content of this file (the syntax of the file is specified in [this documentation](https://github.com/containers/podman-desktop-extension-ai-lab/blob/main/PACKAGING-GUIDE.md#recipe-configuration-file)) for the chatbot example. - -``` +```yaml version: v1.0 application: type: language @@ -142,7 +141,7 @@ We can adapt this source code, by replacing the UI part with a framework to make An interesting part of the source code is that the recipe does not expose to the user the system prompt, but defines one internally (`You are world class technical advisor`): -``` +```python prompt = ChatPromptTemplate.from_messages([ ("system", "You are world class technical advisor."), MessagesPlaceholder(variable_name="history"), @@ -160,7 +159,7 @@ As discussed in the previous section, we have replaced the `streamlit` part with We have also indicated our own system prompt: -``` +```python prompt = ChatPromptTemplate.from_messages([ ("system", """ reply in JSON format with an array of objects with 2 fields name and url @@ -192,7 +191,7 @@ The last step is to add this application to the Podman AI Lab recipe catalog. Podman AI Lab provides a way for a user to extend the provided catalog with its own recipes. This can be done by adding a file in a specific directory, as described [in this documentation](https://github.com/containers/podman-desktop-extension-ai-lab/tree/main?tab=readme-ov-file#-providing-a-custom-catalog). -``` +```json { "version": "1.0", "recipes": [ diff --git a/website/blog/2024-12-12-release-1.15.md b/website/blog/2024-12-12-release-1.15.md index 1fc8e331e3d..d5e495366a1 100644 --- a/website/blog/2024-12-12-release-1.15.md +++ b/website/blog/2024-12-12-release-1.15.md @@ -27,12 +27,11 @@ This release brings exciting new features and improvements: --- - ## Release Details 🔍 ### Improved Feedback Form 📝 -In the 1.15 release, we introduced a redesigned feedback form to streamline issue reporting. With our growing user base, +In the 1.15 release, we introduced a redesigned feedback form to streamline issue reporting. With our growing user base, it’s vital to provide a convenient way to submit feedback directly to GitHub via our main repository: [podman-desktop/podman-desktop/issues](https://github.com/podman-desktop/podman-desktop/issues). While retaining our internal anonymous feedback system, this update also enables users to preview their issues on GitHub, ensuring better communication. @@ -95,8 +94,8 @@ Key changes include: ### Kubernetes Events 📜 -This year, we’ve been steadily adding Kubernetes capabilities to Podman Desktop. While this effort is ongoing, -version 1.15 introduces support for [Kubernetes Events](https://kubernetes.io/docs/reference/kubernetes-api/cluster-resources/event-v1/). +This year, we’ve been steadily adding Kubernetes capabilities to Podman Desktop. While this effort is ongoing, +version 1.15 introduces support for [Kubernetes Events](https://kubernetes.io/docs/reference/kubernetes-api/cluster-resources/event-v1/). These events are now available for resources like Nodes, Services, and Pods.