Better Docker support #277

Merged
blacklight merged 66 commits from 276/better-docker into master 2023-09-04 02:49:15 +02:00
Owner

Closes: #276

Closes: #276
blacklight added 1 commit 2023-08-17 03:06:19 +02:00
continuous-integration/drone/push Build is passing Details
f07b774e75
A better Dockerfile.
blacklight added 1 commit 2023-08-17 10:36:01 +02:00
continuous-integration/drone/push Build is failing Details
24b04d9103
s/--config-file/--config/ option in Dockerfile.
blacklight added 1 commit 2023-08-17 10:38:28 +02:00
continuous-integration/drone/push Build is passing Details
afa4de5673
Dockerfile moved to application root
blacklight added 1 commit 2023-08-17 11:26:24 +02:00
blacklight added 2 commits 2023-08-18 15:25:57 +02:00
blacklight added 19 commits 2023-08-20 03:39:09 +02:00
181da63c89
Pass the database engine to the Alembic process as an extra argument.
If the path of the default database engine is overridden via `--workdir`
option then it won't be visible to the new `python` subprocess spawned
for Alembic.
1825b492b3
Replaced `Config.workdir` with `Config.get_workdir()`.
Again, Python < 3.9 doesn't like class properties.
a8255f3621
Pass the configuration file used by the application to the Alembic process.
The database settings could also be overridden in the configuration file
besides the command line.

We should therefore pass the path to the runtime configuration file, so
the Alembic process can initialize its configuration from the same file
and use the same settings.
dd3a701a2e
Full rewrite of `platypush.utils.manifest`.
The new version encapsulates all the utility functions into three
classes - `Manifest`, `Manifests` and `Dependencies`.
69706eaabe
`s/logger/_logger/` in the `plugins` module.
The `logger` name may clash with the context of an action, where
`logger` may have been set to something else.
980af16984
Rewritten platydock utility.
Platydock now will only print out a Dockerfile given a configuration
file.

No more maintaining the state of containers, storing separate workdirs
and configuration directories etc. - that introduced way too much
overhead over Docker.
199ac5f0f7
New way of managing installation scripts and dependencies.
Created `platypush/install` folder that contains:

- Dockerfiles for the supported distros
- Lists of required base dependencies for the supported distros
- Install and run scripts
- Added Debian to supported base images
blacklight added 2 commits 2023-08-20 13:34:48 +02:00
5efcae64c1
Better Dockerfile logic to retrieve sources.
If the /install folder on the container doesn't contain a copy of the
source files, then the git repository will be cloned under that folder.

The user can specify via `-r/--ref` option which tag/branch/commit they
want to install.
continuous-integration/drone/push Build is passing Details
a6f8021150
`PackageManager` has both `install` and `uninstall`.
blacklight added 1 commit 2023-08-20 13:49:29 +02:00
continuous-integration/drone/push Build is passing Details
f66c4aa071
Ignore the Dockerfile in the root folder
blacklight added 15 commits 2023-08-23 11:55:49 +02:00
blacklight added 1 commit 2023-08-23 20:02:11 +02:00
blacklight added 1 commit 2023-08-27 23:20:38 +02:00
blacklight added 1 commit 2023-08-30 00:06:20 +02:00
continuous-integration/drone/push Build is passing Details
429658e7c8
Refactored `PackageManager` classes.
Instead of having a custom `get_installed` callable field, with
replicated code for each package manager, the field has now been
promoted to a class method containing the common logic, and the
instances now expect a `list` field (base command to list the installed
packages using the specified package manager) and a `parse_list_line`
callback field (to extract the base package name given a raw line from
the command above).

Also, we shouldn't run the list command if we're running within a Docker
context - the host and container environments will be different.
blacklight added 2 commits 2023-08-31 02:10:10 +02:00
4dd713ffd2
Refactored Platydock and Platyvenv.
The two scripts now share the same command interface, behaviour and base
class.

Also, Platydock now builds a Docker image instead of just printing a
Dockerfile, unless the `--print` option is passed.
blacklight added 1 commit 2023-08-31 02:12:03 +02:00
continuous-integration/drone/push Build is failing Details
ee955882bf
Always rebase when pulling from the Github remote.
blacklight added 4 commits 2023-08-31 02:16:30 +02:00
0e02e617b3
Skip checksum in platypush-git AUR package.
The master branch can move fast and easily get out of sync with the
released version.
continuous-integration/drone/push Build is failing Details
a87a713f5e
Ignore the Dockerfile in the root folder
blacklight added 1 commit 2023-08-31 02:22:16 +02:00
continuous-integration/drone/push Build is passing Details
867198a092
Try and force push the commits to Github.
blacklight added 1 commit 2023-08-31 02:23:31 +02:00
continuous-integration/drone/push Build is failing Details
86ce2647e4
Removed the -f flag from git push.
blacklight added 1 commit 2023-08-31 02:33:00 +02:00
blacklight added 1 commit 2023-08-31 02:34:29 +02:00
continuous-integration/drone/push Build is passing Details
1be40f30d6
Merge branch 'master' into 276/better-docker
blacklight added 8 commits 2023-09-04 02:23:52 +02:00
07c2eee890
Changed (fixed) default location for config dir if not existing.
Following some common UNIX conventions, if no configuration file is
specified and none exists under the default locations, then a new
configuration directory should be created under:

```
- if root: /etc/platypush
- else:
  - if XDG_CONFIG_HOME:
    - $XDG_CONFIG_HOME/platypush
  - else:
    - ~/.config/platypush
```
continuous-integration/drone/push Build is passing Details
c69f97c0a5
Updated default config.yaml.
The new configuration:

- Enables `backend.http` by default
- Removes the extra `config.auto.yaml` dependency
- Includes many more examples, lots of updates for existing examples,
  and extensive comments.
blacklight added 1 commit 2023-09-04 02:48:02 +02:00
continuous-integration/drone/push Build is passing Details
b3c82fe0d1
More resilient termination logic for `CommandStream`.
blacklight merged commit 82ef928d5b into master 2023-09-04 02:49:15 +02:00
blacklight deleted branch 276/better-docker 2023-09-04 02:49:15 +02:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: platypush/platypush#277
No description provided.