Skip to content

Commit d5a5d2a

Browse files
feat: support scaling config for knative deployment types (#179)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 546d907 commit d5a5d2a

File tree

55 files changed

+258
-455
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+258
-455
lines changed

src/main/java/com/epam/aidial/deployment/manager/dao/entity/deployment/DeploymentEntity.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,8 @@ public class DeploymentEntity {
6262
@JdbcTypeCode(SqlTypes.JSON)
6363
private PersistenceDeploymentMetadata metadata;
6464

65-
@Column(name = "initial_scale")
66-
private Integer initialScale;
67-
68-
@Column(name = "min_scale")
69-
private Integer minScale;
70-
71-
@Column(name = "max_scale")
72-
private Integer maxScale;
65+
@JdbcTypeCode(SqlTypes.JSON)
66+
private PersistenceScaling scaling;
7367

7468
@JdbcTypeCode(SqlTypes.JSON)
7569
private PersistenceResources resources;

src/main/java/com/epam/aidial/deployment/manager/dao/entity/deployment/InferenceDeploymentEntity.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,4 @@ public class InferenceDeploymentEntity extends DeploymentEntity {
3636

3737
@JdbcTypeCode(SqlTypes.JSON)
3838
private List<String> args;
39-
40-
@JdbcTypeCode(SqlTypes.JSON)
41-
private PersistenceScaling scaling;
4239
}

src/main/java/com/epam/aidial/deployment/manager/dao/mapper/PersistenceDeploymentMapper.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,15 +118,13 @@ public void updateEntityFromDomain(Deployment domain, DeploymentEntity existingE
118118
existingEntity.setUrl(updatedEntity.getUrl());
119119
existingEntity.setStatus(updatedEntity.getStatus());
120120
existingEntity.setContainerPort(updatedEntity.getContainerPort());
121-
existingEntity.setInitialScale(updatedEntity.getInitialScale());
122-
existingEntity.setMaxScale(updatedEntity.getMaxScale());
123-
existingEntity.setMinScale(updatedEntity.getMinScale());
124121
existingEntity.setEnvs(updatedEntity.getEnvs());
125122
existingEntity.setMetadata(updatedEntity.getMetadata());
126123
existingEntity.setResources(updatedEntity.getResources());
127124
existingEntity.setProbeProperties(updatedEntity.getProbeProperties());
128125
existingEntity.setAuthor(updatedEntity.getAuthor());
129126
existingEntity.setAllowedDomains(updatedEntity.getAllowedDomains());
127+
existingEntity.setScaling(updatedEntity.getScaling());
130128

131129
if (existingEntity instanceof McpDeploymentEntity existingMcp
132130
&& updatedEntity instanceof McpDeploymentEntity updatedMcp) {
@@ -146,7 +144,6 @@ public void updateEntityFromDomain(Deployment domain, DeploymentEntity existingE
146144
existingInference.setSource(updatedInference.getSource());
147145
existingInference.setCommand(updatedInference.getCommand());
148146
existingInference.setArgs(updatedInference.getArgs());
149-
existingInference.setScaling(updatedInference.getScaling());
150147
}
151148
}
152149

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.epam.aidial.deployment.manager.model.deployment;
22

3-
import lombok.AllArgsConstructor;
3+
import lombok.NoArgsConstructor;
44
import lombok.experimental.SuperBuilder;
55

66
@SuperBuilder
7-
@AllArgsConstructor
7+
@NoArgsConstructor
88
public class AdapterDeployment extends Deployment {
99
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.epam.aidial.deployment.manager.model.deployment;
22

3+
import lombok.NoArgsConstructor;
34
import lombok.experimental.SuperBuilder;
45

56
@SuperBuilder
7+
@NoArgsConstructor
68
public class CreateAdapterDeployment extends CreateDeployment {
79
}

src/main/java/com/epam/aidial/deployment/manager/model/deployment/CreateDeployment.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.epam.aidial.deployment.manager.model.DeploymentMetadata;
44
import com.epam.aidial.deployment.manager.model.ImageType;
55
import com.epam.aidial.deployment.manager.model.Resources;
6+
import com.epam.aidial.deployment.manager.model.Scaling;
67
import com.epam.aidial.deployment.manager.model.probe.ProbeProperties;
78
import lombok.AllArgsConstructor;
89
import lombok.Data;
@@ -25,9 +26,7 @@ public abstract class CreateDeployment {
2526
private String displayName;
2627
private String description;
2728
private DeploymentMetadata metadata;
28-
private Integer initialScale;
29-
private Integer minScale;
30-
private Integer maxScale;
29+
private Scaling scaling;
3130
private Resources resources;
3231
private ProbeProperties probeProperties;
3332
private Integer containerPort;

src/main/java/com/epam/aidial/deployment/manager/model/deployment/CreateInferenceDeployment.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.epam.aidial.deployment.manager.model.deployment;
22

3-
import com.epam.aidial.deployment.manager.model.Scaling;
43
import lombok.AllArgsConstructor;
54
import lombok.EqualsAndHashCode;
65
import lombok.Getter;
@@ -26,6 +25,4 @@ public class CreateInferenceDeployment extends CreateDeployment {
2625
private List<String> command;
2726
@Nullable
2827
private List<String> args;
29-
@Nullable
30-
private Scaling scaling;
3128
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.epam.aidial.deployment.manager.model.deployment;
22

3+
import lombok.NoArgsConstructor;
34
import lombok.experimental.SuperBuilder;
45

56
@SuperBuilder
7+
@NoArgsConstructor
68
public class CreateInterceptorDeployment extends CreateDeployment {
79
}

src/main/java/com/epam/aidial/deployment/manager/model/deployment/Deployment.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.epam.aidial.deployment.manager.model.EnvVar;
66
import com.epam.aidial.deployment.manager.model.ImageType;
77
import com.epam.aidial.deployment.manager.model.Resources;
8+
import com.epam.aidial.deployment.manager.model.Scaling;
89
import com.epam.aidial.deployment.manager.model.probe.ProbeProperties;
910
import com.fasterxml.jackson.annotation.JsonSubTypes;
1011
import com.fasterxml.jackson.annotation.JsonTypeInfo;
@@ -39,9 +40,7 @@ public abstract class Deployment {
3940
private String description;
4041
private List<EnvVar> envs;
4142
private DeploymentMetadata metadata;
42-
private Integer initialScale;
43-
private Integer minScale;
44-
private Integer maxScale;
43+
private Scaling scaling;
4544
private Resources resources;
4645
private ProbeProperties probeProperties;
4746
private DeploymentStatus status;

src/main/java/com/epam/aidial/deployment/manager/model/deployment/InferenceDeployment.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.epam.aidial.deployment.manager.model.deployment;
22

3-
import com.epam.aidial.deployment.manager.model.Scaling;
43
import lombok.AllArgsConstructor;
54
import lombok.EqualsAndHashCode;
65
import lombok.Getter;
@@ -26,6 +25,4 @@ public class InferenceDeployment extends Deployment {
2625
private List<String> command;
2726
@Nullable
2827
private List<String> args;
29-
@Nullable
30-
private Scaling scaling;
3128
}

0 commit comments

Comments
 (0)