Propose renaming / adjustment to existing CRDs
Initial description of the issue
This issue will contain a proposal to:
- Rename CRD names and properties
- Propose minor additions/suppressions/reshaping
of the currently existing CRDs.
The goal is to provide a very user friendly approach to the CRDs and review for consistency. In light of the upcoming documentation (#124 (closed)) we want to make these adjustments before the CRD part of the documentation is written, to avoid rewrites.
Summary of changes to implement
-
Rename files in directory install/helm/stackgres-operator/crds
to$crdname.yaml
, where$crdname
is.spec.names.kind
. -
Upgrade API version of all CRDs to v1beta1
. -
CRD renaming:
kind | plural | singular | shortNames | listKind |
---|---|---|---|---|
SGCluster | sgclusters | sgcluster | sgclu | SGClusterList |
SGPostgresConfig | sgpgconfigs | sgpgconfig | sgpgc | SGPostgresConfigList |
SGPoolingConfig | sgpoolconfigs | sgpoolconfig | sgpoc | SGPoolingConfigList |
SGBackupConfig | sgbackupconfigs | sgbackupconfig | sgbac | SGBackupConfigList |
SGBackup | sgbackups | sgbackup | sgbkp | SGBackupList |
SGInstanceProfile | sginstanceprofiles | sginstanceprofile | sginp | SGInstanceProfileList |
-
Properties of SGCluster
:
metadata:
name: <string>
spec:
postgresVersion: <string>
instances: <integer>
sgInstanceProfile: <string>
pods:
persistentVolume:
size: <string>
storageClass: <string>
disableConnectionPooling: <boolean>
disableMetricsExporter: <boolean>
disablePostgresUtil: <boolean>
configurations:
sgPostgresConfig: <string>
sgPoolingConfig: <string>
sgBackupConfig: <string>
initialData:
restore:
fromBackup: <string>
downloadDiskConcurrency: <integer>
prometheusAutobind: <boolean>
nonProductionOptions:
disablePodAntiAffinity: <boolean>
-
Properties of SGPostgresConfig
:
metadata:
name: <string>
spec:
postgresVersion: <string>
postgresql.conf: <object>
-
Properties of SGPoolingConfig
:
metadata:
name: <string>
spec:
pgBouncer:
pgbouncer.ini: <object>
-
No changes to
SGInstanceProfile
. -
Properties of SGBackup
:
metadata:
name: <string>
spec:
sgCluster: <string>
subjectToRetentionPolicy: <boolean>
status:
internalName: <string>
process:
status: <enum> # s/pending/running/
failure: <string>
jobPod: <string>
subjectToRetentionPolicy: <boolean>
timing:
start: <timestamp>
end: <timestamp>
stored: <timestamp>
backupInformation:
hostname: <string>
systemIdentifier: <string>
postgresVersion: <string>
pgData: <string>
size:
compressed: <int64>
uncompressed: <int64>
lsn:
start: <string>
end: <string>
startWalFile: <string>
controlData: <object>
sgBackupConfig: #include <SGBackupConfig.spec>
backupTesting: #TBD, I'd remove "tested" for now as this field will contain more entries, such as time tested, restoration time, possibly others
-
Properties of SGBackupConfig
:
metadata:
name: <string>
spec:
baseBackups:
cronSchedule: <string>
retention: <integer>
compression: <enum>
performance:
maxNetworkBandwitdh: <integer>
maxDiskBandwitdh: <integer>
uploadDiskConcurrency: <integer>
storage:
type: <enum>
s3:
bucket: <string>
path: <string>
region: <string>
storageClass: <enum>
awsCredentials:
secretKeySelectors:
accessKeyId:
name: <string>
key: <string>
secretAccessKey:
name: <string>
key: <string>
s3Compatible:
bucket: <string>
path: <string>
enablePathStyleAddressing: <boolean>
endpoint: <string>
region: <string>
storageClass: <enum>
awsCredentials:
secretKeySelectors:
accessKeyId:
name: <string>
key: <string>
secretAccessKey:
name: <string>
key: <string>
gcs:
bucket: <string>
path: <string>
gcpCredentials:
secretKeySelectors:
serviceAccountJSON:
name: <string>
key: <string>
azureBlob:
bucket: <string>
path: <string>
azureCredentials:
secretKeySelectors:
storageAccount:
name: <string>
key: <string>
accessKey:
name: <string>
key: <string>
Edited by Alvaro Hernandez