Skip to content

Instantly share code, notes, and snippets.

@robzienert
Last active March 29, 2018 06:33
Show Gist options
  • Save robzienert/f220b7cf093dc20a2c3b052ae0bd6a9e to your computer and use it in GitHub Desktop.
Save robzienert/f220b7cf093dc20a2c3b052ae0bd6a9e to your computer and use it in GitHub Desktop.
Keel Intent: NetworkInterface & NetworkInterfacePool
kind: NetworkInterface
spec:
name: "helloworld"
securityGroups: []
# ... Stuff
# Displays allowed use of SpEL; in this case NetworkInterface allows an iterable spec interface.
# `${ loop.count }` and other loop vars are made available automatically by `IterableSpec`
# `NetworkInterfacePoolSpec : NetworkInterfaceSpec, IterableSpec<NetworkInterfaceSpec>`. The
# interface then knows what the schema is for processing `NetworkInterfacePoolSpec`.
kind: NetworkInterfacePool
spec:
kind: ClusterBound
# Simple: Just creates the pool with the defined configuration
# ClusterBound: Will automatically attempt to bind the network interfaces to servers in the
# defined cluster. Will bind using `apply` strategy.
count: 20
name: "helloworld-${ loop.count }"
# more fields defined by NetworkInterfaceSpec
cluster:
name: "myapp-helloworld"
apply: newest # any|newest
# way, way, way down the line (2019?), could do something like...
# standard notify message any time the cluster state changes (attach, detach, etc)
onChange: "sns:arn"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment