Skip to content

Merge chrony and chrony-client charm - #16

Draft
weiiwang01 wants to merge 3 commits into
mainfrom
feat/merge
Draft

Merge chrony and chrony-client charm#16
weiiwang01 wants to merge 3 commits into
mainfrom
feat/merge

Conversation

@weiiwang01

Copy link
Copy Markdown
Collaborator

What this PR does

Merge the chrony and chrony-client charm source code so that they share the same code, differing only in the charm entrypoint.

Also update the chrony charm to install the chrony exporter bundled inside the charm file instead of installing it from the PPA, matching the behavior of chrony-client.

Why we need it

The chrony and chrony-client charms share a lot of code, especially the chrony management part. In the past, this was done by copying and pasting code between the two charms. Now all the charm code is merged into the same directory, so it can be reused by the chrony and chrony-client charms with a simple python import.

This greatly reduces the project structure complexity and maintenance cost, and simplifies the unit tests and linting checks.

Checklist

  • I followed the contributing guide
  • I added or updated the documentation (if applicable)
  • I updated docs/changelog.md with user-relevant changes
  • I added a change artifact for user-relevant changes in docs/release-notes/artifacts. If no change artifact is necessary, I tagged the PR with the label no-release-note.
  • I used AI to assist with preparing this PR
  • I added or updated tests as needed (unit and integration)
  • If integration test modules are used: I updated the workflow configuration
    (e.g., in .github/workflows/integration_tests.yaml, ensure the modules list is correct)
  • If this is a Grafana dashboard: I added a screenshot of the dashboard
  • If this is Terraform: terraform fmt passes and tflint reports no errors
  • If this is Rockcraft: I updated the version

# Conflicts:
#	chrony-client-operator/pyproject.toml
#	chrony-client-operator/uv.lock
#	chrony-operator/pyproject.toml
#	chrony-operator/uv.lock
#	pyproject.toml
#	uv.lock
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant