Skip to content

Commit

Permalink
feat: add default resource limits and requests (#51)
Browse files Browse the repository at this point in the history
Signed-off-by: Philip Miglinci <pmig@glasskube.eu>
  • Loading branch information
pmig committed Jun 27, 2023
1 parent dd2e11c commit 5c3e585
Show file tree
Hide file tree
Showing 10 changed files with 50 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ data class GiteaSpec(
val smtp: GiteaSmtp? = null,
val resources: ResourceRequirements = ResourceRequirements(
null,
mapOf("memory" to Quantity("300", "Mi")),
mapOf("memory" to Quantity("400", "Mi")),
mapOf("memory" to Quantity("200", "Mi"))
)
)
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ import eu.glasskube.operator.infra.postgres.S3Credentials
import eu.glasskube.operator.infra.postgres.StorageConfiguration
import eu.glasskube.operator.infra.postgres.WalBackupConfiguration
import eu.glasskube.operator.infra.postgres.postgresCluster
import io.fabric8.kubernetes.api.model.Quantity
import io.fabric8.kubernetes.api.model.ResourceRequirements
import io.javaoperatorsdk.operator.api.reconciler.Context
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependent
Expand Down Expand Up @@ -58,6 +60,11 @@ class GiteaPostgresCluster : CRUDKubernetesDependentResource<PostgresCluster, Gi
wal = WalBackupConfiguration(compression = CompressionType.GZIP),
data = DataBackupConfiguration(compression = CompressionType.GZIP)
)
),
resources = ResourceRequirements(
null,
mapOf("memory" to Quantity("512", "Mi")),
mapOf("memory" to Quantity("256", "Mi"))
)
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ data class GitlabSpec(
val runners: List<GitlabRunnerSpecTemplate> = emptyList(),
val resources: ResourceRequirements = ResourceRequirements(
null,
emptyMap(),
mapOf("memory" to Quantity("3", "Gi")),
mapOf("cpu" to Quantity("200", "m"), "memory" to Quantity("2", "Gi"))
)
)
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ import eu.glasskube.operator.infra.postgres.S3Credentials
import eu.glasskube.operator.infra.postgres.StorageConfiguration
import eu.glasskube.operator.infra.postgres.WalBackupConfiguration
import eu.glasskube.operator.infra.postgres.postgresCluster
import io.fabric8.kubernetes.api.model.Quantity
import io.fabric8.kubernetes.api.model.ResourceRequirements
import io.javaoperatorsdk.operator.api.reconciler.Context
import io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource
Expand Down Expand Up @@ -69,6 +71,11 @@ class GitlabPostgresCluster : CRUDKubernetesDependentResource<PostgresCluster, G
wal = WalBackupConfiguration(compression = CompressionType.GZIP),
data = DataBackupConfiguration(compression = CompressionType.GZIP)
)
),
resources = ResourceRequirements(
null,
mapOf("memory" to Quantity("512", "Mi")),
mapOf("memory" to Quantity("256", "Mi"))
)
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package eu.glasskube.operator.apps.matomo
import eu.glasskube.operator.resourceLabels
import io.fabric8.generator.annotation.Nullable
import io.fabric8.kubernetes.api.model.Namespaced
import io.fabric8.kubernetes.api.model.Quantity
import io.fabric8.kubernetes.api.model.ResourceRequirements
import io.fabric8.kubernetes.client.CustomResource
import io.fabric8.kubernetes.model.annotation.Group
Expand All @@ -13,7 +14,11 @@ data class MatomoSpec(
val host: String? = null,
@field:Nullable
val smtp: MatomoSmtp? = null,
val resources: ResourceRequirements = ResourceRequirements()
val resources: ResourceRequirements = ResourceRequirements(
null,
mapOf("memory" to Quantity("600", "Mi")),
mapOf("memory" to Quantity("300", "Mi"))
)
)

