4

I'm writing an Inspec profile which has a specific control that I want to skip if the control is running inside a docker container. This looks like:

control 'ssh daemon' do
  impact 'critical'
  only_if('not in docker') do
    condition_expression
  end
  describe service('sshd') do
    it { should be_installed }
    it { should be_enabled }
    it { should be_running }
  end
end

I need the condition_expression to return false when in a container. Is there an elegant way to do this with ruby or inspec without shelling out?

1 Answer 1

5

In Ruby you can use this function:

# return true if we are inside a docker container
def in_container?
  return File.file?('/.dockerenv')
end

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.