~cjwatson/launchpad-layers:build-target-option

Last commit made on 2023-04-23
Get this branch:
git clone -b build-target-option https://git.launchpad.net/~cjwatson/launchpad-layers
Only Colin Watson can upload to this branch. If you are Colin Watson please log in for upload directions.

Branch merges

Branch information

Name:
build-target-option
Repository:
lp:~cjwatson/launchpad-layers

Recent commits

55bde3a... by Colin Watson

Allow overriding build target using a layer option

This is useful for charms that need to serve CSS/JS assets.

Succeeded
[SUCCEEDED] lint:0 (build)
11 of 1 result
55af52f... by Colin Watson

Avoid deprecated reactive functions

`set_state` and `remove_state` were deprecated in charms.reactive 0.5.0;
see https://charmsreactive.readthedocs.io/en/latest/changelog.html.

Succeeded
[SUCCEEDED] lint:0 (build)
11 of 1 result
6a50917... by Colin Watson

Configure outbound email if send_email is true

Most of Launchpad's email is sent using immediate delivery, which uses
`smtplib` directly; but some, such as email sent by garbo jobs, instead
queues it up until the end of the transaction. The latter mode wasn't
configured properly on production, so outgoing email ended up in a
default "stub" mailer which sent everything to root@localhost. Add
configuration to send queued production email to localhost:25 as well.

Individual charms must call `configure_email` to install
`mail-configure.zcml` in the appropriate configuration directory, or
remove it if `send_email` is false.

LP: #2017136

Succeeded
[SUCCEEDED] lint:0 (build)
11 of 1 result
81c2d5b... by Colin Watson

Add trailing slash to supermirror_root

`lp.code.browser.branchref.BranchRefNavigation.traverse_branch` expects
a trailing slash here, and generates broken URLs if it doesn't get one.

LP: #2017026

Succeeded
[SUCCEEDED] lint:0 (build)
11 of 1 result
7a9f543... by Colin Watson

.launchpad.yaml: Update snap property syntax

The list-of-names format is now deprecated.

Succeeded
[SUCCEEDED] lint:0 (build)
11 of 1 result
0311e05... by Colin Watson

Clear configured states on DB relation changes

Otherwise we don't notice if (for example) the relation tells us that a
DB password has changed, or if the relation is broken.

Succeeded
[SUCCEEDED] lint:0 (build)
11 of 1 result
22811c7... by Colin Watson

Set private_port for the xmlrpc_private vhost

Otherwise it never responds successfully.

Succeeded
[SUCCEEDED] lint:0 (build)
11 of 1 result
1920a6f... by Colin Watson

Change the launchpad user's shell to /bin/bash

The `ols` layer creates this as a system user since it has no password,
leaving its shell at the default of `/bin/sh`. For a user that's never
used interactively, that's fine. However, at least some deployments
based on this layer will end up being used interactively, especially
`launchpad-admin`, so change the shell to `/bin/bash` so that it's more
pleasant to do so.

Succeeded
[SUCCEEDED] lint:0 (build)
11 of 1 result
a8f4b28... by Colin Watson

Add many missing entries to launchpad-base-lazr.conf

I must have got distracted or something in the middle of writing this
template originally, since there were quite a few entries in
`config.yaml` that this layer was doing nothing with for no good reason.

Succeeded
[SUCCEEDED] lint:0 (build)
11 of 1 result
ead45e3... by Colin Watson

Support crontab handling

Add a `configure_cron` function that sets up a crontab from a template.

Launchpad's crontabs generally include a call to `oops-datedir2amqp` to
catch up with publishing OOPSes that were temporarily spooled to disk.
This needs a bit of extra support in building the config dictionary,
since it needs RabbitMQ credentials in a different form.

Succeeded
[SUCCEEDED] lint:0 (build)
11 of 1 result