# Hosts and Services/Applications and Configurations
I'm still noodling out some things around Hosts and Services. There's a field called `state` that's a Boolean. The thought is that `state` set at `0` or `false` means that service or Host is unavailable. Services would, when they start up, send a put to Noah setting the flag to online. There's a bit of overlap between Applications and Services but I think the distinction is clear. Applications have configurations and Hosts have Services.
# Constraints
You can view all the constraints inside `models.rb` but here they are for now:
- A new host must have at least `name` and `state` set.
- A new service must have at least `name` and `state` set.
- Each Host `name` must be unique
- Each Service `name` per Host must be unique
- Each Application `name` must exist and be unique
- Each Configuration name per Application must be unique.
- Each Configuration must have `name`,`format` and `body`