-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcharmcraft.yaml
103 lines (95 loc) · 2.69 KB
/
charmcraft.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# Copyright 2022 Canonical Ltd.
# See LICENSE file for licensing details.
name: namecheap-lego-k8s
description: |
LEGO operator implementing the provider side of the `tls-certificates`
interface to get signed certificates from the `Let's Encrypt` ACME server
using Namecheap plugin and the DNS-01 challenge.
summary: |
LEGO operator implementing the provider side of the `tls-certificates`
interface to get signed certificates from the `Let's Encrypt` ACME server
using Namecheap plugin and the DNS-01 challenge.
links:
website:
- https://charmhub.io/namecheap-lego-k8s
source:
- https://github.com/canonical/namecheap-lego-k8s-operator
issues:
- https://github.com/canonical/namecheap-lego-k8s-operator/issues
documentation: https://discourse.charmhub.io/t/namecheap-acme-operator-docs-index/12521
provides:
certificates:
interface: tls-certificates
send-ca-cert:
interface: certificate_transfer
requires:
logging:
interface: loki_push_api
containers:
lego:
resource: lego-image
resources:
lego-image:
type: oci-image
description: Distroless OCI image for lego built with rockcraft.
upstream-source: ghcr.io/canonical/lego:4.16.1
type: charm
bases:
- build-on:
- name: ubuntu
channel: "22.04"
run-on:
- name: ubuntu
channel: "22.04"
parts:
charm:
source: .
plugin: charm
charm-requirements:
- requirements.txt
build-packages:
- libffi-dev
- libssl-dev
- pkg-config
build-snaps:
- astral-uv
- rustup
override-build: |
rustup default stable
uv export --frozen --no-dev -o requirements.txt
craftctl default
config:
options:
email:
type: string
description: Account email address to receive notifications from Let's Encrypt
server:
type: string
description: The ACME server URL.
default: "https://acme-staging-v02.api.letsencrypt.org/directory"
namecheap-api-user:
type: string
description: Namecheap API user
namecheap-api-key:
type: string
description: Namecheap API key
namecheap-http-timeout:
type: int
default: 60
description: API request timeout in seconds
namecheap-polling-interval:
type: int
default: 15
description: Time between DNS propagation checks in seconds
namecheap-propagation-timeout:
type: int
default: 3600
description: Maximum waiting time for DNS propagation in seconds
namecheap-ttl:
type: int
default: 120
description: The TTL of the TXT record used for the DNS challenge
namecheap-sandbox:
type: boolean
default: false
description: Activate the sandbox (boolean)