class MatomoStatus {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ import eu.glasskube.operator.infra.mariadb.MariaDBVolumeClaimTemplate
import eu.glasskube.operator.infra.mariadb.Metrics
import eu.glasskube.operator.infra.mariadb.ServiceMonitor
import eu.glasskube.operator.infra.mariadb.mariaDB
import io.fabric8.kubernetes.api.model.Quantity
import io.fabric8.kubernetes.api.model.ResourceRequirements
import io.fabric8.kubernetes.api.model.SecretKeySelector
import io.javaoperatorsdk.operator.api.reconciler.Context
import io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource
Expand Down Expand Up @@ -56,6 +58,11 @@ class MatomoMariaDB(private val configService: ConfigService) :
resources = MariaDBResources(MariaDBResourcesRequest("10Gi")),
storageClassName = configService.getValue(ConfigKey.databaseStorageClassName)
),
resources = ResourceRequirements(
null,
mapOf("memory" to Quantity("512", "Mi")),
mapOf("memory" to Quantity("256", "Mi"))
),
metrics = Metrics(
exporter = Exporter(
image = MariaDBImage("prom/mysqld-exporter", "v0.14.0", "IfNotPresent")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ import eu.glasskube.operator.infra.postgres.S3Credentials
import eu.glasskube.operator.infra.postgres.StorageConfiguration
import eu.glasskube.operator.infra.postgres.WalBackupConfiguration
import eu.glasskube.operator.infra.postgres.postgresCluster
import io.fabric8.kubernetes.api.model.Quantity
import io.fabric8.kubernetes.api.model.ResourceRequirements
import io.javaoperatorsdk.operator.api.reconciler.Context
import io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource
Expand Down Expand Up @@ -69,6 +71,11 @@ class MetabasePostgresCluster : CRUDKubernetesDependentResource<PostgresCluster,
wal = WalBackupConfiguration(compression = CompressionType.GZIP),
data = DataBackupConfiguration(compression = CompressionType.GZIP)
)
),
resources = ResourceRequirements(
null,
mapOf("memory" to Quantity("512", "Mi")),
mapOf("memory" to Quantity("256", "Mi"))
)
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ import eu.glasskube.operator.infra.postgres.S3Credentials
import eu.glasskube.operator.infra.postgres.StorageConfiguration
import eu.glasskube.operator.infra.postgres.WalBackupConfiguration
import eu.glasskube.operator.infra.postgres.postgresCluster
import io.fabric8.kubernetes.api.model.Quantity
import io.fabric8.kubernetes.api.model.ResourceRequirements
import io.javaoperatorsdk.operator.api.reconciler.Context
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependent
Expand Down Expand Up @@ -65,6 +67,11 @@ class OdooPostgresCluster(private val configService: ConfigService) :
),
monitoring = MonitoringConfiguration(
enablePodMonitor = true
),
resources = ResourceRequirements(
null,
mapOf("memory" to Quantity("512", "Mi")),
mapOf("memory" to Quantity("256", "Mi"))
)
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package eu.glasskube.operator.infra.mariadb

import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import io.fabric8.generator.annotation.Nullable
import io.fabric8.kubernetes.api.model.Condition
import io.fabric8.kubernetes.api.model.Namespaced
import io.fabric8.kubernetes.api.model.ResourceRequirements
import io.fabric8.kubernetes.api.model.SecretKeySelector
import io.fabric8.kubernetes.client.CustomResource
import io.fabric8.kubernetes.model.annotation.Group
Expand Down Expand Up @@ -36,6 +38,8 @@ data class MariaDBSpec(
var image: MariaDBImage,
var port: Int = 3306,
var volumeClaimTemplate: MariaDBVolumeClaimTemplate,
@field:Nullable
var resources: ResourceRequirements?,
var metrics: Metrics? = null
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ package eu.glasskube.operator.infra.postgres
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import com.fasterxml.jackson.annotation.JsonInclude
import io.fabric8.kubernetes.api.model.LocalObjectReference
import io.fabric8.kubernetes.api.model.ResourceRequirements

// TODO: Add properties once needed:
// - certificates
// - serviceAccountTemplate
// - affinity
// - resources
// - nodeMaintenanceWindow
// - externalClusters
@JsonIgnoreProperties(ignoreUnknown = true)
Expand Down Expand Up @@ -39,5 +39,6 @@ data class ClusterSpec(
val primaryUpdateMethod: PrimaryUpdateMethod? = null,
val backup: BackupConfiguration? = null,
val logLevel: LogLevel? = null,
val monitoring: MonitoringConfiguration? = null
val monitoring: MonitoringConfiguration? = null,
val resources: ResourceRequirements? = null
)

0 comments on commit 5c3e585

Please sign in to comment.