-
Notifications
You must be signed in to change notification settings - Fork 2
/
charmcraft.yaml
82 lines (70 loc) · 1.8 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
# Copyright 2022 Jon Seager
# See LICENSE file for licensing details.
name: parca-k8s
summary: Parca continuous profiling tool.
description: |
Continuous profiling for analysis of CPU and memory usage, down to the line number and throughout
time. Saving infrastructure cost, improving performance, and increasing reliability.
type: "charm"
base: [email protected]
platforms:
amd64:
parts:
charm:
build-snaps:
- rustup
- astral-uv
override-build: |
rustup toolchain install stable
make generate-requirements
craftctl default
assumes:
- juju >= 3.1
containers:
parca:
resource: parca-image
mounts:
- storage: profiles
location: /var/lib/parca
resources:
parca-image:
type: oci-image
description: OCI image for parca
# Included for simplicity in integration tests
upstream-source: ghcr.io/parca-dev/parca:main-1702262300-7cde99c3
storage:
profiles:
type: filesystem
requires:
profiling-endpoint:
interface: parca_scrape
ingress:
interface: ingress
limit: 1
external-parca-store-endpoint:
interface: parca_store
provides:
grafana-dashboard:
interface: grafana_dashboard
metrics-endpoint:
interface: prometheus_scrape
self-profiling-endpoint:
interface: parca_scrape
parca-store-endpoint:
interface: parca_store
peers:
parca-peers:
interface: parca_peers
config:
options:
enable-persistence:
description: |
Do not store profiles in memory, persist to disk. Location for persistence is '/var/lib/parca'
type: boolean
default: false
memory-storage-limit:
description: |
When storing profiles in memory, configure the in-memory storage limit, specified in MB.
Does nothing if enable-persistence is True.
type: int
default: 4096