ресурс docker_service
Используйте docker_service ресурс аудита Chef InSpec для проверки docker swarm сервиса.
Доступность
Установка
Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.
Версия
Этот ресурс стал доступен в версии v1.51.0 InSpec.
Синтаксис
Блок ресурса docker_service объявляет сервис по имени:
describe docker_service('foo') do
it { should exist }
its('id') { should eq '2ghswegspre1' }
its('repo') { should eq 'alpine' }
its('tag') { should eq 'latest' }
end
Примеры параметров ресурса
Ресурс позволяет передавать идентификатор сервиса:
describe docker_service(id: '2ghswegspre1') do
...
end
Вы также можете передать полное имя образа:
describe docker_service(image: 'localhost:5000/alpine:latest') do
...
end
Примеры свойств
Следующие примеры демонстрируют, как использовать Chef InSpec docker_service ресурс.
id
Свойство id возвращает идентификатор сервиса:
its('id') { should eq '2ghswegspre1' }
image
Свойство image представляет собой комбинацию repository:tag и проверяет значение образа:
its('image') { should eq 'alpine:latest' }
mode
Свойство mode проверяет значение режима сервиса:
its('mode') { should eq 'replicated' }
name
Свойство name проверяет значение имени сервиса:
its('name') { should eq 'foo' }
ports
Свойство ports проверяет значение опубликованных портов сервиса:
its('ports') { should include '*:8000->8000/tcp' }
repo
Свойство repo проверяет значение имени репозитория:
its('repo') { should eq 'alpine' }
replicas
Свойство replicas проверяет значение количества реплик сервиса:
its('replicas') { should eq '3/3' }
tag
Свойство tag проверяет значение тега образа:
its('tag') { should eq 'latest' }
Проверка docker сервиса
describe docker_service('foo') do
it { should exist }
its('id') { should eq '2ghswegspre1' }
its('repo') { should eq 'alpine' }
its('tag') { should eq 'latest' }
end
Сопоставители
Полный список доступных сопоставителей можно найти на нашей странице сопоставителей.
exist
Сопоставитель exist проверяет доступность образа на узле:
it { should exist }
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/docker_service/