Property | Type | Required | Description |
---|---|---|---|
advanced |
object | No | Advanced section of kind service |
flavor |
string | No | Implementation selector for the resource. e.g. for a resource type ingress, default, aws_alb, gcp_alb etc. Possible values are: default , k8s . |
kind |
string | No | Describes the type of resource. e.g. ingress, application, mysql etc. If not specified, fallback is the folder_name /instances Possible values are: service . |
out |
object | No | |
spec |
object | No | |
version |
string | No | This field can be used to pin to a particular version Possible values are: 0.1 , latest . |
Advanced section of kind service
Property | Type | Required | Description |
---|---|---|---|
aws |
object | No | Map of all aws advanced keys |
chart |
object | No | Map of all chart advanced keys |
common |
object | No | Map of all the advanced values passed to app-chart |
gcp |
object | No | Map of all gcp advanced keys |
Map of all aws advanced keys
Property | Type | Required | Description |
---|---|---|---|
iam |
object | No | This is the iam key where all iam permissions are attached for the deployment |
vm |
object | No | This is the advanced block where we define vm implementation for aws |
This is the iam key where all iam permissions are attached for the deployment
| Property | Type | Required | Description | |———-|——|———-|————-|
This is the advanced block where we define vm implementation for aws
Property | Type | Required | Description |
---|---|---|---|
alb |
object | No | Define the status of alb |
autoscaling_group |
object | No | Define autoscaling group for the vm’s |
is_public |
boolean | No | specify if the vm is public |
is_vm_image |
boolean | No | Boolean value to specify if the artifact is vm ami or not |
security_group |
object | No | Define securrity groups for the vm |
vm_image_id |
string | No | Image id of the vm |
Define the status of alb
Property | Type | Required | Description |
---|---|---|---|
additional_http_tcp_listeners |
object | No | Additional http tcp listeners that you want to add to the loadbalancer |
additional_subnets |
object | No | Define additional subnets to attach |
additional_target_groups |
object | No | A list of maps containing key/value pairs that define the target groups to be created. Order of these maps is important and the index of these are to be referenced in listener definitions. Required key/values: name, backend_protocol, backend_port |
enabled |
boolean | No | Controls if the Load Balancer should be created |
internal |
boolean | No | Boolean determining if the load balancer is internal or externally facing |
tags |
object | No | Tags you want to add to the security group |
target_group_arns |
object | No | Define your target group arn’s |
Additional http tcp listeners that you want to add to the loadbalancer
| Property | Type | Required | Description | |———-|——|———-|————-|
Define additional subnets to attach
| Property | Type | Required | Description | |———-|——|———-|————-|
A list of maps containing key/value pairs that define the target groups to be created. Order of these maps is important and the index of these are to be referenced in listener definitions. Required key/values: name, backend_protocol, backend_port
| Property | Type | Required | Description | |———-|——|———-|————-|
Tags you want to add to the security group
Properties
Property | Type | Required | Description |
---|---|---|---|
Name |
string | No | A map of tags to add to all resources |
Define your target group arn’s
| Property | Type | Required | Description | |———-|——|———-|————-|
Define autoscaling group for the vm’s
Property | Type | Required | Description |
---|---|---|---|
block_device_mappings |
object | No | Specify volumes to attach to the instance besides the volumes specified by the AMI |
cpu_options |
object | No | The CPU options for the instance |
credit_specification |
object | No | Customize the credit specification of the instance |
instance_market_options |
object | No | The market (purchasing) option for the instance |
instance_refresh |
object | No | If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated |
maintenance_options |
string | No | Define maintenance options |
metadata_options |
object | No | Customize the metadata options for the instance |
mixed_instances_policy |
object | No | Configuration block containing settings to define launch targets for Auto Scaling groups |
network_interfaces |
object | No | Customize network interfaces to be attached at instance boot time |
placement |
object | No | The placement of the instance |
scaling_policies |
object | No | Map of target scaling policy schedule to create |
schedules |
object | No | Map of autoscaling group schedule to create |
use_mixed_instances_policy |
boolean | No | Specify if you want to use use mixed instances policy |
Specify volumes to attach to the instance besides the volumes specified by the AMI
| Property | Type | Required | Description | |———-|——|———-|————-|
The CPU options for the instance
| Property | Type | Required | Description | |———-|——|———-|————-|
Customize the credit specification of the instance
| Property | Type | Required | Description | |———-|——|———-|————-|
The market (purchasing) option for the instance
| Property | Type | Required | Description | |———-|——|———-|————-|
If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated
| Property | Type | Required | Description | |———-|——|———-|————-|
Customize the metadata options for the instance
| Property | Type | Required | Description | |———-|——|———-|————-|
Configuration block containing settings to define launch targets for Auto Scaling groups
| Property | Type | Required | Description | |———-|——|———-|————-|
Customize network interfaces to be attached at instance boot time
| Property | Type | Required | Description | |———-|——|———-|————-|
The placement of the instance
| Property | Type | Required | Description | |———-|——|———-|————-|
Map of target scaling policy schedule to create
| Property | Type | Required | Description | |———-|——|———-|————-|
Map of autoscaling group schedule to create
| Property | Type | Required | Description | |———-|——|———-|————-|
Define securrity groups for the vm
Property | Type | Required | Description |
---|---|---|---|
additional_ingress_cidr_blocks |
object | No | List of IPv4 CIDR ranges to use on all ingress rules |
additional_ingress_with_cidr_blocks |
object | No | List of ingress rules to create where ‘cidr_blocks’ is used |
tags |
object | No | Tags you want to add to the security group |
List of IPv4 CIDR ranges to use on all ingress rules
| Property | Type | Required | Description | |———-|——|———-|————-|
List of ingress rules to create where ‘cidr_blocks’ is used
| Property | Type | Required | Description | |———-|——|———-|————-|
Tags you want to add to the security group
Properties
Property | Type | Required | Description |
---|---|---|---|
Name |
string | No | A mapping of tags to assign to security group |
Map of all chart advanced keys
Property | Type | Required | Description |
---|---|---|---|
image_pull_secrets |
object | No | Map of all the image pull secrets for the container image to be pulled from the repository. Each map should have name specified within it. For more information refer to: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-pod-that-uses-your-secret |
node_selector |
object | No | Map of all node selectors for the application |
Map of all the image pull secrets for the container image to be pulled from the repository. Each map should have name specified within it. For more information refer to: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-pod-that-uses-your-secret
| Property | Type | Required | Description | |———-|——|———-|————-|
Map of all node selectors for the application
| Property | Type | Required | Description | |———-|——|———-|————-|
Map of all the advanced values passed to app-chart
Property | Type | Required | Description |
---|---|---|---|
app_chart |
object | No | Map of all advanced values to be configured to app-chart |
Map of all advanced values to be configured to app-chart
Property | Type | Required | Description |
---|---|---|---|
values |
object | No | Values to be passed to app-chart helm chart |
Values to be passed to app-chart helm chart
Property | Type | Required | Description |
---|---|---|---|
additional_k8s_env_from |
array | No | Allows you to set additional environment variables for a container from sources (ConfigMap, Secret), adhering to the Kubernetes schema for environment variables. For more details on the schema, refer to the Kubernetes API documentation at https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#envfromsource-v1-core |
additional_k8s_env |
array | No | Allows you to set additional environment variables for a container, adhering to the Kubernetes schema for environment variables. For more details on the schema, refer to the Kubernetes API documentation at https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#envvar-v1-core |
additional_volume_mounts |
array | No | Allows you to set the volume mounts |
additional_volume |
array | No | Allows you to set additional volumes for an application/statefulset, adhering to the Kubernetes schema for volumes. For more details on the schema, refer to the Kubernetes API documentation at https://kubernetes.io/docs/concepts/storage/volumes/ |
enable_service_links |
boolean | No | Enable service links |
hpa |
object | No | Configurations for horizontal pod autoscaler |
init_containers |
object | No | init containers configurations |
lifecycle |
object | No | |
node |
object | No | Node configurations |
pod_distribution |
object | No | Pod topology for distributing pods across nodes |
pod |
object | No | Pod configurations |
security_context |
object | No | security context for container |
sidecars |
object | No | Sidecar containers configurations |
termination_grace_period_seconds |
number | No | Specify the number of seconds for a pod wait for shut down after it has received the SIGTERM signal |
tolerations |
object | No | Tolerations to be added to service |
Configurations for horizontal pod autoscaler
| Property | Type | Required | Description | |———-|——|———-|————-|
init containers configurations
| Property | Type | Required | Description | |———-|——|———-|————-|
Properties
Property | Type | Required | Description |
---|---|---|---|
postStart |
object | No | |
preStop |
object | No |
postStart
Properties
Property | Type | Required | Description |
---|---|---|---|
exec |
object | No |
exec
Properties
Property | Type | Required | Description |
---|---|---|---|
command |
array | No | The commands to be executed |
preStop
Properties
Property | Type | Required | Description |
---|---|---|---|
exec |
object | No |
exec
Properties
Property | Type | Required | Description |
---|---|---|---|
command |
array | No | The commands to be executed |
Node configurations
| Property | Type | Required | Description | |———-|——|———-|————-|
Pod configurations
| Property | Type | Required | Description | |———-|——|———-|————-|
Pod topology for distributing pods across nodes
| Property | Type | Required | Description | |———-|——|———-|————-|
security context for container
Properties
Property | Type | Required | Description |
---|---|---|---|
comp_profile |
string | No | |
fs_group_change_policy |
string | No | |
fsgroup |
string | No | |
linux_options |
object | No | |
run_as_group |
string | No | |
run_as_non_root |
boolean | No | |
run_as_user |
string | No | |
supplemental_groups |
string | No | |
sysctls |
string | No | |
windows_options |
object | No |
linux_options
| Property | Type | Required | Description | |———-|——|———-|————-|
windows_options
| Property | Type | Required | Description | |———-|——|———-|————-|
Sidecar containers configurations
| Property | Type | Required | Description | |———-|——|———-|————-|
Tolerations to be added to service
| Property | Type | Required | Description | |———-|——|———-|————-|
Map of all gcp advanced keys
Property | Type | Required | Description |
---|---|---|---|
iam |
object | No | This is the iam key where all iam permissions are attached for the deployment |
This is the iam key where all iam permissions are attached for the deployment
| Property | Type | Required | Description | |———-|——|———-|————-|
Property | Type | Required | Description |
---|---|---|---|
interfaces |
object | No | The output for your service module, this can be generated or provided |
The output for your service module, this can be generated or provided
| Property | Type | Required | Description | |———-|——|———-|————-|
Property | Type | Required | Description |
---|---|---|---|
enable_host_anti_affinity |
boolean | Yes | boolean to enable or disable host anti affinity |
env |
object | Yes | The key value pairs of all the environment variables that needs to be passed to the pod |
release |
object | Yes | Map of all release keys |
runtime |
object | Yes | Map of all runtime keys |
type |
string | Yes | This will specify the type of service you want to create. eg: application, statefulset,cronjob etc Possible values are: application , statefulset , cronjob , job . |
restart_policy |
string | No | Can be of type Always , OnFailure or Never Possible values are: Always , OnFailure , Never . |
The key value pairs of all the environment variables that needs to be passed to the pod
| Property | Type | Required | Description | |———-|——|———-|————-|
Map of all release keys
Property | Type | Required | Description |
---|---|---|---|
build |
object | No | These contains the build objects required for running the containers |
disruption_policy |
object | No | The disruption policy for the service |
image_pull_policy |
string | No | ImagePullPolicy Possible values are: IfNotPresent , Always , Never . |
image |
string | No | The docker image of the application that you want to run |
strategy |
object | No | The type of upgrade strategy to be followed by this service |
These contains the build objects required for running the containers
Property | Type | Required | Description |
---|---|---|---|
artifactory |
string | Yes | Parent artifactory name |
name |
string | Yes | Name of the artifactory |
The disruption policy for the service
Property | Type | Required | Description |
---|---|---|---|
max_unavailable |
string | No | This is the max number of pods that can be unavailable during a failure. |
min_available |
string | No | This is the min number of pods should be available in case of failures |
The type of upgrade strategy to be followed by this service
Property | Type | Required | Description |
---|---|---|---|
blue_green_strategy |
object | No | Configuration for BlueGreen strategy |
canary_strategy |
object | No | Configuration for Canary strategy |
max_available |
string | No | If type RollingUpdate , this is the max number of pods that can be created from the default replicas |
max_unavailable |
string | No | If type RollingUpdate , this is the max number of pods that can be unavailable from the default replicas |
type |
string | No | Your kubernetes rollout type eg: RollingUpdate / Recreate / BlueGreen / Canary Possible values are: RollingUpdate , Recreate , BlueGreen , Canary . |
Configuration for BlueGreen strategy
Property | Type | Required | Description |
---|---|---|---|
abort_scale_down_delay_seconds |
integer | No | The time in seconds to delay scaling down the old ReplicaSet after an abort |
auto_promotion_seconds |
integer | No | The time in seconds before automatic promotion |
auto_promotion |
boolean | No | Flag to enable automatic promotion |
enable_manual_rollout |
boolean | No | Flag to enable manual rollout |
min_ready_seconds |
integer | No | The minimum number of seconds a new pod should be ready |
preview_replicas |
integer | No | The number of replicas for the preview service |
progress_deadline_abort |
boolean | No | Flag to abort the rollout if the progress deadline is exceeded |
progress_deadline_seconds |
integer | No | The maximum time in seconds for a rollout to make progress |
restart_at |
string | No | Timestamp to restart the rollout |
revision_history_limit |
integer | No | The number of old ReplicaSets to retain |
rollback_window_revisions |
integer | No | The number of revisions to keep for rollback |
scale_down_delay_revision_limit |
integer | No | The number of old ReplicaSets to retain for scale down delay |
scale_down_delay_seconds |
integer | No | The time in seconds to delay scaling down the old ReplicaSet |
successful_run_history_limit |
integer | No | The number of successful runs to keep in history |
unsuccessful_run_history_limit |
integer | No | The number of unsuccessful runs to keep in history |
Configuration for Canary strategy
Property | Type | Required | Description |
---|---|---|---|
abort_scale_down_delay_seconds |
integer | No | The time in seconds to delay scaling down the old ReplicaSet after an abort |
analysis |
object | No | Analysis configuration for the canary strategy |
anti_affinity |
object | No | Anti-affinity configuration for the canary strategy |
canary_metadata |
object | No | Metadata for the canary strategy |
enable_manual_rollout |
boolean | No | Flag to enable manual rollout |
max_surge |
string | No | The maximum number of pods that can be created over the desired number of pods |
max_unavailable |
integer | No | The maximum number of pods that can be unavailable during the update |
min_pods_per_replicaset |
integer | No | The minimum number of pods per ReplicaSet |
min_ready_seconds |
integer | No | The minimum number of seconds a new pod should be ready |
progress_deadline_abort |
boolean | No | Flag to abort the rollout if the progress deadline is exceeded |
progress_deadline_seconds |
integer | No | The maximum time in seconds for a rollout to make progress |
restart_at |
string | No | Timestamp to restart the rollout |
revision_history_limit |
integer | No | The number of old ReplicaSets to retain |
rollback_window_revisions |
integer | No | The number of revisions to keep for rollback |
scale_down_delay_revision_limit |
integer | No | The number of old ReplicaSets to retain for scale down delay |
scale_down_delay_seconds |
integer | No | The time in seconds to delay scaling down the old ReplicaSet |
stable_metadata |
object | No | Metadata for the Stable strategy |
steps |
array | No | Steps configuration for the canary strategy |
successful_run_history_limit |
integer | No | The number of successful runs to keep in history |
traffic_routing |
object | No | Traffic routing configuration for the canary strategy |
unsuccessful_run_history_limit |
integer | No | The number of unsuccessful runs to keep in history |
Analysis configuration for the canary strategy
| Property | Type | Required | Description | |———-|——|———-|————-|
Anti-affinity configuration for the canary strategy
| Property | Type | Required | Description | |———-|——|———-|————-|
Metadata for the canary strategy
Properties
Property | Type | Required | Description |
---|---|---|---|
annotations |
object | No | Annotations for the canary strategy |
labels |
object | No | Labels for the canary strategy |
annotations
Annotations for the canary strategy
| Property | Type | Required | Description | |———-|——|———-|————-|
labels
Labels for the canary strategy
| Property | Type | Required | Description | |———-|——|———-|————-|
Metadata for the Stable strategy
Properties
Property | Type | Required | Description |
---|---|---|---|
annotations |
object | No | Annotations for the Stable strategy |
labels |
object | No | Labels for the Stable strategy |
annotations
Annotations for the Stable strategy
| Property | Type | Required | Description | |———-|——|———-|————-|
labels
Labels for the Stable strategy
| Property | Type | Required | Description | |———-|——|———-|————-|
Traffic routing configuration for the canary strategy
| Property | Type | Required | Description | |———-|——|———-|————-|
Map of all runtime keys
Property | Type | Required | Description |
---|---|---|---|
health_checks |
object | Yes | All the health check related key value pairs |
ports |
object | Yes | Maps of all the ports that you want to expose in the service |
size |
object | Yes | Size of the deployment pods |
args |
array | No | The list of arguments you want to pass for the above mentioned command |
autoscaling |
object | No | |
command |
array | No | The list of commands you want to perform before starting the container |
metrics |
object | No | Maps of all the metrics port that you want to expose to prometheus |
volumes |
object | No | All the volumes you want to attach to the service |
Property | Type | Required | Description |
---|---|---|---|
cpu_threshold |
string | No | The max cpu threshold that the hpa waits until it upscales |
max |
string | No | This is the max replicas where the hpa upscales to |
min |
string | No | This is the min replicas where the hpa downscales to |
packets_per_second |
string | No | The max number of packets that can be sent to the pod, once exceeded it autoscales. eg: 10k |
ram_threshold |
string | No | The max ram threshold that the hpa waits until it upscales |
requests_per_second |
object | No | Requests per second RPS object keys |
Requests per second RPS object keys
Property | Type | Required | Description |
---|---|---|---|
ingress_name |
string | Yes | Name of the ingress object that the hpa should watch for autoscaling |
threshold |
string | Yes | The rps threshold that hpa looks for , once exceeds it autoscales eg: 10k |
All the health check related key value pairs
Property | Type | Required | Description |
---|---|---|---|
liveness_exec_command |
array | No | The list of commands to make liveness check |
liveness_period |
string | No | This is the repeated interval in which kubelet does a health check, this is takes precedence from period |
liveness_port |
string | No | Specify the port in which the health checks should be made, this is takes precedence from port |
liveness_start_up_time |
string | No | The time kubernetes api needs to wait until the application is ready for liveness check, this is takes precedence from start_up_time |
liveness_timeout |
string | No | Timeout for the health check liveness, this is takes precedence from timeout |
liveness_url |
string | No | URL to make the liveness check |
period |
string | No | This is the repeated interval in which kubelet does a health check |
port |
string | No | Specify the port in which the health checks should be made |
readiness_exec_command |
array | No | The list of commands to make readiness check |
readiness_period |
string | No | This is the repeated interval in which kubelet does a health check, this is takes precedence from period |
readiness_port |
string | No | Specify the port in which the health checks should be made, this is takes precedence from port |
readiness_start_up_time |
string | No | The time kubernetes api needs to wait until the application is ready for readiness check, this is takes precedence from start_up_time |
readiness_timeout |
string | No | Timeout for the health check readiness, this is takes precedence from timeout |
readiness_url |
string | No | URL to make the readiness check |
start_up_time |
string | No | The time kubernetes api needs to wait until the application is ready |
timeout |
string | No | Timeout for the health check |
Maps of all the metrics port that you want to expose to prometheus
| Property | Type | Required | Description | |———-|——|———-|————-|
Maps of all the ports that you want to expose in the service
| Property | Type | Required | Description | |———-|——|———-|————-|
Size of the deployment pods
Property | Type | Required | Description |
---|---|---|---|
cpu |
string | Yes | The number of CPU cores required, e.g ‘1’ or ‘1000m’ |
memory |
string | Yes | The amount of memory required, e.g ‘800Mi’ or ‘1.5Gi’ |
cpu_limit |
string | No | The CPU limit to set a maximum limit on the amount of CPU resources utilization, e.g ‘1’ or ‘1000m’ |
memory_limit |
string | No | The memory limit to set a maximum limit on the amount of memory resources utilization, e.g ‘800Mi’ or ‘1.5Gi’ |
All the volumes you want to attach to the service
Property | Type | Required | Description |
---|---|---|---|
config_maps |
object | No | The map of all the ConfigMaps that you want to mount. |
host_path |
object | No | The map of all the HostPaths that you want to mount. |
pvc |
object | No | The map of all the PVCs (PersistentVolumeClaims) that you want to mount. |
secrets |
object | No | The map of all the Secrets that you want to mount. |
The map of all the ConfigMaps that you want to mount.
| Property | Type | Required | Description | |———-|——|———-|————-|
The map of all the HostPaths that you want to mount.
| Property | Type | Required | Description | |———-|——|———-|————-|
The map of all the PVCs (PersistentVolumeClaims) that you want to mount.
| Property | Type | Required | Description | |———-|——|———-|————-|
The map of all the Secrets that you want to mount.
| Property | Type | Required | Description | |———-|——|———-|————-|