├── .github └── workflows │ └── test.yml ├── .gitignore ├── .rspec ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── ami_spec.gemspec ├── bin └── ami_spec ├── lib ├── ami_spec.rb └── ami_spec │ ├── aws_default_vpc.rb │ ├── aws_instance.rb │ ├── aws_instance_options.rb │ ├── aws_key_pair.rb │ ├── aws_security_group.rb │ ├── server_spec.rb │ ├── server_spec_options.rb │ ├── version.rb │ ├── wait_for_cloud_init.rb │ ├── wait_for_rc.rb │ └── wait_for_ssh.rb └── spec ├── ami_spec ├── aws_default_vpc_spec.rb ├── aws_key_pair_spec.rb └── aws_security_group_spec.rb ├── ami_spec_spec.rb ├── aws_instance_spec.rb ├── containers ├── Dockerfile.amazon_linux ├── Dockerfile.trusty ├── Dockerfile.xenial ├── README.md ├── ami-spec ├── ami-spec.pub ├── docker-compose.yml ├── rc.conf └── sshd_config ├── spec_helper.rb ├── spec_support.rb ├── support └── serverspec.rb ├── wait_for_rc_spec.rb └── wait_for_ssh_spec.rb /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | Gemfile.lock 2 | pkg/ 3 | *.gem 4 | .ruby-version 5 | spec/examples.txt 6 | -------------------------------------------------------------------------------- /.rspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/.rspec -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/Gemfile -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/Rakefile -------------------------------------------------------------------------------- /ami_spec.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/ami_spec.gemspec -------------------------------------------------------------------------------- /bin/ami_spec: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require 'ami_spec' 4 | 5 | AmiSpec.invoke 6 | -------------------------------------------------------------------------------- /lib/ami_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/lib/ami_spec.rb -------------------------------------------------------------------------------- /lib/ami_spec/aws_default_vpc.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/lib/ami_spec/aws_default_vpc.rb -------------------------------------------------------------------------------- /lib/ami_spec/aws_instance.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/lib/ami_spec/aws_instance.rb -------------------------------------------------------------------------------- /lib/ami_spec/aws_instance_options.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/lib/ami_spec/aws_instance_options.rb -------------------------------------------------------------------------------- /lib/ami_spec/aws_key_pair.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/lib/ami_spec/aws_key_pair.rb -------------------------------------------------------------------------------- /lib/ami_spec/aws_security_group.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/lib/ami_spec/aws_security_group.rb -------------------------------------------------------------------------------- /lib/ami_spec/server_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/lib/ami_spec/server_spec.rb -------------------------------------------------------------------------------- /lib/ami_spec/server_spec_options.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/lib/ami_spec/server_spec_options.rb -------------------------------------------------------------------------------- /lib/ami_spec/version.rb: -------------------------------------------------------------------------------- 1 | module AmiSpec 2 | VERSION = '1.8.2' 3 | end 4 | -------------------------------------------------------------------------------- /lib/ami_spec/wait_for_cloud_init.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/lib/ami_spec/wait_for_cloud_init.rb -------------------------------------------------------------------------------- /lib/ami_spec/wait_for_rc.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/lib/ami_spec/wait_for_rc.rb -------------------------------------------------------------------------------- /lib/ami_spec/wait_for_ssh.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/lib/ami_spec/wait_for_ssh.rb -------------------------------------------------------------------------------- /spec/ami_spec/aws_default_vpc_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/ami_spec/aws_default_vpc_spec.rb -------------------------------------------------------------------------------- /spec/ami_spec/aws_key_pair_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/ami_spec/aws_key_pair_spec.rb -------------------------------------------------------------------------------- /spec/ami_spec/aws_security_group_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/ami_spec/aws_security_group_spec.rb -------------------------------------------------------------------------------- /spec/ami_spec_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/ami_spec_spec.rb -------------------------------------------------------------------------------- /spec/aws_instance_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/aws_instance_spec.rb -------------------------------------------------------------------------------- /spec/containers/Dockerfile.amazon_linux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/containers/Dockerfile.amazon_linux -------------------------------------------------------------------------------- /spec/containers/Dockerfile.trusty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/containers/Dockerfile.trusty -------------------------------------------------------------------------------- /spec/containers/Dockerfile.xenial: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/containers/Dockerfile.xenial -------------------------------------------------------------------------------- /spec/containers/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/containers/README.md -------------------------------------------------------------------------------- /spec/containers/ami-spec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/containers/ami-spec -------------------------------------------------------------------------------- /spec/containers/ami-spec.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/containers/ami-spec.pub -------------------------------------------------------------------------------- /spec/containers/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/containers/docker-compose.yml -------------------------------------------------------------------------------- /spec/containers/rc.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/containers/rc.conf -------------------------------------------------------------------------------- /spec/containers/sshd_config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/containers/sshd_config -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/spec_helper.rb -------------------------------------------------------------------------------- /spec/spec_support.rb: -------------------------------------------------------------------------------- 1 | Dir.glob(File.join(__dir__, 'support/**/*.rb')).sort.each { |f| require f } 2 | -------------------------------------------------------------------------------- /spec/support/serverspec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/support/serverspec.rb -------------------------------------------------------------------------------- /spec/wait_for_rc_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/wait_for_rc_spec.rb -------------------------------------------------------------------------------- /spec/wait_for_ssh_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/envato/ami-spec/HEAD/spec/wait_for_ssh_spec.rb --------------------------------------------------------------------------------