fix minor things
This commit is contained in:
parent
cba48ea9dd
commit
7b4128d4bc
|
|
@ -290,12 +290,12 @@ In the CRD-based configuration they are grouped under the `load_balancer` key.
|
||||||
replaced with the hosted zone (the value of the `db_hosted_zone` parameter).
|
replaced with the hosted zone (the value of the `db_hosted_zone` parameter).
|
||||||
No other placeholders are allowed.
|
No other placeholders are allowed.
|
||||||
|
|
||||||
## AWS or GSC interaction
|
## AWS or GCP interaction
|
||||||
|
|
||||||
The options in this group configure operator interactions with non-Kubernetes
|
The options in this group configure operator interactions with non-Kubernetes
|
||||||
objects from AWS or Google cloud. They have no effect unless you are using
|
objects from Amazon Web Services (AWS) or Google Cloud Platform (GCP). They have no effect unless you are using
|
||||||
either. In the CRD-based configuration those options are grouped under the
|
either. In the CRD-based configuration those options are grouped under the
|
||||||
`aws_or_gcp` key.
|
`aws_or_gcp` key. Note the GCP integration is not yet officially supported.
|
||||||
|
|
||||||
* **wal_s3_bucket**
|
* **wal_s3_bucket**
|
||||||
S3 bucket to use for shipping WAL segments with WAL-E. A bucket has to be
|
S3 bucket to use for shipping WAL segments with WAL-E. A bucket has to be
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import (
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// CRDResource
|
// CRDResource* define names necesssary for the k8s CRD API
|
||||||
const (
|
const (
|
||||||
PostgresCRDResourceKind = "postgresql"
|
PostgresCRDResourceKind = "postgresql"
|
||||||
PostgresCRDResourcePlural = "postgresqls"
|
PostgresCRDResourcePlural = "postgresqls"
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ import (
|
||||||
// +genclient:noStatus
|
// +genclient:noStatus
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
// OperatorConfiguration defines the specification for the OperatorConfigration.
|
// OperatorConfiguration defines the specification for the OperatorConfiguration.
|
||||||
type OperatorConfiguration struct {
|
type OperatorConfiguration struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
metav1.ObjectMeta `json:"metadata"`
|
metav1.ObjectMeta `json:"metadata"`
|
||||||
|
|
@ -24,7 +24,7 @@ type OperatorConfiguration struct {
|
||||||
|
|
||||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||||
|
|
||||||
// OperatorConfigurationList defines the list of the OperatorConfigration.
|
// OperatorConfigurationList is used in the k8s API calls
|
||||||
type OperatorConfigurationList struct {
|
type OperatorConfigurationList struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
metav1.ListMeta `json:"metadata"`
|
metav1.ListMeta `json:"metadata"`
|
||||||
|
|
@ -32,13 +32,13 @@ type OperatorConfigurationList struct {
|
||||||
Items []OperatorConfiguration `json:"items"`
|
Items []OperatorConfiguration `json:"items"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// PostgresUsersConfiguration defines the user of the Postgres.
|
// PostgresUsersConfiguration defines the system users of Postgres.
|
||||||
type PostgresUsersConfiguration struct {
|
type PostgresUsersConfiguration struct {
|
||||||
SuperUsername string `json:"super_username,omitempty"`
|
SuperUsername string `json:"super_username,omitempty"`
|
||||||
ReplicationUsername string `json:"replication_username,omitempty"`
|
ReplicationUsername string `json:"replication_username,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// KubernetesMetaConfiguration defines the pod service account info
|
// KubernetesMetaConfiguration defines k8s conf required for all Postgres clusters and the operator itself
|
||||||
type KubernetesMetaConfiguration struct {
|
type KubernetesMetaConfiguration struct {
|
||||||
PodServiceAccountName string `json:"pod_service_account_name,omitempty"`
|
PodServiceAccountName string `json:"pod_service_account_name,omitempty"`
|
||||||
// TODO: change it to the proper json
|
// TODO: change it to the proper json
|
||||||
|
|
@ -79,7 +79,7 @@ type OperatorTimeouts struct {
|
||||||
ReadyWaitTimeout Duration `json:"ready_wait_timeout,omitempty"`
|
ReadyWaitTimeout Duration `json:"ready_wait_timeout,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// LoadBalancerConfiguration defines the LB DNS configration
|
// LoadBalancerConfiguration defines the LB configuration
|
||||||
type LoadBalancerConfiguration struct {
|
type LoadBalancerConfiguration struct {
|
||||||
DbHostedZone string `json:"db_hosted_zone,omitempty"`
|
DbHostedZone string `json:"db_hosted_zone,omitempty"`
|
||||||
EnableMasterLoadBalancer bool `json:"enable_master_load_balancer,omitempty"`
|
EnableMasterLoadBalancer bool `json:"enable_master_load_balancer,omitempty"`
|
||||||
|
|
@ -88,7 +88,8 @@ type LoadBalancerConfiguration struct {
|
||||||
ReplicaDNSNameFormat config.StringTemplate `json:"replica_dns_name_format,omitempty"`
|
ReplicaDNSNameFormat config.StringTemplate `json:"replica_dns_name_format,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
//AWSGCPConfiguration defines the configration of AWS s3
|
// AWSGCPConfiguration defines the configuration for AWS
|
||||||
|
// TODO complete Google Cloud Platform (GCP) configuration
|
||||||
type AWSGCPConfiguration struct {
|
type AWSGCPConfiguration struct {
|
||||||
WALES3Bucket string `json:"wal_s3_bucket,omitempty"`
|
WALES3Bucket string `json:"wal_s3_bucket,omitempty"`
|
||||||
AWSRegion string `json:"aws_region,omitempty"`
|
AWSRegion string `json:"aws_region,omitempty"`
|
||||||
|
|
@ -163,5 +164,5 @@ type OperatorConfigurationUsers struct {
|
||||||
TeamAPIRoleConfiguration map[string]string `json:"team_api_role_configuration,omitempty"`
|
TeamAPIRoleConfiguration map[string]string `json:"team_api_role_configuration,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
//Duration is time.Duration
|
//Duration shortens this frequently used name
|
||||||
type Duration time.Duration
|
type Duration time.Duration
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"github.com/zalando-incubator/postgres-operator/pkg/apis/acid.zalan.do"
|
"github.com/zalando-incubator/postgres-operator/pkg/apis/acid.zalan.do"
|
||||||
)
|
)
|
||||||
|
|
||||||
// APIVersion refered API version
|
// APIVersion of the `postgresql` and `operator` CRDs
|
||||||
const (
|
const (
|
||||||
APIVersion = "v1"
|
APIVersion = "v1"
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ var (
|
||||||
serviceNameRegex = regexp.MustCompile(serviceNameRegexString)
|
serviceNameRegex = regexp.MustCompile(serviceNameRegexString)
|
||||||
)
|
)
|
||||||
|
|
||||||
// Clone returns Postgresql.DeepCopy
|
// Clone convenience wrapper around DeepCopy
|
||||||
func (p *Postgresql) Clone() *Postgresql {
|
func (p *Postgresql) Clone() *Postgresql {
|
||||||
if p == nil {
|
if p == nil {
|
||||||
return nil
|
return nil
|
||||||
|
|
@ -84,7 +84,7 @@ func validateCloneClusterDescription(clone *CloneDescription) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Success returns status ClusterFailed or not
|
// Success of the last operation on a Postgres cluster
|
||||||
func (status PostgresStatus) Success() bool {
|
func (status PostgresStatus) Success() bool {
|
||||||
return status != ClusterStatusAddFailed &&
|
return status != ClusterStatusAddFailed &&
|
||||||
status != ClusterStatusUpdateFailed &&
|
status != ClusterStatusUpdateFailed &&
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,13 @@
|
||||||
package cluster
|
package cluster
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
acidv1 "github.com/zalando-incubator/postgres-operator/pkg/apis/acid.zalan.do/v1"
|
acidv1 "github.com/zalando-incubator/postgres-operator/pkg/apis/acid.zalan.do/v1"
|
||||||
"k8s.io/api/apps/v1beta1"
|
"k8s.io/api/apps/v1beta1"
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
policybeta1 "k8s.io/api/policy/v1beta1"
|
policybeta1 "k8s.io/api/policy/v1beta1"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// PostgresRole describes role of the node
|
// PostgresRole describes role of the node
|
||||||
|
|
@ -20,7 +21,7 @@ const (
|
||||||
Replica PostgresRole = "replica"
|
Replica PostgresRole = "replica"
|
||||||
)
|
)
|
||||||
|
|
||||||
// PodEventType describe value of event type
|
// PodEventType describes value of event type
|
||||||
type PodEventType string
|
type PodEventType string
|
||||||
|
|
||||||
// Possible values for the EventType
|
// Possible values for the EventType
|
||||||
|
|
|
||||||
|
|
@ -460,7 +460,7 @@ func (c *Cluster) setSpec(newSpec *acidv1.Postgresql) {
|
||||||
c.specMu.Unlock()
|
c.specMu.Unlock()
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetSpec returns cluster.Postgresql
|
// GetSpec returns a copy of the operator-side spec of a Postgres cluster in a thread-safe manner
|
||||||
func (c *Cluster) GetSpec() (*acidv1.Postgresql, error) {
|
func (c *Cluster) GetSpec() (*acidv1.Postgresql, error) {
|
||||||
c.specMu.RLock()
|
c.specMu.RLock()
|
||||||
defer c.specMu.RUnlock()
|
defer c.specMu.RUnlock()
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ func (n *NamespacedName) Decode(value string) error {
|
||||||
return n.DecodeWorker(value, GetOperatorNamespace())
|
return n.DecodeWorker(value, GetOperatorNamespace())
|
||||||
}
|
}
|
||||||
|
|
||||||
// UnmarshalJSON covert to NamespacedName from byte slice
|
// UnmarshalJSON converts a byte slice to NamespacedName
|
||||||
func (n *NamespacedName) UnmarshalJSON(data []byte) error {
|
func (n *NamespacedName) UnmarshalJSON(data []byte) error {
|
||||||
result := NamespacedName{}
|
result := NamespacedName{}
|
||||||
var tmp string
|
var tmp string
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ type fieldInfo struct {
|
||||||
Field reflect.Value
|
Field reflect.Value
|
||||||
}
|
}
|
||||||
|
|
||||||
// StringTemplate is string
|
// StringTemplate is a convenience alias
|
||||||
type StringTemplate string
|
type StringTemplate string
|
||||||
|
|
||||||
func decoderFrom(field reflect.Value) (d decoder) {
|
func decoderFrom(field reflect.Value) (d decoder) {
|
||||||
|
|
@ -240,7 +240,7 @@ func (f *StringTemplate) Format(a ...string) string {
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
// MarshalJSON returns json.Marshal(byte slice) from StringTemplate
|
// MarshalJSON converts a StringTemplate to byte slice
|
||||||
func (f StringTemplate) MarshalJSON() ([]byte, error) {
|
func (f StringTemplate) MarshalJSON() ([]byte, error) {
|
||||||
return json.Marshal(string(f))
|
return json.Marshal(string(f))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ type httpClient interface {
|
||||||
Do(req *http.Request) (*http.Response, error)
|
Do(req *http.Request) (*http.Response, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Interface have to implement TeamInfo
|
// Interface to the TeamsAPIClient
|
||||||
type Interface interface {
|
type Interface interface {
|
||||||
TeamInfo(teamID, token string) (tm *Team, err error)
|
TeamInfo(teamID, token string) (tm *Team, err error)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue