-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathcharmcraft.yaml
More file actions
130 lines (114 loc) · 3.52 KB
/
charmcraft.yaml
File metadata and controls
130 lines (114 loc) · 3.52 KB
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# This file configures Charmcraft.
# See https://canonical-charmcraft.readthedocs-hosted.com/en/stable/reference/files/charmcraft-yaml-file/# for guidance.
name: openfga-k8s
type: charm
title: OpenFGA
summary: A high-performance and flexible authorization/permission engine built for developers and inspired by Google Zanzibar.
description: |
A high-performance and flexible authorization/permission engine
built for developers and inspired by Google Zanzibar.
OpenFGA is designed to make it easy for developers to model
their application permissions and add and integrate fine-grained
authorization into their applications.
It allows in-memory data storage for quick development, as well
as pluggable database modules. It currently supports PostgreSQL
and MySQL.
It offers an HTTP API and a gRPC API. It has SDKs for
Node.js/JavaScript, GoLang, Python and .NET. Look in our
Community section for third-party SDKs and tools.
links:
documentation: https://canonical-identity.readthedocs-hosted.com/reference/charms/openfga
website: https://github.com/canonical/openfga-operator
source: https://github.com/canonical/openfga-operator
issues: https://github.com/canonical/openfga-operator/issues
assumes:
- juju >= 3.5
- k8s-api
peers:
peer:
interface: openfga-peer
provides:
openfga:
interface: openfga
grafana-dashboard:
interface: grafana_dashboard
optional: true
metrics-endpoint:
interface: prometheus_scrape
optional: true
send-ca-cert:
description: |
Transfer CA certificates to client charmed operators.
interface: certificate_transfer
optional: true
requires:
http-ingress:
interface: ingress
limit: 1
optional: true
grpc-ingress:
interface: ingress
limit: 1
optional: true
database:
interface: postgresql_client
limit: 1
optional: false
logging:
interface: loki_push_api
optional: true
limit: 1
certificates:
interface: tls-certificates
optional: true
limit: 1
tracing:
interface: tracing
optional: true
limit: 1
containers:
openfga:
resource: oci-image
resources:
oci-image:
type: oci-image
description: OCI image for OpenFGA
upstream-source: ghcr.io/canonical/openfga:1.10.1
config:
options:
log-level:
description: |
Configures the log level of gunicorn.
Acceptable values are: "info", "debug", "warning", "error" and "critical"
default: "error"
type: string
cpu:
description: |
K8s cpu resource limit, e.g. "1" or "500m". Default is unset (no limit). This value is used
for the "limits" portion of the resource requirements (the "requests" portion is
automatically deduced from it).
See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
type: string
memory:
description: |
K8s memory resource limit, e.g. "1Gi". Default is unset (no limit). This value is used
for the "limits" portion of the resource requirements (the "requests" portion is
automatically deduced from it).
See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
type: string
actions:
schema-upgrade:
description: Upgrade the application database schema.
parts:
charm:
charm-binary-python-packages:
- requests ~= 2.32
- jsonschema ~= 4.23
- lightkube
- cryptography
- "setuptools>=70.0.0"
build-packages:
- "rustc-1.85"
- "cargo-1.85"
platforms:
ubuntu@22.04:amd64: