Skip to content

Commit a0c76b7

Browse files
committed
feat: finish development
Signed-off-by: Armando Ruocco <[email protected]>
1 parent 1dc85de commit a0c76b7

File tree

9 files changed

+80
-17
lines changed

9 files changed

+80
-17
lines changed

hack/examples/cluster-example.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ metadata:
44
name: cluster-example
55
spec:
66
instances: 3
7+
imagePullPolicy: Always
78
plugins:
89
- name: barman-cloud.cloudnative-pg.io
910
isWALArchiver: true

hack/minio/kustomization.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
resources:
2+
- minio-deployment.yaml
3+
- minio-pvc.yaml
4+
- minio-secret.yaml
5+
- minio-service.yaml
6+
- minio-certificate.yaml
7+
- selfsigned-issuer.yaml
8+

hack/minio/minio-certificate.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
apiVersion: cert-manager.io/v1
2+
kind: Certificate
3+
metadata:
4+
name: minio-server
5+
spec:
6+
secretName: minio-server-tls
7+
commonName: minio
8+
dnsNames:
9+
- minio
10+
11+
duration: 2160h # 90d
12+
renewBefore: 360h # 15d
13+
14+
isCA: false
15+
usages:
16+
- server auth
17+
18+
issuerRef:
19+
name: selfsigned-issuer
20+
kind: Issuer
21+
group: cert-manager.io

hack/minio/minio-delete.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
kubectl exec -ti mc -- mc rm -r --force minio/backups

hack/minio/minio-deployment.yaml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,20 @@ spec:
2222
volumeMounts:
2323
- mountPath: /data
2424
name: data
25+
- mountPath: /opt/minio/certs
26+
name: certs
2527
args:
2628
- server
29+
- --certs-dir
30+
- /opt/minio/certs
2731
- /data
2832
env:
29-
- name: MINIO_ACCESS_KEY
33+
- name: MINIO_ROOT_USER
3034
valueFrom:
3135
secretKeyRef:
3236
name: minio
3337
key: ACCESS_KEY_ID
34-
- name: MINIO_SECRET_KEY
38+
- name: MINIO_ROOT_PASSWORD
3539
valueFrom:
3640
secretKeyRef:
3741
name: minio
@@ -40,3 +44,13 @@ spec:
4044
- name: data
4145
persistentVolumeClaim:
4246
claimName: minio
47+
- name: certs
48+
projected:
49+
sources:
50+
- secret:
51+
name: minio-server-tls
52+
items:
53+
- key: tls.crt
54+
path: public.crt
55+
- key: tls.key
56+
path: private.key

hack/minio/minio-service.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,8 @@ spec:
99
- protocol: TCP
1010
port: 9000
1111
targetPort: 9000
12+
name: api
13+
- protocol: TCP
14+
port: 36261
15+
targetPort: 36261
16+
name: webui

hack/minio/selfsigned-issuer.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: cert-manager.io/v1
2+
kind: Issuer
3+
metadata:
4+
name: selfsigned-issuer
5+
spec:
6+
selfSigned: {}

internal/cnpgi/instance/identity.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ func (i IdentityImplementation) GetPluginCapabilities(
4444
},
4545
},
4646
},
47+
{
48+
Type: &identity.PluginCapability_Service_{
49+
Service: &identity.PluginCapability_Service{
50+
Type: identity.PluginCapability_Service_TYPE_METRICS,
51+
},
52+
},
53+
},
4754
},
4855
}, nil
4956
}

internal/cnpgi/instance/metrics.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func (m metricsImpl) GetCapabilities(
4040
_ *metrics.MetricsCapabilitiesRequest,
4141
) (*metrics.MetricsCapabilitiesResult, error) {
4242
contextLogger := log.FromContext(ctx)
43-
contextLogger.Trace("metrics capabilities call received")
43+
contextLogger.Info("metrics capabilities call received")
4444

4545
return &metrics.MetricsCapabilitiesResult{
4646
Capabilities: []*metrics.MetricsCapability{
@@ -60,17 +60,10 @@ func (m metricsImpl) Define(
6060
_ *metrics.DefineMetricsRequest,
6161
) (*metrics.DefineMetricsResult, error) {
6262
contextLogger := log.FromContext(ctx)
63-
contextLogger.Trace("metrics define call received")
63+
contextLogger.Info("metrics define call received")
6464

6565
return &metrics.DefineMetricsResult{
6666
Metrics: []*metrics.Metric{
67-
{
68-
FqName: testMetricName,
69-
Help: "this is a test metric",
70-
VariableLabels: nil,
71-
ConstLabels: map[string]string{"test": "value"},
72-
ValueType: &metrics.MetricType{Type: metrics.MetricType_TYPE_GAUGE},
73-
},
7467
{
7568
FqName: firstRecoverabilityPointMetricName,
7669
Help: "The first point of recoverability for the cluster as a unix timestamp",
@@ -90,7 +83,7 @@ func (m metricsImpl) Collect(
9083
req *metrics.CollectMetricsRequest,
9184
) (*metrics.CollectMetricsResult, error) {
9285
contextLogger := log.FromContext(ctx)
93-
contextLogger.Trace("metrics collect call received")
86+
contextLogger.Info("metrics collect call received")
9487

9588
configuration, err := config.NewFromClusterJSON(req.ClusterDefinition)
9689
if err != nil {
@@ -106,7 +99,18 @@ func (m metricsImpl) Collect(
10699

107100
x, ok := objectStore.Status.ServerRecoveryWindow[configuration.ServerName]
108101
if !ok {
109-
return nil, fmt.Errorf("no recovery window found for server %s", configuration.ServerName)
102+
return &metrics.CollectMetricsResult{
103+
Metrics: []*metrics.CollectMetric{
104+
{
105+
FqName: firstRecoverabilityPointMetricName,
106+
Value: 0,
107+
},
108+
{
109+
FqName: lastAvailableBackupTimestampMetricName,
110+
Value: 0,
111+
},
112+
},
113+
}, nil
110114
}
111115

112116
var firstRecoverabilityPoint float64
@@ -120,10 +124,6 @@ func (m metricsImpl) Collect(
120124

121125
return &metrics.CollectMetricsResult{
122126
Metrics: []*metrics.CollectMetric{
123-
{
124-
FqName: testMetricName,
125-
Value: 42.0,
126-
},
127127
{
128128
FqName: firstRecoverabilityPointMetricName,
129129
Value: firstRecoverabilityPoint,

0 commit comments

Comments
 (0)