ресурс 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/