sedai.settings
Base configuration settings for all resources. All resoruces managed by Sedai will have these settings.
The availability mode of the resource. This setting determines if Sedai should autonomously manage the availability of the resource.
Possible values: OFF
, MANUAL
, AUTO
OFF
: Sedai will not manage the availability of the resource.MANUAL
: Sedai will give recommendations for the availability of the resource, but the user has to manually apply the recommendations.AUTO
: Sedai will autonomously manage the availability of the resource.
The optimization mode of the resource. This setting determines if Sedai should autonomously optimize the resource.
Possible values: OFF
, MANUAL
, AUTO
OFF
: Sedai will not optimize the resource. This is also referred to as "DataPilot" mode.MANUAL
: Sedai will give recommendations for the optimization of the resource, but the user has to manually apply the recommendations. This mode is also referred to as "CoPilot" mode. The user has to manually approve the recommendations.AUTO
: Sedai will autonomously optimize the resource. This is also referred to as "AutoPilot" mode.
The release intelligence mode of the resource. This setting determines if Sedai should autonomously manage the releases of the resource.
Possible values: OFF
, MANUAL
OFF
: Sedai will not monitor and score code and application releases.MANUAL
: Sedai will monitor and score code and application releases. A release score and a score card will be generated"
Settings for all appplication resources managed by Sedai. Applications could be web applictions or microservices behind a load balancer or identified by tags or labels. In containerized environments, applications could be workloads running in a container, pod, or a service.
Is this resource or application in production. If an application is not a production application, Sedai can take more aggressive actions to optimize the application. In aggresive mode, some thresholds are relaxed. Also in non-prod mode, Sedai can act even if certain metrics are not available.
Enable horizontal scaling for the application. Horizontal scaling is the process of adding or removing instances of an application to handle the load.
The minimum number of replicas for the application. This is the minimum number of instances that should be running at all times.
The maximum number of replicas for the application. This is the maximum number of instances that can be running at any given time.
Inherited Members
Base configuration settings for all resources. All resoruces managed by Sedai will have these settings.
The optimization focus for the serverless function. The optimization focus determines the goal of the optimization.
Possible values: COST
, DURATION
, COST_AND_DURATION
COST
: Optimize the cost of the function.DURATION
: Optimize the duration of the function.COST_AND_DURATION
: Optimize both the cost and duration of the function.
Should Sedai optimize the concurrency of the function.
Possible values: OFF
, MANUAL
, AUTO
OFF
: Sedai will not optimize the concurrency of the function.MANUAL
: Sedai will give recommendations for the concurrency of the function, but the user has to manually apply the recommendations.AUTO
: Sedai will autonomously optimize the concurrency of the function.
When set to AUTO
. The actuak course of action will be determined wether the Lambda is a versioned or unversioned function.
For versioned functions, Sedai will manage concurrecy by managing the provisioned concurrency.
For unversioned functions, Sedai will add an extenstion to the Lambda and use it to manage the cold starts.
When Sedai is optimizing for performance, what is the maximum percentage change in cost that is acceptable.
When Sedai is optimizing for cost, what is the maximum percentage change in latency that is acceptable.
Inherited Members
Common settings for all containerized applications. Containerized applications could be running in a container, pod, or a service.
If an application is marked as not in production (with isProd
set to false), , Sedai can take more aggressive
actions to optimize the application even if performance or traffic metrics are not available.
The optimization focus for the containerized application. The optimization focus determines the goal of the optimization.
Possible values: COST
, DURATION
, COST_AND_DURATION
COST
: Optimize the cost of the application.DURATION
: Optimize the duration of the application.COST_AND_DURATION
: Optimize both the cost and duration of the application.
When Sedai is optimizing for cost, what is the maximum percentage increase in latency that is acceptable.
When Sedai is optimizing for performance, what is the maximum percentage increase in CPU that is acceptable.
When Sedai is optimizing for performance, what is the maximum percentage increase in memory that is acceptable.
Enable vertical scaling for the application. Vertical scaling is the process of increasing or decreasing the resources of an instance of an application.
Settings for all Kubernetes applications managed by Sedai. Kubernetes applications are containerized applications running in a Kubernetes cluster. This could be a pod, deployment, or a service such as a deployment, statefulset, or daemonset.
Is the operation allowed for the Kubernetes application. If the operation is not allowed, Sedai will not be able to take any actions on the application.
The replica multiplier for the Kubernetes application. The replica multiplier is the factor by which the number of replicas of the application should be multiplied to handle the load.
The minimum CPU required per container in the Kubernetes application. This is the minimum amount of CPU that should be allocated to each container.
Inherited Members
Settings for all ECS applications managed by Sedai. ECS applications are containerized applications running in an ECS cluster. This could be a task, service, or a container running in an ECS cluster.
Enable service autoscaling for the ECS application. Service autoscaling is the process of automatically scaling the resources of the service based on the load and performance metrics of the service.
The minimum CPU required for the ECS application. This is the minimum amount of CPU that should be allocated to the application.
The minimum memory required for the ECS application. This is the minimum amount of memory that should be allocated to the application.
Inherited Members
Settings for all storage buckets managed by Sedai. Storage buckets are used to store self.src and files in the cloud.
Inherited Members
Settings for all storage volumes managed by Sedai. Storage volumes are used to store self.src and files in the cloud.
Inherited Members
Settings for all resources managed by Sedai. This setting configuration is for a set of resources, grouped either in a group in Sedai or at the level of the account or cluster.
Get the settings for a resource with the given resource ID. The returned settings object will be of the appropriate type based on the type of the resource.
Parameters
- resource_id: The ID of the resource.
Returns
The settings for the resource.
Update the settings for a resource with the given resource ID. The settings object should be of the appropriate type based on the type of the resource.
Parameters
- resource_id: The ID of the resource.
- settings: The settings for the resource.
Returns
True if the settings were updated successfully, False otherwise.
Raises
- Exception if the settings could not be updated.
Get the settings for a group with the given group ID.
Parameters
- group_id: The ID of the group.
Returns
A settings object containing the settings for the group.
Update the settings for a group with the given group ID.
Parameters
- group_id: The ID of the group.
- settings: The settings for the group.
Returns
True if the settings were updated successfully, False otherwise.
Raises
- Exception if the settings could not be updated.
Initialize the settings for a group with the given group ID. When a group is created, the settings for the group need to be initialized before they can be updated.
Parameters
- group_id: The ID of the group.
Returns
True if the settings were initialized successfully, False otherwise.
Raises
- Exception if the settings could not be initialized.
Enables the settings for a group with the given group ID.
Parameters
- group_id: The ID of the group.
Returns
True if the settings were enabled successfully, False otherwise.
Raises
- Exception if the settings could not be enabled.
Disables the settings for a group with the given group ID.
Parameters
- group_id: The ID of the group.
Returns
True if the settings were disabled successfully, False otherwise.
Raises
- Exception if the settings could not be disabled.
Get the settings for an account with the given account ID.
Parameters
- account_id: The ID of the account.
Returns
The settings for the account.
Update the settings for an account with the given account ID.
Parameters
- account_id: The ID of the account.
- settings: The settings for the account.
Returns
True if the settings were updated successfully, False otherwise.
Raises
- Exception if the settings could not be updated.
Disable monitoring for an account with the given account ID.
Parameters
- account_id: The ID of the account.
Disable monitoring for the group with the given group ID.
Parameters
- group_id: The ID of the group.
Disable monitoring for a resource with the given resource ID.
Parameters
- resource_id: The ID of the resource.