| 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_enabled | boolean | No | Enable or disable pod distribution across nodes | 
| 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 | |———-|——|———-|————-|