-
Notifications
You must be signed in to change notification settings - Fork 1
PodSpec
R.deployment :backend do
pod_spec do
hostname :backend
restart_policy :OnFailure
container do
image 'tutum/hello-world'
end
end
end| Property | Kubernetes property | Type |
|---|---|---|
| active_deadline_seconds | activeDeadlineSeconds | Integer |
| affinity | affinity | Affinity |
| automount_service_account_token | automountServiceAccountToken | Boolean |
| dns_config | dnsConfig | PodDNSConfig |
| dns_policy | dnsPolicy | String |
| enable_service_links | enableServiceLinks | Boolean |
| host_aliases | hostAliases | Array of HostAlias |
| host_ipc | hostIPC | Boolean |
| host_network | hostNetwork | Boolean |
| host_pid | hostPID | Boolean |
| hostname | hostname | String |
| node_name | nodeName | String |
| node_selector | nodeSelector | Hash |
| priority | priority | Integer |
| priority_class_name | priorityClassName | String |
| readiness_gates | readinessGates | Array of PodReadinessGate |
| restart_policy | restartPolicy | String |
| runtime_class_name | runtimeClassName | String |
| security_context | securityContext | PodSecurityContext |
| scheduler_name | schedulerName | String |
| service_account_name | serviceAccountName | String |
| share_process_namespace | shareProcessNamespace | Boolean |
| subdomain | subdomain | String |
| termination_grace_period_seconds | terminationGracePeriodSeconds | Integer |
| tolerations | tolerations | Array of Toleration |
| image_pull_secrets | imagePullSecrets | Array of LocalObjectReference |
| containers | containers | Array of Container |
| init_containers | initContainers | Array of Container |
| volumes | volumes | VolumeArray |
This property receives a list of resource names in its command form. For example, to add a reference to the secret named image-pull-secret use the following code:
R.deployment :frontend do
pod_spec.image_pull_secrets 'image-pull-secret'
endThere is also an image_pull_secret alias of image_pull_secrets, solely for aesthetic purposes when you add a single secret.
Used to access named container in Pod. If the name is not specified, the default name main is implied. Can be used as an accessor or a block context:
R.deployment :frontend do
# Deployment will have a side-container named log-forwared with the specified image
container('log-forwarded').image 'myregistry/tools/log-forwarder:1.0'
end
R.deployment :backend do
# Main container for the deployment will have the specified image
container do
image 'myregistry/app/backend:8a49cf71'
environment do
add SECRET_KEY: 'supersecret'
end
end
endRefer to the Container section for the details of the Container implementation.
Adds a new alias with the specified IP address and list of host names into the host_aliases array:
R.deployment :backend do
pod_spec do
host_alias '1.2.3.4', 'db', 'mydb', 'currentdb'
end
endThe same as container, but for the initialization containers. Name is mandatory.
R.deployment :backend do
pod_spec do
init_container 'wait-for-database' do
# Define how to wait for database
end
end
endCalling node_selector and passing the set of key-value pairs assigns those pairs to the node selector:
R.deployment :backend do
pod_spec do
node_selector kind: :backends, stage: :production
end
endWhile subsequent calls to node_selector helper will add (or overwrite) corresponding key-value pairs, calling node_selector! will replace existing set of labels.
Helper to add specified readiness condition types to the readiness_gates array:
R.deployment :backend do
pod_spec do
readiness_gates :Ready, :Mounted
end
endFor the aesthetic purposes an alias readiness_gate is provided.
Helper to create and provide for initialization new Toleration item, which is then added to tolerations array:
R.deployment :backend do
pod_spec do
toleration do
# Setup new toleration
end
end
end| Property | Kubernetes property | Type |
|---|---|---|
| nameservers | nameservers | Array of String |
| options | options | Array of PodDNSConfigOption |
| searches | searches | Array of String |
With optional values passed adds those values to the nameservers array. For aesthetic purposes an alias nameserver is provided:
R.deployment :backend do
pod_spec.dns_config do
nameservers '8.8.8.8', '2.2.2.2'
nameserver '4.4.4.4'
end
endHelper to creates, initialize with optional block and adds new option into the options array:
R.deployment :backend do
pod_spec.dns_config do
option :ndots, '2'
end
endWith optional values passed adds those values to the searches arrat. For aesthetic purposes an alias search is provided:
R.deployment :backend do
pod_spec.dns_config do
searches 'alfa.example.org', 'beta.example.org'
nameserver 'gamma.example.org'
end
end| Property | Kubernetes property | Type |
|---|---|---|
| name | name | String |
| value | value | String |
| Property | Kubernetes property | Type |
|---|---|---|
| host_names | hostnames | Array of String |
| ip | ip | String |
| Property | Kubernetes property | Type |
|---|---|---|
| condition_type | conditionType | String |
| Property | Kubernetes property | Type |
|---|---|---|
| fs_group | fsGroup | Integer |
| run_as_group | runAsGroup | Integer |
| run_as_non_root | runAsNonRoot | Boolean |
| run_as_user | runAsUser | Integer |
| se_linux_options | seLinuxOptions | SELinuxOptions |
| supplemental_groups | supplementalGroups | Array of Integer |
| sysctls | sysctls | Array of Sysctl |
Passing set of key-value pairs to the sysctls helper (or sysctl alias) method will convert them into the instances of Sysctl and add them to the sysctls array:
R.deployment :backend do
pod_spec.security_context do
sysctl 'fs.file-max': '64000'
end
end| Property | Kubernetes property | Type |
|---|---|---|
| level | level | String |
| role | role | String |
| type | type | String |
| user | user | String |
| Property | Kubernetes property | Type |
|---|---|---|
| name | name | String |
| value | value | String |
| Property | Kubernetes property | Type |
|---|---|---|
| effect | effect | String |
| key | key | String |
| operator | operator | String |
| toleration_seconds | tolerationSeconds | Integer |
| value | value | String |