Skip to content

Commit 128ce6e

Browse files
authored
update pgbouncer config when execute cluster provision for external clusters (#1103)
* add pgbouncer update ini for external cluster provision * [CLD-9031] Extend clusterStore interface to update pgbouncer configmap
1 parent 20a4242 commit 128ce6e

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

internal/provisioner/eks_provisioner.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ const EKSProvisionerType = "eks"
2929

3030
type clusterUpdateStore interface {
3131
UpdateCluster(cluster *model.Cluster) error
32+
GetMultitenantDatabases(filter *model.MultitenantDatabaseFilter) ([]*model.MultitenantDatabase, error)
33+
GetLogicalDatabases(filter *model.LogicalDatabaseFilter) ([]*model.LogicalDatabase, error)
3234
}
3335

3436
// EKSProvisioner provisions clusters using AWS EKS.

internal/provisioner/external_provisioner.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ import (
1010
"os"
1111
"path/filepath"
1212
"strings"
13+
"time"
1314

15+
"github.com/mattermost/mattermost-cloud/internal/provisioner/pgbouncer"
1416
"github.com/mattermost/mattermost-cloud/internal/provisioner/utility"
1517
"github.com/mattermost/mattermost-cloud/internal/store"
1618
"github.com/mattermost/mattermost-cloud/internal/supervisor"
@@ -119,10 +121,22 @@ func (provisioner *ExternalProvisioner) ProvisionCluster(cluster *model.Cluster)
119121
if cluster.HasAWSInfrastructure() {
120122
logger.Info("Provisioning resources for AWS infrastructure")
121123

124+
logger.Info("Deploying PgBouncer manifests")
122125
err = utility.DeployPgbouncerManifests(k8sClient, logger)
123126
if err != nil {
124127
return errors.Wrap(err, "failed to deploy pgbouncer manifests")
125128
}
129+
130+
vpc := cluster.VpcID()
131+
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
132+
defer cancel()
133+
logger.Info("Updating PgBouncer ConfigMap")
134+
135+
err = pgbouncer.UpdatePGBouncerConfigMap(ctx, vpc, provisioner.clusterUpdateStore, cluster.PgBouncerConfig, k8sClient, logger)
136+
if err != nil {
137+
return errors.Wrap(err, "failed to update configmap for pgbouncer-configmap")
138+
}
139+
logger.Info("PgBouncer ConfigMap updated successfully")
126140
}
127141

128142
return nil

0 commit comments

Comments
 (0)