From d62ffba8fb6e0eb084d8921275f28af669ba07b5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niccol=C3=B2=20Fei?=
Date: Mon, 24 Mar 2025 14:13:16 +0100
Subject: [PATCH 1/7] feat: generate apidoc using genref
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Niccolò Fei
---
Taskfile.yml | 15 +++
docs/config.yaml | 46 ++++++++
docs/markdown/members.tpl | 34 ++++++
docs/markdown/pkg.tpl | 43 +++++++
docs/markdown/type.tpl | 37 ++++++
docs/src/plugin-barman-cloud.v1.md | 173 +++++++++++++++++++++++++++++
6 files changed, 348 insertions(+)
create mode 100644 docs/config.yaml
create mode 100644 docs/markdown/members.tpl
create mode 100644 docs/markdown/pkg.tpl
create mode 100644 docs/markdown/type.tpl
create mode 100644 docs/src/plugin-barman-cloud.v1.md
diff --git a/Taskfile.yml b/Taskfile.yml
index 35f1fc0b..b2d979e3 100644
--- a/Taskfile.yml
+++ b/Taskfile.yml
@@ -69,6 +69,21 @@ tasks:
sources:
- ./**
+ apidoc:
+ desc: Update the API Reference section of the documentation
+ env:
+ # renovate: datasource=git-refs depName=genref lookupName=https://github.com/cloudnative-pg/daggerverse currentValue=main
+ DAGGER_UNCOMMITTED_SHA: ac27cc7677fc42ea129fd3c1aa2b2894aad3a246
+ cmds:
+ - GITHUB_REF= dagger -s call -m github.com/cloudnative-pg/daggerverse/genref@${DAGGER_UNCOMMITTED_SHA} genref --source .
+ --args "-c=config.yaml" --args "-o=src" --args "-include=plugin-barman-cloud"
+ file --path src/plugin-barman-cloud.v1.md
+ export --path docs/src/plugin-barman-cloud.v1.md
+ sources:
+ - ./api/**/*.go
+ generates:
+ - ./docs/src/plugin-barman-cloud.v1.md
+
go-test:
desc: Run go test
env:
diff --git a/docs/config.yaml b/docs/config.yaml
new file mode 100644
index 00000000..ee0c1a97
--- /dev/null
+++ b/docs/config.yaml
@@ -0,0 +1,46 @@
+hiddenMemberFields:
+ - "TypeMeta"
+
+externalPackages:
+ - match: ^github\.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1\.RelabelConfig$
+ target: https://pkg.go.dev/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1#RelabelConfig
+ - match: ^k8s\.io/apimachinery/pkg/apis/meta/v1\.Duration$
+ target: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#Duration
+ - match: ^k8s\.io/apimachinery/pkg/apis/meta/v1\.GroupVersionKind$
+ target: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#GroupVersionKind
+ - match: ^k8s\.io/apimachinery/pkg/apis/meta/v1\.GroupVersionResource$
+ target: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#GroupVersionResource
+ - match: ^k8s\.io/apimachinery/pkg/types\.UID$
+ target: https://pkg.go.dev/k8s.io/apimachinery/pkg/types#UID
+ - match: ^k8s\.io/apimachinery/pkg/runtime\.RawExtension$
+ target: https://pkg.go.dev/k8s.io/apimachinery/pkg/runtime/#RawExtension
+ - match: ^k8s\.io/apimachinery/pkg/api/resource\.Quantity$
+ target: https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity
+ - match: ^k8s\.io/apimachinery/pkg/api/resource\.QuantityValue$
+ target: https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#QuantityValue
+ - match: ^k8s\.io/apimachinery/pkg/runtime\.Unknown$
+ target: https://pkg.go.dev/k8s.io/apimachinery/pkg/runtime#Unknown
+ - match: ^time\.Duration$
+ target: https://pkg.go.dev/time#Duration
+ - match: ^k8s\.io/(api|apimachinery/pkg/apis)/
+ target: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#{{- lower .TypeIdentifier -}}-{{- arrIndex .PackageSegments -1 -}}-{{- arrIndex .PackageSegments -2 -}}
+ - match: ^github\.com/cloudnative-pg/machinery
+ target: https://pkg.go.dev/github.com/cloudnative-pg/machinery/pkg/api/#{{- .TypeIdentifier }}
+ - match: ^github\.com/cloudnative-pg/barman-cloud
+ target: https://pkg.go.dev/github.com/cloudnative-pg/barman-cloud/pkg/api/#{{- .TypeIdentifier }}
+
+hideTypePatterns:
+ - "ParseError$"
+ - "\\.ObjectStoreList$"
+
+markdownDisabled: false
+
+stripPrefix:
+ - k8s.io/api/
+ - k8s.io/apimachinery/pkg/apis/
+
+apis:
+ - name: plugin-barman-cloud
+ title: API Reference
+ package: github.com/cloudnative-pg/plugin-barman-cloud
+ path: api/v1
diff --git a/docs/markdown/members.tpl b/docs/markdown/members.tpl
new file mode 100644
index 00000000..d3bacd16
--- /dev/null
+++ b/docs/markdown/members.tpl
@@ -0,0 +1,34 @@
+{{ define "members" }}
+ {{- /* . is a apiType */ -}}
+ {{- range .GetMembers -}}
+ {{- /* . is a apiMember */ -}}
+ {{- if not .Hidden }}
+{{ .FieldName }}
+ {{- if and (not .IsOptional) (not .IsInline) }} [Required]{{- end -}}
+
+{{/* Link for type reference */}}
+ {{- with .GetType -}}
+ {{- if .Link -}}
+{{ .DisplayName }}
+ {{- else -}}
+{{ .DisplayName }}
+ {{- end -}}
+ {{- end }}
+ |
+
+ {{- if .IsInline -}}
+(Members of {{ .FieldName }} are embedded into this type.)
+ {{- end }}
+ {{ if .GetComment -}}
+ {{ .GetComment }}
+ {{- else -}}
+ No description provided.
+ {{- end }}
+ {{- if and (eq (.GetType.Name.Name) "ObjectMeta") -}}
+Refer to the Kubernetes API documentation for the fields of the metadata field.
+ {{- end -}}
+ |
+
+ {{- end }}
+ {{- end }}
+{{ end }}
diff --git a/docs/markdown/pkg.tpl b/docs/markdown/pkg.tpl
new file mode 100644
index 00000000..345d032f
--- /dev/null
+++ b/docs/markdown/pkg.tpl
@@ -0,0 +1,43 @@
+{{ define "packages" -}}
+
+# API Reference
+
+{{ $grpname := "" -}}
+{{- range $idx, $val := .packages -}}
+ {{- if and (ne .GroupName "") (eq $grpname "") -}}
+{{ .GetComment -}}
+{{- $grpname = .GroupName -}}
+ {{- end -}}
+{{- end }}
+
+## Resource Types
+
+{{ range .packages -}}
+ {{- /* if ne .GroupName "" */ -}}
+ {{- range .VisibleTypes -}}
+ {{- if .IsExported }}
+- [{{ .DisplayName }}]({{ .Link }})
+ {{- end -}}
+ {{- end -}}
+ {{- /* end */ -}}
+{{- end -}}
+
+{{- range .packages -}}
+ {{- if ne .GroupName "" -}}
+
+ {{- /* For package with a group name, list all type definitions in it. */ -}}
+ {{- range .VisibleTypes -}}
+ {{- if or .Referenced .IsExported -}}
+{{ template "type" . }}
+ {{- end -}}
+ {{- end }}
+ {{- else -}}
+ {{- /* For package w/o group name, list only types referenced. */ -}}
+ {{- range .VisibleTypes -}}
+ {{- if .Referenced -}}
+{{ template "type" . }}
+ {{- end -}}
+ {{- end }}
+ {{- end }}
+{{- end }}
+{{- end }}
diff --git a/docs/markdown/type.tpl b/docs/markdown/type.tpl
new file mode 100644
index 00000000..91f76218
--- /dev/null
+++ b/docs/markdown/type.tpl
@@ -0,0 +1,37 @@
+{{ define "type" }}
+
+## {{ .Name.Name }} {#{{ .Anchor }}}
+
+{{ if eq .Kind "Alias" -}}
+(Alias of `{{ .Underlying }}`)
+{{ end }}
+
+{{- with .References }}
+**Appears in:**
+{{ range . }}
+{{ if or .Referenced .IsExported -}}
+- [{{ .DisplayName }}]({{ .Link }})
+{{ end -}}
+{{- end -}}
+{{- end }}
+
+{{ if .GetComment -}}
+{{ .GetComment }}
+{{ end }}
+{{ if .GetMembers -}}
+
+| Field | Description |
+
+ {{- /* . is a apiType */ -}}
+ {{- if .IsExported -}}
+{{- /* Add apiVersion and kind rows if deemed necessary */}}
+apiVersion [Required] string | {{- .APIGroup -}} |
+kind [Required] string | {{- .Name.Name -}} |
+ {{- end -}}
+
+{{/* The actual list of members is in the following template */}}
+{{- template "members" . -}}
+
+
+{{- end -}}
+{{- end -}}
diff --git a/docs/src/plugin-barman-cloud.v1.md b/docs/src/plugin-barman-cloud.v1.md
new file mode 100644
index 00000000..58b1fc31
--- /dev/null
+++ b/docs/src/plugin-barman-cloud.v1.md
@@ -0,0 +1,173 @@
+# API Reference
+
+Package v1 contains API Schema definitions for the barmancloud v1 API group
+
+
+## Resource Types
+
+
+- [ObjectStore](#barmancloud-cnpg-io-v1-ObjectStore)
+
+## ObjectStore {#barmancloud-cnpg-io-v1-ObjectStore}
+
+
+
+ObjectStore is the Schema for the objectstores API.
+
+
+
+| Field | Description |
+
+apiVersion [Required] string | barmancloud.cnpg.io/v1 |
+kind [Required] string | ObjectStore |
+metadata [Required]
+meta/v1.ObjectMeta
+ |
+
+ No description provided.Refer to the Kubernetes API documentation for the fields of the metadata field. |
+
+spec [Required]
+ObjectStoreSpec
+ |
+
+ No description provided. |
+
+status
+ObjectStoreStatus
+ |
+
+ No description provided. |
+
+
+
+
+## InstanceSidecarConfiguration {#barmancloud-cnpg-io-v1-InstanceSidecarConfiguration}
+
+
+**Appears in:**
+
+- [ObjectStoreSpec](#barmancloud-cnpg-io-v1-ObjectStoreSpec)
+
+
+InstanceSidecarConfiguration defines the configuration for the sidecar that runs in the instance pods.
+
+
+
+| Field | Description |
+
+env
+[]core/v1.EnvVar
+ |
+
+ The environment to be explicitly passed to the sidecar
+ |
+
+retentionPolicyIntervalSeconds
+int
+ |
+
+ The retentionCheckInterval defines the frequency at which the
+system checks and enforces retention policies.
+ |
+
+
+
+
+## ObjectStoreSpec {#barmancloud-cnpg-io-v1-ObjectStoreSpec}
+
+
+**Appears in:**
+
+- [ObjectStore](#barmancloud-cnpg-io-v1-ObjectStore)
+
+
+ObjectStoreSpec defines the desired state of ObjectStore.
+
+
+
+| Field | Description |
+
+configuration [Required]
+github.com/cloudnative-pg/barman-cloud/pkg/api.BarmanObjectStoreConfiguration
+ |
+
+ The configuration for the barman-cloud tool suite
+ |
+
+retentionPolicy
+string
+ |
+
+ RetentionPolicy is the retention policy to be used for backups
+and WALs (i.e. '60d'). The retention policy is expressed in the form
+of XXu where XX is a positive integer and u is in [dwm] -
+days, weeks, months.
+ |
+
+instanceSidecarConfiguration
+InstanceSidecarConfiguration
+ |
+
+ No description provided. |
+
+
+
+
+## ObjectStoreStatus {#barmancloud-cnpg-io-v1-ObjectStoreStatus}
+
+
+**Appears in:**
+
+- [ObjectStore](#barmancloud-cnpg-io-v1-ObjectStore)
+
+
+ObjectStoreStatus defines the observed state of ObjectStore.
+
+
+
+| Field | Description |
+
+serverRecoveryWindow [Required]
+map[string]RecoveryWindow
+ |
+
+ ServerRecoveryWindow maps each server to its recovery window
+ |
+
+
+
+
+## RecoveryWindow {#barmancloud-cnpg-io-v1-RecoveryWindow}
+
+
+**Appears in:**
+
+- [ObjectStoreStatus](#barmancloud-cnpg-io-v1-ObjectStoreStatus)
+
+
+RecoveryWindow represents the time span between the first
+recoverability point and the last successful backup of a PostgreSQL
+server, defining the period during which data can be restored.
+
+
+
+| Field | Description |
+
+firstRecoverabilityPoint [Required]
+meta/v1.Time
+ |
+
+ The first recoverability point in a PostgreSQL server refers to
+the earliest point in time to which the database can be
+restored.
+ |
+
+lastSuccussfulBackupTime [Required]
+meta/v1.Time
+ |
+
+ The last successful backup time
+ |
+
+
+
\ No newline at end of file
From 2a86790f4b5549a36ce92bc3845d75a67c666cea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niccol=C3=B2=20Fei?=
Date: Mon, 24 Mar 2025 14:52:31 +0100
Subject: [PATCH 2/7] ci: fix spellcheck
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Niccolò Fei
---
.wordlist.txt | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/.wordlist.txt b/.wordlist.txt
index e9676af7..8d57d03f 100644
--- a/.wordlist.txt
+++ b/.wordlist.txt
@@ -1,11 +1,21 @@
Azurite
BarmanObjectStore
+BarmanObjectStoreConfiguration
BarmanObjectStores
CloudNativePG
+EnvVar
Gi
IfNotPresent
+InstanceSidecarConfiguration
MinIO
+ObjectMeta
+ObjectStore
+ObjectStoreSpec
+ObjectStoreStatus
PITR
+RecoveryWindow
+RetentionPolicy
+ServerRecoveryWindow
TLS
TODO
WAL
@@ -47,7 +57,9 @@ postgresql
primaryUpdateStrategy
rbac
rc
+recoverability
repos
+retentionCheckInterval
rolebinding
sc
selfsigned
From 8133e812058c7dde9cfadc774e0150056e3220fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niccol=C3=B2=20Fei?=
Date: Mon, 24 Mar 2025 17:19:14 +0100
Subject: [PATCH 3/7] chore: add some missing descriptions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Niccolò Fei
---
api/v1/objectstore_types.go | 6 ++++++
docs/src/plugin-barman-cloud.v1.md | 12 +++++++++---
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/api/v1/objectstore_types.go b/api/v1/objectstore_types.go
index 786d92dc..a028adf7 100644
--- a/api/v1/objectstore_types.go
+++ b/api/v1/objectstore_types.go
@@ -48,6 +48,7 @@ type ObjectStoreSpec struct {
// +optional
RetentionPolicy string `json:"retentionPolicy,omitempty"`
+ // The configuration for the sidecar that runs in the instance pods
// +optional
InstanceSidecarConfiguration InstanceSidecarConfiguration `json:"instanceSidecarConfiguration,omitempty"`
}
@@ -81,7 +82,12 @@ type ObjectStore struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata"`
+ // Specification of the desired behavior of the ObjectStore.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Spec ObjectStoreSpec `json:"spec"`
+ // Most recently observed status of the ObjectStore. This data may not be up to
+ // date. Populated by the system. Read-only.
+ // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status ObjectStoreStatus `json:"status,omitempty"`
}
diff --git a/docs/src/plugin-barman-cloud.v1.md b/docs/src/plugin-barman-cloud.v1.md
index 58b1fc31..0573d8f0 100644
--- a/docs/src/plugin-barman-cloud.v1.md
+++ b/docs/src/plugin-barman-cloud.v1.md
@@ -30,13 +30,18 @@
ObjectStoreSpec
- No description provided. |
+ Specification of the desired behavior of the ObjectStore.
+More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+
status
ObjectStoreStatus
|
- No description provided. |
+ Most recently observed status of the ObjectStore. This data may not be up to
+date. Populated by the system. Read-only.
+More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+
@@ -108,7 +113,8 @@ days, weeks, months.
InstanceSidecarConfiguration
- No description provided. |
+ The configuration for the sidecar that runs in the instance pods
+
From 9104f53855e81749a31729ab19a6f5289d5231b9 Mon Sep 17 00:00:00 2001
From: Francesco Canovai
Date: Thu, 27 Mar 2025 09:23:31 +0100
Subject: [PATCH 4/7] docs: fix spellcheck errors
Signed-off-by: Francesco Canovai
---
.wordlist.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.wordlist.txt b/.wordlist.txt
index 8d57d03f..c4f8554f 100644
--- a/.wordlist.txt
+++ b/.wordlist.txt
@@ -36,6 +36,7 @@ cnpg
codebase
csi
customresourcedefinition
+devel
externalClusters
gcs
gf
@@ -47,6 +48,7 @@ io
isWALArchiver
kubectl
kubernetes
+md
minio
namespace
namespaces
@@ -65,6 +67,7 @@ sc
selfsigned
serverName
serviceaccount
+sig
storageClass
tfddg
tgz
From 5b28031d425414cc4808ea172abe961a924f0424 Mon Sep 17 00:00:00 2001
From: Francesco Canovai
Date: Thu, 27 Mar 2025 09:24:07 +0100
Subject: [PATCH 5/7] ci: review apidoc task
Signed-off-by: Francesco Canovai
---
Taskfile.yml | 5 +++--
docs/config.yaml | 22 ----------------------
2 files changed, 3 insertions(+), 24 deletions(-)
diff --git a/Taskfile.yml b/Taskfile.yml
index b2d979e3..913bdc9a 100644
--- a/Taskfile.yml
+++ b/Taskfile.yml
@@ -73,14 +73,15 @@ tasks:
desc: Update the API Reference section of the documentation
env:
# renovate: datasource=git-refs depName=genref lookupName=https://github.com/cloudnative-pg/daggerverse currentValue=main
- DAGGER_UNCOMMITTED_SHA: ac27cc7677fc42ea129fd3c1aa2b2894aad3a246
+ DAGGER_APIDOC_SHA: ac27cc7677fc42ea129fd3c1aa2b2894aad3a246
cmds:
- - GITHUB_REF= dagger -s call -m github.com/cloudnative-pg/daggerverse/genref@${DAGGER_UNCOMMITTED_SHA} genref --source .
+ - GITHUB_REF= dagger -s call -m github.com/cloudnative-pg/daggerverse/genref@${DAGGER_APIDOC_SHA} genref --source .
--args "-c=config.yaml" --args "-o=src" --args "-include=plugin-barman-cloud"
file --path src/plugin-barman-cloud.v1.md
export --path docs/src/plugin-barman-cloud.v1.md
sources:
- ./api/**/*.go
+ - ./docs/config.yaml
generates:
- ./docs/src/plugin-barman-cloud.v1.md
diff --git a/docs/config.yaml b/docs/config.yaml
index ee0c1a97..4195d1a2 100644
--- a/docs/config.yaml
+++ b/docs/config.yaml
@@ -2,30 +2,8 @@ hiddenMemberFields:
- "TypeMeta"
externalPackages:
- - match: ^github\.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1\.RelabelConfig$
- target: https://pkg.go.dev/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1#RelabelConfig
- - match: ^k8s\.io/apimachinery/pkg/apis/meta/v1\.Duration$
- target: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#Duration
- - match: ^k8s\.io/apimachinery/pkg/apis/meta/v1\.GroupVersionKind$
- target: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#GroupVersionKind
- - match: ^k8s\.io/apimachinery/pkg/apis/meta/v1\.GroupVersionResource$
- target: https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#GroupVersionResource
- - match: ^k8s\.io/apimachinery/pkg/types\.UID$
- target: https://pkg.go.dev/k8s.io/apimachinery/pkg/types#UID
- - match: ^k8s\.io/apimachinery/pkg/runtime\.RawExtension$
- target: https://pkg.go.dev/k8s.io/apimachinery/pkg/runtime/#RawExtension
- - match: ^k8s\.io/apimachinery/pkg/api/resource\.Quantity$
- target: https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity
- - match: ^k8s\.io/apimachinery/pkg/api/resource\.QuantityValue$
- target: https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#QuantityValue
- - match: ^k8s\.io/apimachinery/pkg/runtime\.Unknown$
- target: https://pkg.go.dev/k8s.io/apimachinery/pkg/runtime#Unknown
- - match: ^time\.Duration$
- target: https://pkg.go.dev/time#Duration
- match: ^k8s\.io/(api|apimachinery/pkg/apis)/
target: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#{{- lower .TypeIdentifier -}}-{{- arrIndex .PackageSegments -1 -}}-{{- arrIndex .PackageSegments -2 -}}
- - match: ^github\.com/cloudnative-pg/machinery
- target: https://pkg.go.dev/github.com/cloudnative-pg/machinery/pkg/api/#{{- .TypeIdentifier }}
- match: ^github\.com/cloudnative-pg/barman-cloud
target: https://pkg.go.dev/github.com/cloudnative-pg/barman-cloud/pkg/api/#{{- .TypeIdentifier }}
From 68c47158566623b7a72a3a9a2fcf80226a3edb77 Mon Sep 17 00:00:00 2001
From: Francesco Canovai
Date: Thu, 27 Mar 2025 10:42:48 +0100
Subject: [PATCH 6/7] docs: update generated objects
Signed-off-by: Francesco Canovai
---
.../crd/bases/barmancloud.cnpg.io_objectstores.yaml | 13 +++++++++----
manifest.yaml | 13 +++++++++----
2 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/config/crd/bases/barmancloud.cnpg.io_objectstores.yaml b/config/crd/bases/barmancloud.cnpg.io_objectstores.yaml
index c5053991..3dc7451f 100644
--- a/config/crd/bases/barmancloud.cnpg.io_objectstores.yaml
+++ b/config/crd/bases/barmancloud.cnpg.io_objectstores.yaml
@@ -37,7 +37,9 @@ spec:
metadata:
type: object
spec:
- description: ObjectStoreSpec defines the desired state of ObjectStore.
+ description: |-
+ Specification of the desired behavior of the ObjectStore.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
properties:
configuration:
description: The configuration for the barman-cloud tool suite
@@ -381,8 +383,8 @@ spec:
- destinationPath
type: object
instanceSidecarConfiguration:
- description: InstanceSidecarConfiguration defines the configuration
- for the sidecar that runs in the instance pods.
+ description: The configuration for the sidecar that runs in the instance
+ pods
properties:
env:
description: The environment to be explicitly passed to the sidecar
@@ -523,7 +525,10 @@ spec:
- configuration
type: object
status:
- description: ObjectStoreStatus defines the observed state of ObjectStore.
+ description: |-
+ Most recently observed status of the ObjectStore. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
properties:
serverRecoveryWindow:
additionalProperties:
diff --git a/manifest.yaml b/manifest.yaml
index f77efc63..2240f770 100644
--- a/manifest.yaml
+++ b/manifest.yaml
@@ -36,7 +36,9 @@ spec:
metadata:
type: object
spec:
- description: ObjectStoreSpec defines the desired state of ObjectStore.
+ description: |-
+ Specification of the desired behavior of the ObjectStore.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
properties:
configuration:
description: The configuration for the barman-cloud tool suite
@@ -380,8 +382,8 @@ spec:
- destinationPath
type: object
instanceSidecarConfiguration:
- description: InstanceSidecarConfiguration defines the configuration
- for the sidecar that runs in the instance pods.
+ description: The configuration for the sidecar that runs in the instance
+ pods
properties:
env:
description: The environment to be explicitly passed to the sidecar
@@ -522,7 +524,10 @@ spec:
- configuration
type: object
status:
- description: ObjectStoreStatus defines the observed state of ObjectStore.
+ description: |-
+ Most recently observed status of the ObjectStore. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
properties:
serverRecoveryWindow:
additionalProperties:
From 47fdc05bbb372529dd550ceb041d4b7c450a905b Mon Sep 17 00:00:00 2001
From: Francesco Canovai
Date: Thu, 27 Mar 2025 12:33:15 +0100
Subject: [PATCH 7/7] docs: link the README to the api doc
Signed-off-by: Francesco Canovai
---
README.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/README.md b/README.md
index 9ba83ec3..6950975b 100644
--- a/README.md
+++ b/README.md
@@ -17,6 +17,7 @@ plugin for [CloudNativePG](https://cloudnative-pg.io/).
- [Backup](#backup)
- [Restore](#restore)
- [Replica clusters](#replica-clusters)
+- [API Reference](#api-reference)
## Features
@@ -335,3 +336,8 @@ spec:
parameters:
barmanObjectName: minio-store-b
```
+
+## API Reference
+
+You can find the API reference on its
+[dedicated page](./docs/src/plugin-barman-cloud.v1.md).