Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
377 commits
Select commit Hold shift + click to select a range
729d9ab
feat: `[oops]` section docs (#47)
jansdhillon Aug 18, 2025
7c69a2d
feat: add `[load_shaper]` section docs (#46)
jansdhillon Aug 18, 2025
898a701
feat: `[package_upload]` section docs, add sections for generic store…
jansdhillon Aug 18, 2025
69910e3
merge: sync from public docs
Aug 18, 2025
f24e6e9
merge: sync from main
Aug 18, 2025
36bac09
feat(client): add script_tempdir docs to client configuration setup g…
srunde3 Aug 18, 2025
9214d24
add step to create and validate autoinstall file
srunde3 Aug 19, 2025
1f4a690
bump required server version to 25.10~beta.3
srunde3 Aug 19, 2025
056d49e
merge: sync from public docs
Aug 21, 2025
3942419
merge: sync from main
Aug 21, 2025
fdc5aa8
merge: sync from public docs
Aug 22, 2025
8623a7f
merge: sync from main
Aug 22, 2025
b43d58d
merge: sync from public docs
Aug 25, 2025
dc6d37b
merge: sync from main
Aug 25, 2025
3a5f2d7
feat: add apt source delete handler docs (#57)
HJK-X Aug 26, 2025
df58aa8
merge: sync from public docs
Aug 27, 2025
e828ad1
merge: sync from main
Aug 27, 2025
8daf3f0
merge: sync from main
Aug 27, 2025
ff23dc1
merge: sync from public docs
Aug 27, 2025
3ab3231
feat: add apt source list endpoint doc (#59)
HJK-X Aug 27, 2025
6084cc2
separate configuration and administration documents
srunde3 Sep 4, 2025
19e29e1
remove oidc-provider configuration
srunde3 Sep 4, 2025
3877901
add X-FQDN to configuration
srunde3 Sep 4, 2025
c1fba0d
merge: sync from public docs
Sep 8, 2025
5f52742
merge: sync from main
Sep 8, 2025
afc1c4a
merge: sync from public docs
Sep 8, 2025
75254f6
merge: sync from main
Sep 8, 2025
dc135fe
fix ubuntu installer index
srunde3 Sep 9, 2025
4454171
rename ubuntu-installer-provisioning ubuntu-installer
srunde3 Sep 9, 2025
ed237f7
Ubuntu installer (24.04+) -> recent release of the Ubuntu installer (…
srunde3 Sep 9, 2025
69238d9
merge: sync from public docs
Sep 9, 2025
df392c9
merge: sync from main
Sep 9, 2025
7e13a84
add background info to intros
srunde3 Sep 9, 2025
d5a9b87
add cross-link to Subiquity in intros
srunde3 Sep 9, 2025
fe9c25c
add note about beta PPA in example
srunde3 Sep 9, 2025
eb97ac6
clean up HAProxy configuration section
srunde3 Sep 9, 2025
3b8bfb3
multitenant -> multi-tenant
srunde3 Sep 9, 2025
416dddc
fix X-FQDN instructions to show that user should do something
srunde3 Sep 9, 2025
2a89ead
enable featre -> set configuration
srunde3 Sep 9, 2025
4f28275
fix verify section
srunde3 Sep 9, 2025
df66806
SaaS Landscape -> Landscape SaaS
srunde3 Sep 9, 2025
cb70080
oidc client -> oidc provider
srunde3 Sep 9, 2025
c948d2e
use Ubuntu's... when referencing autoinstall docs
srunde3 Sep 9, 2025
b64c6cd
administer -> set up
srunde3 Sep 9, 2025
6a160e6
fix setup guide - create/test/upload sections
srunde3 Sep 9, 2025
8e87b1c
fix provision a workstation guide
srunde3 Sep 9, 2025
a731cdf
improve h1 names - more verbose
srunde3 Sep 9, 2025
e78818a
add note about setup in the workstation provisioning guide
srunde3 Sep 9, 2025
13ba16f
enable-employee-management -> employee_management
srunde3 Sep 9, 2025
9f4faa3
add note about SaaS feature availability
srunde3 Sep 9, 2025
dadd8aa
move 'see subiquity docs' into background info
srunde3 Sep 9, 2025
233a21c
merge: sync from public docs
Sep 10, 2025
db19d6d
merge: sync from main
Sep 10, 2025
9829283
merge: sync from public docs
Sep 11, 2025
346b3d7
merge: sync from main
Sep 11, 2025
24a0267
use paragraph styling
srunde3 Sep 11, 2025
b25835b
add self-hosted/SaaS disclaimers
srunde3 Sep 11, 2025
ff62cab
fix background info - use paragraph instead of callout
srunde3 Sep 11, 2025
9abd68c
feat(ubuntuinstaller): authentication experience how-tos
srunde3 Sep 11, 2025
52217e2
merge: sync from public docs
Sep 16, 2025
078bb4e
merge: sync from main
Sep 16, 2025
7a88f4d
feat: document self-service account creation endpoint (#62)
wck0 Sep 17, 2025
ce3d2f3
feat: reference for accept invitation rest endpoint (#63)
HJK-X Sep 18, 2025
6bf549b
add documentation for licensing management
david-mclain Sep 19, 2025
2d6c235
include optional params for licenses
david-mclain Sep 19, 2025
b324ed7
feat: replace tables with more readable sections (#69)
wck0 Sep 19, 2025
b5644ec
refactor: update api config settings (#70)
wck0 Sep 19, 2025
17173d8
touch up some doc stuff
david-mclain Sep 22, 2025
c812ffc
refactor: update broker config settings (#72)
wck0 Sep 22, 2025
61c29ef
refactor: update load shaper config settings (#73)
wck0 Sep 22, 2025
edc35c9
refactor: update appserver config settings (#71)
wck0 Sep 22, 2025
966d360
refactor: update message server config settings (#74)
wck0 Sep 22, 2025
747d1f1
refactor: update package upload settings (#76)
wck0 Sep 22, 2025
cf44dcd
document licensing
david-mclain Sep 22, 2025
541fe95
include snap/core mention
david-mclain Sep 22, 2025
5e46f46
spelling error
david-mclain Sep 22, 2025
7f444a6
refactor: update oops settings (#75)
wck0 Sep 22, 2025
fb2c632
refactor: update secrets settings (#77)
wck0 Sep 22, 2025
4fd6665
refactor: update stores settings (#78)
wck0 Sep 22, 2025
30819c3
refactor: update system settings (#79)
wck0 Sep 22, 2025
81979ee
address feedback for the most part
david-mclain Sep 24, 2025
4723ff1
fix ref and hyperlink
david-mclain Sep 24, 2025
ffcb7c3
merge: sync from public docs
Sep 25, 2025
668e522
merge: sync from main
Sep 25, 2025
791077e
merge: sync from public docs
Sep 25, 2025
3a3cb5c
merge: sync from main
Sep 25, 2025
2864ea1
merge: sync from public docs
Sep 25, 2025
4ade0f6
merge: sync from main
Sep 25, 2025
69d592d
fix docs
david-mclain Sep 26, 2025
7b1da1f
merge: sync from public docs
Sep 26, 2025
3848b97
merge: sync from main
Sep 26, 2025
6232add
merge: sync from public docs
Sep 29, 2025
d99dd4b
merge: sync from main
Sep 29, 2025
7629dbd
merge: sync from public docs
Oct 8, 2025
cd7a3a1
merge: sync from main
Oct 8, 2025
b30d4b7
merge: sync from public docs
Oct 8, 2025
2e680cb
merge: sync from main
Oct 8, 2025
65d9e30
merge: sync from public docs
Oct 8, 2025
dc5f293
merge: sync from main
Oct 8, 2025
8d7725d
Final draft review (#87)
YanisaHS Oct 9, 2025
db1afac
feat: add hostagent-* settings sections (#81)
wck0 Oct 9, 2025
c3ee754
fix: typo in header (#91)
wck0 Oct 9, 2025
6b1430e
feat: add package search settings section (#80)
wck0 Oct 9, 2025
d50de26
feat: add pingserver settings (#82)
wck0 Oct 9, 2025
85f086e
feat: docs for generic tls client settings (rabbit/vault) (#92)
jansdhillon Oct 9, 2025
061315f
feat: document how to use mTLS with RabbitMQ/broker, secrets-service,…
jansdhillon Oct 10, 2025
c9dafea
Update docs/explanation/landscape/licenses.md
david-mclain Oct 10, 2025
116620f
Update docs/how-to-guides/ubuntu-pro/attach-ubuntu-pro.md
david-mclain Oct 10, 2025
fc7fe99
Update docs/explanation/landscape/licenses.md
david-mclain Oct 10, 2025
9897bd1
Update docs/how-to-guides/ubuntu-pro/attach-ubuntu-pro.md
david-mclain Oct 10, 2025
d654f42
merge: sync from public docs
Oct 10, 2025
bf70567
merge: sync from main
Oct 10, 2025
d1ab0fd
reword some stuff
david-mclain Oct 17, 2025
206f392
merge: sync from public docs
Oct 17, 2025
3cf057d
merge: sync from main
Oct 17, 2025
b08ce61
merge: sync from public docs
Oct 17, 2025
420dd1e
merge: sync from main
Oct 17, 2025
2320e9c
minor wording changes
YanisaHS Oct 21, 2025
3682cbd
feat: add standalone account creation doc (#89)
HJK-X Oct 21, 2025
1a71906
feat: add reject invitation doc (#93)
HJK-X Oct 21, 2025
017da0d
Update docs/how-to-guides/ubuntu-pro/attach-ubuntu-pro.md
david-mclain Oct 21, 2025
4458a53
Update docs/how-to-guides/ubuntu-pro/attach-ubuntu-pro.md
david-mclain Oct 21, 2025
76acd3a
Update docs/how-to-guides/ubuntu-pro/attach-ubuntu-pro.md
david-mclain Oct 21, 2025
9896f71
feat: add GET standalone-account REST API endpoint (#94)
wck0 Oct 22, 2025
28c869c
update web portal docs
YanisaHS Oct 22, 2025
9c85bc3
update links
YanisaHS Oct 22, 2025
377a26d
wording changes to the automated attachment intro section (not web po…
YanisaHS Oct 22, 2025
c595d00
fix wording and feature flag mentions
david-mclain Oct 22, 2025
55e56cf
moved API note
YanisaHS Oct 22, 2025
3d1e410
feat: landscape license management (#95)
david-mclain Oct 22, 2025
25bfd3c
feat: add disa stig deployment guide (#96)
HJK-X Oct 23, 2025
ec50ac3
merge: sync from public docs
Oct 24, 2025
205c2a7
merge: sync from main
Oct 24, 2025
b12a0c4
merge: sync from public docs
Oct 24, 2025
aeb5c07
merge: sync from main
Oct 24, 2025
cf2ab63
merge: sync from public docs
Oct 24, 2025
f5d7bfc
merge: sync from main
Oct 24, 2025
3812654
merge: sync from public docs
Oct 24, 2025
110c0f9
merge: sync from main
Oct 24, 2025
2feade6
feat: add port setting to stores section (#97)
HJK-X Oct 24, 2025
3024672
Merge pull request #99 from canonical/develop
YanisaHS Oct 29, 2025
ad8798f
only run gh workflow on staging docs
YanisaHS Oct 29, 2025
23f34c9
merge: sync from public docs
Oct 30, 2025
8cf4798
merge: sync from public docs
Oct 30, 2025
71752cc
feat: add tmpfiles information (#101)
HJK-X Nov 1, 2025
77b2f07
Merge branch 'canonical:main' into main
YanisaHS Nov 20, 2025
6f92448
feat: add documentation for enabling standard TLS in Landscape (#100)
jansdhillon Nov 26, 2025
8376b45
Merge remote-tracking branch 'public-docs/main'
YanisaHS Dec 4, 2025
ff825c4
Merge pull request #105 from YanisaHS/main
YanisaHS Dec 4, 2025
79bb15a
Merge pull request #106 from canonical/main
YanisaHS Dec 4, 2025
02b3acb
merge: sync from public docs
Dec 4, 2025
c8d1847
merge: sync from main
Dec 4, 2025
6f8555b
merge: sync from public docs
Dec 5, 2025
2f1c8c9
merge: sync from main
Dec 5, 2025
590e743
merge: sync from public docs
Dec 5, 2025
20a5bd0
merge: sync from main
Dec 5, 2025
e68d564
merge: sync from public docs
Dec 9, 2025
f2af5e6
merge: sync from main
Dec 9, 2025
58eaa62
merge: sync from public docs
Dec 10, 2025
36625b0
merge: sync from main
Dec 10, 2025
f1f2ec4
merge: sync from public docs
Dec 10, 2025
45803ca
merge: sync from main
Dec 10, 2025
742589d
merge: sync from public docs
Dec 11, 2025
401da3d
merge: sync from main
Dec 11, 2025
aa94c40
merge: sync from public docs
Dec 11, 2025
69a4d5f
merge: sync from public docs
Dec 11, 2025
2de35a1
merge: sync from public docs
Dec 11, 2025
f958e7f
merge: sync from public docs
Dec 11, 2025
8704c67
merge: sync from public docs
Dec 12, 2025
4b55680
feat: add series creation endpoint documentation (#107)
HJK-X Dec 15, 2025
ebb4520
merge: sync from public docs
Dec 16, 2025
1cefaf5
merge: sync from public docs
Dec 16, 2025
0231383
merge: sync from public docs
Dec 16, 2025
545a6ef
merge: sync from public docs
Dec 17, 2025
9175cd7
merge: sync from public docs
Dec 17, 2025
f6d058f
merge: sync from public docs
Dec 19, 2025
fb71c90
feat: add documentation for managing saved searches
rubinaga Jan 8, 2026
1cf547e
Merge pull request #104 from rubinaga/feature/manage-saved-searches
rubinaga Jan 8, 2026
53d9cc7
merge: sync from public docs
Jan 9, 2026
dc9c8a5
merge: sync from public docs
Jan 12, 2026
33c8feb
merge: sync from public docs
Jan 13, 2026
76917db
merge: sync from public docs
Jan 14, 2026
4e1565f
fix: document restrictions on characters for access group titles (#108)
wck0 Jan 14, 2026
088825a
merge: sync from public docs
Jan 16, 2026
907707e
feat: add get recovery key API documentation (#110)
HJK-X Jan 16, 2026
de3e82d
feat: update charm docs to mention tls-certificates, update HAproxy c…
jansdhillon Jan 21, 2026
aa730b0
feat: remove delete fde recovery key documentation (#115)
HJK-X Jan 23, 2026
a472a77
feat: add generate recovery key API documentation (#109)
HJK-X Jan 23, 2026
b03051f
merge: sync from public docs
Jan 27, 2026
c6e5421
feat: add explanation for fde recovery keys (#116)
HJK-X Jan 27, 2026
6c1de33
feat: add new pingserver configuration settings (#119)
wck0 Jan 29, 2026
cd4b67a
merge: sync from public docs
Feb 3, 2026
dcc4330
merge: sync from public docs
Feb 3, 2026
046ce60
merge: sync from public docs
Feb 6, 2026
bb49d79
merge: sync from public docs
Feb 6, 2026
b6c0277
merge: sync from public docs
Feb 6, 2026
78a57cb
Merge remote-tracking branch 'origin/main' into develop
YanisaHS Feb 6, 2026
4384b91
Merge branch 'develop' into develop
YanisaHS Feb 6, 2026
87edfc9
Merge pull request #122 from YanisaHS/develop
YanisaHS Feb 6, 2026
dc3b18f
feat: ingress configurator charm `external-grpc-port` doc (#117)
JacobisEpic Feb 9, 2026
a8c4cd2
feat: add template for charm's internal HAProxy config to docs (#121)
jansdhillon Feb 9, 2026
926381f
feat: http-ingress doc (#123)
JacobisEpic Feb 10, 2026
1eab9e7
merge: sync from public docs
Feb 11, 2026
50cf5a3
merge: sync from main
Feb 11, 2026
c1f5542
merge: sync from public docs
Feb 13, 2026
3d95686
merge: sync from main
Feb 13, 2026
2853826
feat: add application/json headers to POST/PUT/PATCH v2 endpoints (#111)
jmucc Feb 13, 2026
5cc22c0
merge: sync from public docs
Feb 21, 2026
f83f728
merge: sync from main
Feb 21, 2026
953ac53
feat: add how-to guide on migrating to the 26.04 beta version of the …
jansdhillon Feb 23, 2026
c604750
merge: sync from public docs
Feb 26, 2026
f135db4
merge: sync from main
Feb 26, 2026
b8ce848
merge: sync from public docs
Feb 27, 2026
5a8844e
merge: sync from main
Feb 27, 2026
400c091
merge: sync from public docs
Mar 3, 2026
0925fcc
merge: sync from public docs
Mar 5, 2026
40ad554
merge: sync from public docs
Mar 5, 2026
43523f8
merge: sync from public docs
Mar 6, 2026
25306d8
merge: sync from public docs
Mar 6, 2026
7748fad
merge: sync from public docs
Mar 16, 2026
a7c8d83
merge: sync from public docs
Mar 18, 2026
fc8fe98
merge: sync from public docs
Mar 18, 2026
36a508c
merge: sync from public docs
Mar 18, 2026
2b96bb9
feat: add v2 release upgrade endpoints for computers (#126)
rubinaga Mar 24, 2026
c0bd1fe
merge: sync from public docs
Mar 25, 2026
bd879a5
merge: sync from public docs
Mar 25, 2026
e0a8515
docs: add PgBouncer integration explanation and update HA guide (#128)
jansdhillon Mar 26, 2026
fed7a64
merge: sync from public docs
Mar 27, 2026
4041acc
merge: sync from public docs
Mar 30, 2026
b9c3eb0
feat: update get recovery key endpoint reference (#118)
HJK-X Mar 31, 2026
8ef2275
add alerts parameter information on specific computer endpoint (#130)
rubinaga Apr 2, 2026
de74ca9
feat: add soft-deletion endpoint docs (#131)
jmucc Apr 6, 2026
d82b6e7
feat: update charm documentation to use the new HAProxy charm directl…
jansdhillon Apr 8, 2026
e998443
fix: default root_url has trailing slash (#132)
wck0 Apr 17, 2026
3e628e6
feat: add docs for POST /person:test-email endpoint (#134)
jansdhillon Apr 24, 2026
df7a89f
feat: update login api endpoint for PAM (#133)
wck0 Apr 24, 2026
c26db58
Merge branch 'main' into develop
YanisaHS Apr 27, 2026
e6bd6b5
Merge pull request #136 from YanisaHS/develop
YanisaHS Apr 27, 2026
b8928f8
Delete .github/workflows/sphinx-python-dependency-build-checks.yml
YanisaHS Apr 27, 2026
61a3a1b
Merge pull request #137 from canonical/main
YanisaHS Apr 27, 2026
54257ea
merge: sync from public docs
Apr 27, 2026
b3e51d7
Merge remote-tracking branch 'upstream/main' into sync-mains
YanisaHS Apr 27, 2026
ef83d6b
Merge pull request #138 from YanisaHS/sync-mains
YanisaHS Apr 27, 2026
39a2bde
Merge branch 'main' into manual-sync-from-main
YanisaHS Apr 27, 2026
b7b4c22
Merge pull request #139 from YanisaHS/manual-sync-from-main
YanisaHS Apr 27, 2026
e026f42
consolidate saved searches
YanisaHS Apr 27, 2026
b62bf19
client snap changes
YanisaHS Apr 27, 2026
eb7e2bd
remove unused beta page
YanisaHS Apr 27, 2026
e0df461
Merge pull request #140 from YanisaHS/minor-fixes
YanisaHS Apr 27, 2026
d82a332
Merge pull request #141 from canonical/develop
YanisaHS Apr 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions .github/workflows/automatic-doc-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@ on:
push:
branches: [ main ]
pull_request:
paths:
- 'docs/**' # Only run on changes to the docs directory

workflow_call:
workflow_dispatch:
# Manual trigger


concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
Expand All @@ -21,4 +19,4 @@ jobs:
uses: canonical/documentation-workflows/.github/workflows/documentation-checks.yaml@main
with:
working-directory: "docs"
fetch-depth: 0
fetch-depth: 0
57 changes: 0 additions & 57 deletions .github/workflows/check-removed-urls.yml

This file was deleted.

16 changes: 4 additions & 12 deletions .github/workflows/markdown-style-checks.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,20 @@
name: Markdown style checks

on:
workflow_call:
push:
branches:
- main
paths:
- 'docs/**' # Only run on changes to the docs directory
pull_request:
branches:
- '*'
paths:
- 'docs/**' # Only run on changes to the docs directory

jobs:
markdown-lint:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Create venv
working-directory: "docs"
run: make install
- name: Lint markdown
working-directory: "docs"
run: make lint-md
- uses: DavidAnson/markdownlint-cli2-action@v16
with:
config: ".sphinx/.markdownlint.json"
21 changes: 21 additions & 0 deletions docs/.custom_wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ ceph
Certbot
certbot
centralized
cfg
Charmhub
Charmhub's
changelog
Expand All @@ -64,7 +65,11 @@ CLI's
Cognito
conf
config
configurator
configurators
Configurator
configs
Configurator
conformant
conntrack
copiedprofilename
Expand Down Expand Up @@ -104,8 +109,10 @@ Entra
EPMD
epoll
ESM
FDE
eu
falsy
FDERecoveryKeyManager
Fernet
FIPS
FQDN
Expand All @@ -125,6 +132,7 @@ grpcio
filesystem
frontend
HAProxy
haproxy
HashiCorp
hardcoded
HashiCorp’s
Expand All @@ -149,7 +157,9 @@ init
IoT
Iot
ip
IPs
IPv
Jinja
jQuery
Juju's
Juju
Expand All @@ -164,15 +174,19 @@ keyslots
Kudu
KVM
keyrings
keyslot
kvm
kwarg
labelled
launchpadcontent
lbaas
LBaaS
LDAP
LDS
LetsEncrypt
libvirt
licence
lego
lifecycle
Livepatch
Livepatches
Expand All @@ -187,6 +201,7 @@ LXD
lxd
MAAS
maas
maxconn
Mailjet
Makefile
ManualInstallation
Expand Down Expand Up @@ -242,16 +257,20 @@ queueingQuickstartquickstart
packagesearch
PAYG
PCI
pem
perf
perfs
performant
PID
PIDs
PITR
pgSQL
pgtune
pingserver
pluggable
png
pooler
poolers
Postconf
postgres
PostgreSQL
Expand Down Expand Up @@ -339,6 +358,8 @@ timeframe
TLD
TLS
TLSv
tmpfiles
TPM
traceback
transactional
truthy
Expand Down
7 changes: 4 additions & 3 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,8 @@
"sphinx_last_updated_by_git",
"sphinx.ext.intersphinx",
"sphinx_sitemap",
"sphinxext.rediraffe"
"sphinxext.rediraffe",
"sphinxcontrib.mermaid",
]


Expand Down Expand Up @@ -334,7 +335,7 @@
rediraffe_branch = "main"
rediraffe_redirects = "redirects.txt"

## Reredirects extension
## Reredirects extension
## NOTE: We've moved to use rediraffe as our main redirects extension.
## The following are ones we already had in place, but haven't migrated
redirects = {
Expand All @@ -344,4 +345,4 @@
'how-to-guides/security/install-landscape-in-an-air-gapped-or-offline-environment': '../../landscape-installation-and-set-up/install-landscape-in-an-air-gapped-or-offline-environment',
'explanation/repository-mirroring/repository-mirroring': '../../features/repository-mirroring',
'reference/known-issues/known-issues': '../../known-issues'
}
}
112 changes: 105 additions & 7 deletions docs/explanation/charm/charm-compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,38 +8,136 @@ myst:

# Landscape Server charm integration compatibility

The [Landscape Server charm](https://charmhub.io/landscape-server) can be deployed with Juju when integrated with at least the following charms:
The [Landscape Server charm](https://charmhub.io/landscape-server) requires integration with the following charms, depending on the version:

- `haproxy`
**All versions:**
- `postgresql`
- `rabbitmq-server`

For a recommended charm bundle configuration and more information about deploying Landscape Server with Juju, see {ref}`How to install Landscape Server with Juju <how-to-juju-installation>`.
**Landscape 26.04 LTS beta+:**
- `haproxy` (at `2.8/edge`, via `haproxy-route` interface)
- A TLS certificates provider integrated with HAProxy (e.g., `self-signed-certificates`, `lego`)

Compatibility with a Landscape Server charm revision is limited to specific revisions and channels of the required charms. Incompatibility can occur if the charm’s base (e.g., `ubuntu@24.04`), architecture (e.g., `amd64`), or interfaces change.
**Before Landscape 26.04:**
- `haproxy` (via `reverseproxy` interface)

For a recommended charm bundle configuration and more information about deploying Landscape Server with Juju, see {ref}`how-to-juju-installation` and {ref}`how-to-juju-ha-installation`.

Compatibility with a Landscape Server charm revision is limited to specific revisions and channels of the required charms. Incompatibility can occur if the charm's base (e.g., `ubuntu@24.04`), architecture (e.g., `amd64`), or interfaces change.

```{tip}
Learn more about [Juju integrations](https://canonical.com/juju/integrations).
```

## Deployment architectures

The Landscape Server charm supports two deployment architectures:

**Landscape 26.04 LTS beta+ (recommended):**
- External HAProxy charm (`2.8/edge`) for load balancing, using the `haproxy-route` interface
- PostgreSQL 14+ with modern `database` interface
- TLS certificates via a `tls-certificates` interface provider integrated with HAProxy

```{include} /reuse/charm-ha-architecture-2604.md
```

**Before 26.04:**
- External HAProxy charm for load balancing, using the `reverseproxy` interface
- PostgreSQL ≥ 14 with legacy `pgsql` interface

```{include} /reuse/charm-ha-architecture-pre-2604.md
```

For migration from older deployments to 26.04 beta+, see {ref}`how-to-migrate-to-26-04-charm`.

## Required integrations by version

| Charm | Landscape 26.04 LTS beta+ | Before 26.04 |
| ----------------------------- | -------------------------------------------------------------------- | ----------------------------------------------- |
| **PostgreSQL** | Required (PostgreSQL 14+, `database` interface) | Required (PostgreSQL 14, `pgsql` interface) |
| **RabbitMQ Server** | Required | Required |
| **HAProxy** | Required (`2.8/x`, `haproxy-route` interface) | Required (`latest/x`, `reverseproxy` interface) |
| **TLS Certificates Provider** | Required (integrated with HAProxy, e.g., `self-signed-certificates`) | Not used |

## TLS certificates charm interface

Starting with the 26.04 beta version, TLS is managed by the HAProxy charm. The HAProxy charm integrates with a provider of the [`tls-certificates` charm interface](https://charmhub.io/integrations/tls-certificates) to obtain certificates for HTTPS connections.

### Available TLS certificate providers

**For testing/development:**
- [`self-signed-certificates`](https://charmhub.io/self-signed-certificates) - Generates self-signed certificates (not trusted by browsers/clients)

**For production:**
- [`lego`](https://charmhub.io/lego) - Obtains certificates from Let's Encrypt or other ACME providers
- [`manual-tls-certificates`](https://charmhub.io/manual-tls-certificates) - Use custom CA certificates
- Any charm that provides the `tls-certificates` interface

Integrate TLS with HAProxy (not with `landscape-server` directly):

```bash
juju integrate haproxy:certificates <tls-provider>:certificates
```

For deployment examples and configuration, see {ref}`how-to-juju-ha-installation` and {ref}`how-to-migrate-to-26-04-charm`.

## K8s Operators

Landscape Server is currently only distributed as a machine (VM) charm and cannot be directly integrated with any version of K8s Charmed Operators, such as the HAProxy K8s operator or the Charmed PostgreSQL K8s operator.

## HAProxy

The Landscape Server charm can be integrated to any of the `latest/x` channels of the HAProxy charm. However, it cannot yet be related to any of the `2.8/x` channels of the HAProxy charm due to a complete rewrite of the charm and its interfaces.
The relationship between Landscape Server and HAProxy varies significantly between Landscape versions:

**Landscape 26.04 LTS beta+:**
- Requires the HAProxy charm at `2.8/edge`
- Integrates via 8 `haproxy-route` relation endpoints directly from landscape-server to haproxy
- HAProxy handles TLS termination and load balancing
- Cannot be integrated with the `latest/x` channels of the HAProxy charm (different interface)

**Before 26.04:**
- Requires the external HAProxy charm at `latest/x`
- Integrates via the `reverseproxy` interface: `landscape-server:website` → `haproxy:reverseproxy`
- Cannot be integrated with the `2.8/x` channels of the HAProxy charm

**LBaaS (Load Balancer as a Service) - cross-model HAProxy:**
- Deploy HAProxy in a separate Juju model and use cross-model relations
- Landscape Server integrates directly with the cross-model HAProxy via `haproxy-route` endpoints
- See {ref}`heading-lbaas-installation` for complete setup

For migrating from older deployments to the new HAProxy architecture, see {ref}`how-to-migrate-to-26-04-charm`.

- [HAProxy on Charmhub](https://charmhub.io/haproxy)

## Charmed PostgreSQL

The Landscape Server charm can be integrated to any of the `latest/x` or `14/x` channels of the PostgreSQL charm. However, it cannot yet be related to any of the `16/x` channels of the PostgreSQL charm due to the charm interface being restructured.
PostgreSQL charm compatibility varies by Landscape Server version:

**Landscape 26.04 LTS beta+:**
- Compatible with PostgreSQL 14+ using the modern `database` interface
- Landscape Server integrates using the `database` relation endpoint: `landscape-server:database` → `postgresql:database`
- It is recommended to use PostgreSQL 16 for new deployments
- Supports [PgBouncer](https://charmhub.io/pgbouncer) as a connection pooler via the `database` relation endpoint; see {ref}`explanation-pgbouncer-integration`

**Before 26.04:**
- Compatible with PostgreSQL 14 using the legacy `pgsql` interface
- Landscape Server integrates using the `db` relation endpoint: `landscape-server:db` → `postgresql:db-admin`
- Cannot use PostgreSQL 16 due to interface incompatibility

- [Charmed PostgreSQL VM on Charmhub](https://charmhub.io/postgresql)

## RabbitMQ Server

There are no charm integration incompatibilities between the Landscape Server charm and the RabbitMQ Server charm.
RabbitMQ Server integration varies by Landscape Server version:

**Landscape 25.10+:**
- Uses separate inbound and outbound AMQP relation endpoints
- Relations:
- `landscape-server:inbound-amqp` ↔ `rabbitmq-server`
- `landscape-server:outbound-amqp` ↔ `rabbitmq-server`

**Before 25.10:**
- Uses a single `amqp` relation endpoint
- Relation: `landscape-server:amqp` ↔ `rabbitmq-server:amqp`

- [RabbitMQ Server on Charmhub](https://charmhub.io/rabbitmq-server)
Loading
Loading