Skip to content

Conversation

@jankaluza
Copy link
Member

@jankaluza jankaluza commented Sep 12, 2025

This commit does the following:

  • Splits the podman-systemd.unit.5.md into multiple files - one for each quadlet file type.
  • Adds the podman-quadlet-basic-usage.7.md for quadlet examples.
  • Majority of the text in the new files is copied from the podman-systemd.unit.5.md
  • Adds support for very simple condditional in the markdown_preprocess.
  • Uses new logic in markdown_preprocess in options/*.md to use a single .md file for both
    podman subcommands man-pages and quadlet man-pages. This deduplicates the Quadlet man-pages a lot.
  • Adds new `@@option quadlet:source.md`` preprocess command to import such .md files from options directory.

Does this PR introduce a user-facing change?

None

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 12, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: jankaluza
Once this PR has been reviewed and has the lgtm label, please assign mheon for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jankaluza
Copy link
Member Author

@Luap99 , @ygalblum , this time, the majority of text is copied from the original podman-systemd.unit.5.d. I will also review it once more here in github UI, since the UI here is much better than checking in the git diff.

configuration passed to the container. Typically this is necessary when the
host DNS configuration is invalid for the container (e.g., **127.0.0.1**). When this
is the case the **--dns** flag is necessary for every run.
is the case the << '**DNS=.**' if is_quadlet else '**--dns**' >> flag is necessary for every run.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be md ignorance on my part, but I'm not sure what this line does.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looking at examples below, shouldn't the if be the first thing here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The inline condition really has the "foo" if something else "bar" syntax. I can change it to anything else if we think this is confusing.

more arguments after a `podman run <image> <arguments>` invocation.

The format is the same as for [systemd command lines](https://www.freedesktop.org/software/systemd/man/systemd.service.html#Command%20lines),
However, unlike the usage scenario for similarly-named systemd `ExecStart=` verb
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
However, unlike the usage scenario for similarly-named systemd `ExecStart=` verb
However, unlike the usage scenario for similarly-named systemd `ExecStart=` verbs

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't it be a singular? There's just single ExecStart verb. If it should really be a plural, I will also change the operates to operate in the next line, ok?

Copy link
Member

@Luap99 Luap99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, like I commented before on the other PR and I had to fix this up in #27002

Never delete podman-systemd.unit.5 please. It should contain the content of podman-quadlet.7 and there should be never a podman-quadlet.7 IMO. It is confusing since there is podman-quadlet.1 already.

I have not double check the actual content

@Luap99
Copy link
Member

Luap99 commented Sep 17, 2025

Oh and for commit style the fix types commits should just be squashed, we merge the commits as is.
And in general I believe punctuation should not be part of the commit titles. There is no value in having a final dot in each title.

This commit does the following:

- Splits the podman-systemd.unit.5.md into multiple files - one for each quadlet file type.
- Adds the podman-quadlet-basic-usage.7.md for quadlet examples.
- Majority of the text in the new files is copied from the podman-systemd.unit.5.md
- Adds support for very simple condditional in the markdown_preprocess.
- Uses new logic in markdown_preprocess in options/*.md to use a single .md file for both
  podman subcommands man-pages and quadlet man-pages. This deduplicates the Quadlet man-pages a lot.
- Adds new `@@option quadlet:source.md`` preprocess command to import such .md files from options directory.

Signed-off-by: Jan Kaluza <[email protected]>
@jankaluza jankaluza changed the title Rewrite the Quadlet documentation. Rewrite the Quadlet documentation Sep 18, 2025

## Expected Output:

For rootles, check logs using:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spelling rootles


For rootful use:
```bash
sudo cp hello.container ~/etc/containers/systemd/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

~/etc/containers/systemd/

remove ~

Comment on lines +47 to +57
For rootless use:
```bash
systemctl --user daemon-reload
systemctl --user start hello.service
```

For rootful use:
```bash
sudo systemctl daemon-reload
sudo systemctl enable --now hello.service
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

start is used for rootless.
enable --now is used for rootful.
I'm not sure if the difference is intentional or not.


```
[Install]
WantedBy=multi-user.target default.target
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The document uses different values for WantedBy=

WantedBy=multi-user.target
WantedBy=default.target
WantedBy=multi-user.target default.target

Maybe this could be confusing for a reader? With more explanation it would be less confusing. Alternatively, use less variations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants