Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions apis/installer/v1alpha1/ace_ace_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -395,6 +395,16 @@ type Settings struct {
Firebase FirebaseSettings `json:"firebase"`
// +optional
Marketplace *MarketplaceSettings `json:"marketplace,omitempty"`
// +optional
PgPool *PgPoolSettings `json:"pgpool,omitempty"`
}

type PgPoolSettings struct {
Enabled bool `json:"enabled"`
Replicas int `json:"replicas"`
Resources core.ResourceRequirements `json:"resources"`
// +optional
Config map[string]string `json:"config,omitempty"`
}

type DBSettings struct {
Expand Down
28 changes: 28 additions & 0 deletions apis/installer/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions charts/ace/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,14 @@ The following table lists the configurable parameters of the `ace` chart and the
| settings.db.auth.username | | <code>postgres</code> |
| settings.db.auth.password | | <code>"xyz"</code> |
| settings.db.logSQL | | <code>false</code> |
| settings.pgpool.enabled | | <code>true</code> |
| settings.pgpool.replicas | | <code>1</code> |
| settings.pgpool.config.num_init_children | | <code>"10"</code> |
| settings.pgpool.config.max_pool | | <code>"40"</code> |
| settings.pgpool.config.client_idle_limit | | <code>"120"</code> |
| settings.pgpool.resources.limits.memory | | <code>512Mi</code> |
| settings.pgpool.resources.requests.memory | | <code>256Mi</code> |
| settings.pgpool.resources.requests.cpu | | <code>250m</code> |
| settings.cache.version | | <code>"7.2.4"</code> |
| settings.cache.cacheInterval | | <code>60</code> |
| settings.cache.persistence.size | | <code>10Gi</code> |
Expand Down
4 changes: 4 additions & 0 deletions charts/ace/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -173,8 +173,12 @@ Returns the ServiceMonitor labels
Determine database host name
*/}}
{{- define "settings.database.host" -}}
{{- if .Values.settings.pgpool.enabled -}}
{{- printf "%s-pgpool.%s.svc:9999" (include "ace.fullname" .) .Release.Namespace -}}
{{- else -}}
{{- printf "%s-db.%s.svc:5432" (include "ace.fullname" .) .Release.Namespace -}}
{{- end -}}
{{- end -}}

{{- define "settings.oauth2JWTSecret" -}}
{{ .Values.settings.security.oauth2JWTSecret | default (randAlphaNum 43) }}
Expand Down
2 changes: 1 addition & 1 deletion charts/ace/templates/db/db-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ metadata:
type: Opaque
stringData:
user.conf: |
max_connections=110
max_connections=400
{{- if .Values.pgoutbox.enabled }}
wal_level=logical
max_wal_senders=50
Expand Down
76 changes: 76 additions & 0 deletions charts/ace/templates/db/pgpool.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
{{- if .Values.settings.pgpool.enabled }}
apiVersion: kubedb.com/v1alpha2
kind: Pgpool
metadata:
name: {{ include "ace.fullname" . }}-pgpool
namespace: {{ .Release.Namespace }}
labels:
{{- include "ace.labels" . | nindent 4 }}
spec:
version: "4.6.0"
replicas: {{ .Values.settings.pgpool.replicas }}
postgresRef:
name: {{ include "ace.fullname" . }}-db
namespace: {{ .Release.Namespace }}
syncUsers: true
deletionPolicy: {{ .Values.settings.db.deletionPolicy }}
{{- if .Values.settings.pgpool.config }}
configuration:
inline:
pgpool.conf: |
{{- range $k, $v := .Values.settings.pgpool.config }}
{{ $k }}={{ $v }}
{{- end }}
{{- end }}
podTemplate:
spec:
containers:
- name: pgpool
resources:
{{- toYaml .Values.settings.pgpool.resources | nindent 10 }}
{{- if eq (include "distro.openshift" $) "true" }}
securityContext:
runAsGroup: {{ .Values.securityContext.runAsUser }}
runAsUser: {{ .Values.securityContext.runAsUser }}
capabilities:
drop:
- ALL
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
securityContext:
fsGroup: {{ .Values.securityContext.runAsUser }}
runAsUser: {{ .Values.securityContext.runAsUser }}
runAsGroup: {{ .Values.securityContext.runAsUser }}
{{- end }}
{{- if .Values.global.monitoring }}
monitor:
agent: {{ .Values.global.monitoring.agent }}
prometheus:
serviceMonitor:
interval: 30s
labels:
{{- toYaml .Values.global.monitoring.serviceMonitor.labels | nindent 10 }}
{{- end }}
{{- end }}

---

apiVersion: catalog.kubedb.com/v1alpha1
kind: PgpoolVersion
metadata:
name: 4.6.0
spec:
exporter:
image: ghcr.io/appscode-images/pgpool2_exporter:v1.2.2
gitSyncer:
image: registry.k8s.io/git-sync/git-sync:v4.4.2
pgpool:
image: ghcr.io/appscode-images/pgpool2:4.6.0
securityContext:
runAsAnyNonRoot: true
runAsUser: 70
updateConstraints:
allowlist:
- '>= 4.6.0, <= 4.6.0'
version: 4.6.0
2 changes: 1 addition & 1 deletion charts/ace/templates/platform/setup-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ stringData:
reloadPlatformAccounts: true
{{- end }}
importerServiceAccount: {{ include "appscode.serviceAccountName" . }}-importer
syncPersesAccounts: true
syncPersesAccounts: {{ index .Values "perses" "enabled" | default false }}
{{- with .Values.setupJob.config }}
{{- . | toYaml | nindent 4 }}
{{- end }}
48 changes: 48 additions & 0 deletions charts/ace/values.openapiv3_schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24690,6 +24690,54 @@ properties:
required:
- encryptionKey
type: object
pgpool:
properties:
config:
additionalProperties:
type: string
type: object
enabled:
type: boolean
replicas:
type: integer
resources:
properties:
claims:
items:
properties:
name:
type: string
request:
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
type: object
type: object
required:
- enabled
- replicas
- resources
type: object
platform:
properties:
appName:
Expand Down
13 changes: 13 additions & 0 deletions charts/ace/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,19 @@ settings:
username: postgres
password: "xyz"
logSQL: false
pgpool:
enabled: true
replicas: 1
config:
num_init_children: "10"
max_pool: "40"
client_idle_limit: "180"
resources:
limits:
memory: 512Mi
requests:
memory: 256Mi
cpu: 250m
cache:
version: "7.2.4"
cacheInterval: 60
Expand Down
Loading