- 08 Sep, 2021 4 commits
-
-
David Runge authored
* issues/16: Set project version to 0.2.1 Add documentation for systemd and sysusers.d integration Add example for systemd integration Add example for sysusers.d integration Set default sync dir to /var/lib/arch-release-sync
-
David Runge authored
pyproject.toml: Raise project version to 0.2.1.
-
David Runge authored
README.rst: Add documentation on where to find the systemd and sysusers.d integration and how they relate to one another.
-
David Runge authored
examples/systemd/arch-release-sync.service: Add an example systemd system service with applied hardening, that allows synchronization to the default sync location. examples/systemd/arch-release-sync.timer: Add and example systemd system timer that triggers running arch-release-sync.service hourly.
-
- 06 Sep, 2021 2 commits
-
-
David Runge authored
examples/sysusers.d/arch-release-promotion.conf: Add an example sysusers.d configuration file to create the arch-release-sync user on a target system.
-
David Runge authored
arch_release_promotion/config.py: Change PROJECTS_SYNC_DIR to /var/lib/arch-release-sync (as arch-release-promotion does not reflect the used executable).
-
- 05 Sep, 2021 14 commits
-
-
David Runge authored
* issues/12: pyproject.toml: Update project version to 0.2.0 README: Extend with information on arch-release-sync example.toml: Add synchronization related documentation Add script entrypoint for arch-release-sync cli: Add entrypoint for arch-release-sync files: Add ProjectFiles class to handle synchronization gitlab: More explicit print when downloading build artifacts gitlab: Implement download of promotion artifact argparse: Add parser for arch-release-sync gitlab: Change signature of constructor gitlab: More generically retrieve types of releases config: Make PRIVATE_TOKEN optional config: Add integration to configure synchronization
-
David Runge authored
pyproject.toml: Set project version to 0.2.0. Change project description and extend keywords to reflect the extended project scope.
-
David Runge authored
README.rst: Extend with information on arch-release-sync, how to configure it and how its synchronization behaves. Add gnupg explicitly to non-language dependencies for the tooling.
-
David Runge authored
examples/example.toml: Add documentation on the global and per-project `sync_config` table and their options `backlog`, `directory`, `last_updated_file`, `temp_in_sync_dir`.
-
David Runge authored
pyproject.toml: Extend tool.poetry.scripts table to add an entrypoint for `arch-release-sync`.
-
David Runge authored
arch_release_promotion/cli.py: Add `arch_release_sync()` as entrypoint for arch-release-sync, using `files.ProjectFiles.sync()` to synchronize any configured releases for a given project.
-
David Runge authored
arch_release_promotion/files.py: Add `load_release_from_json_payload()` to read a JSON payload and return it as a Release instance. Add the `ProjectFiles` class to aid in the synchronization of promoted release types of a project by bundling all necessary functionality. The special factory method `ProjectFiles.sync()` allows the creation of a `ProjectFiles` instance and direct synchronization of the configured amount of release versions of the project. tests/test_files.py: Add tests for `load_release_from_json_payload()`. Add tests for `ProjectFiles` and all of its classmethods and instance methods.
-
David Runge authored
arch_release_promotion/gitlab.py: Change `Upstream.download_release()` to also print the name of the project.
-
David Runge authored
arch_release_promotion/gitlab.py: Add `download_promotion_artifact()` to allow download of a project release's promotion artifact to a directory. tests/test_gitlab.py: Add tests for `download_promotion_artifact()`.
-
David Runge authored
arch_release_promotion/argparse.py: Add `ArgParseFactory.synchronize()` classmethod to add a simple entrypoint for `arch-release-sync`, that supports the `-p`/`--project` optional parameters and display of version information. tests/test_argparse.py: Add tests for `ArgParseFactory.synchronize()`.
-
David Runge authored
arch_release_promotion/gitlab.py: Change the `Upstream` constructor to accept private_token to be an optional string.
-
David Runge authored
arch_release_promotion/gitlab.py: Add `Upstream.get_releases()` to allow retrieval of promoted or unpromoted releases of an arbitrary upper limit. Change `Upstream.select_release()` to use `Upstream.get_releases()`. tests/test_gitlab.py: Add parametrized test for `Upstream.get_releases()`.
-
David Runge authored
arch_release_promotion/config.py: Change `Settings.PRIVATE_TOKEN` to become an optional attribute, as it is not required for readonly scenarios. Order all `Settings` attributes alphabetically and add documentation for them and their respective default values. Change `Settings.validate_private_token()` to reflect the change in type for `Settings.PRIVATE_TOKEN`. tests/test_config.py: Extend tests to also check for cases where `Settings.PRIVATE_TOKEN` is None.
-
David Runge authored
arch_release_promotion/config.py: Add a `SyncConfig` pydantic model to track a global or per project `backlog` (amount of versions synced), `directory` (with which to synchronize), `last_updated_file` (to which to write a timestamp upon changes in the synchronization directory) and `temp_in_sync_dir` (a bool to set whether temporary data is downloaded to the synchronization directory). Add an optional instance of SyncConfig to both `ProjectConfig` and `Projects`. Add a root_validator to `Projects` to allow overriding the `SyncConfig` of each project with implicit or global defaults if no `SyncConfig` is provided. Add validator for `Projects.projects` to ensure, that all `ReleaseConfig` names of each `ProjectConfig` instances are unique. tests/test_config.py: Extend tests for `Projects` in accordance with changes to models.
-
- 14 Aug, 2021 1 commit
-
-
David Runge authored
* nl6720/gpg-options: signature.py: enforce sane gpg options
-
- 13 Aug, 2021 1 commit
-
-
nl6720 authored
* Add --batch since gpg is not run manually. * Add --no-armor to ensure that a .sig file is created instead of .asc in case gpg.conf sets the armor option. * Add --no-include-key-block to skip including the public key in the signature and force the user who verifies the signature to acquire the public key from elsewhere. Fixes #15.
-
- 09 Aug, 2021 18 commits
-
-
David Runge authored
* origin/issues/14: Increase project version to 0.1.1 pyproject.toml: Add examples to sdist tarball
-
David Runge authored
pyproject.toml: Set project version to 0.1.1
-
David Runge authored
pyproject.toml: Add example files to sdist tarball.
-
David Runge authored
* origin/issues/13: Update poetry lock file pyproject.toml: Update dependency versions pyproject.toml: Add metadata .gitignore: Add dist directory
-
David Runge authored
poetry.lock: Update the poetry lock file by updating all dependencies to their respective latest versions.
-
David Runge authored
pyproject.toml: Update python-dotenv, python-gitlab and orjson to their respective current version.
-
David Runge authored
pyproject.toml: Add project metadata via `readme`, `homepage`, `repository`, `documentation`, `keywords`, `classifiers` and additional links in a `[tool.poetry.urls]` section.
-
David Runge authored
.gitignore: Add the dist directory to the ignore file.
-
David Runge authored
* origin/issues/10: README: Point to example configuration Add an example file for projects configuration README: Change openmetrics section into configuration subsection README: Move "Use" section below "Requirements" section README: Update JSON payload section README: Fix typo in Configuration section README: Add section about promotion artifact Fix releng example configuration
-
David Runge authored
README.rst: Point to the example.toml for documentation purposes.
-
David Runge authored
examples/example.toml: Add a generic example file for project configuration that explains all options.
-
David Runge authored
README.rst: As the openmetrics section is about how to configure openmetrics and projects.toml to retrieve data from a build, it is best kept as a subsection of the configuration section.
-
David Runge authored
README.rst: Move the "Use" section below "Requirements" section, as it was located between sections that are dealing with configuration.
-
David Runge authored
README.rst: Update the JSON payload section to reflect the current settings around metrics and how they are reflected in a JSON payload and update all respective documentation around the payload's attributes. Change the JSON payload section to become a subsection of the "Promotion artifact" section.
-
David Runge authored
README.rst: Fix a typo in the Configuration section explaining that some of the configuration options can also be passed in as environment variables.
-
David Runge authored
README.rst: Add section that explains the common files in a promotion artifact.
-
David Runge authored
examples/projects.toml: Change the releng example configuration to use all relevant metrics, created by the releng releases and to create detached signatures for relevant files per release type.
-
David Runge authored
* origin/issues/4: gitlab-ci: Publish to pypi.org on tag
-