+ # This variable will be set by the screwdriver::docker-compose recipe automatically.
+ #'ECOSYSTEM_UI' => "http://#{node['fqdn']}:#{ui_port}",
+ },
+ },
+ },
+ },
+ },
+ },
+)
+```
+
+- `roles/screwdriver-with-ssl.rb`
+
+```ruby
+name 'screwdriver-with-ssl'
+description 'screwdriver with SSL'
+
+cn = 'screwdriver.io.example.com'
+ui_port = '9000'
+api_port = '9001'
+store_port = '9002'
+
+run_list(
+ 'role[docker]',
+ 'recipe[screwdriver::docker-compose]',
+)
+
+override_attributes(
+ 'ssl_cert' => {
+ #'common_names' => [
+ # cn, # screwdriver cookbook < 0.2.2
+ #],
+ },
+ 'screwdriver' => {
+ 'with_ssl_cert_cookbook' => true,
+ 'ssl_cert' => {
+ 'common_name' => cn,
+ },
+ 'api' => {
+ 'config' => {
+ 'executor' => {
+ 'plugin' => 'docker',
+ 'docker' => {
+ 'options' => {
+ 'docker' => {
+ 'socketPath' => '/var/run/docker.sock',
+ },
+ 'launchVersion' => 'stable',
+ },
+ },
+ },
+ 'scms' => {
+ 'github.com' => {
+ 'plugin' => 'github',
+ 'config' => {
+ # OAuth Callback URL: "http://#{node['fqdn']}:9001/v4/auth/login/web"
+ 'username' => 'ci-tool',
+ 'email' => 'citool@mail.example.com',
+ 'privateRepo' => false,
+ },
+ },
+ },
+ },
+ 'scms_vault_items' => {
+ 'github.com' => {
+ 'oauthClientId' => {
+ 'vault' => 'screwdriver',
+ 'name' => 'github',
+ 'env_context' => false,
+ 'key' => 'oauthClientId', # real hash path: "/oauthClientId"
+ },
+ 'oauthClientSecret' => {
+ 'vault' => 'screwdriver',
+ 'name' => 'github',
+ 'env_context' => false,
+ 'key' => 'oauthClientSecret', # real hash path: "/oauthClientSecret"
+ },
+ 'secret' => {
+ 'vault' => 'screwdriver',
+ 'name' => 'github',
+ 'env_context' => false,
+ 'key' => 'secret', # real hash path: "/secret"
+ },
+ },
+ },
+ },
+ 'docker-compose' => {
+ 'config' => {
+ 'services' => {
+ 'reverseproxy' => {
+ 'ports' => [
+ "#{ui_port}:9000",
+ ],
+ 'environment' => {
+ },
+ },
+ 'api' => {
+ 'ports' => [
+ "#{api_port}:80",
+ ],
+ 'environment' => {
+ 'NODE_TLS_REJECT_UNAUTHORIZED' => '0', # for self-signed cetificates
+ # The following variables will be set by the screwdriver::docker-compose recipe automatically.
+ #'ECOSYSTEM_UI' => "http://#{node['fqdn']}:#{ui_port}",
+ #'ECOSYSTEM_STORE' => "http://#{node['fqdn']}:#{store_port}",
+ },
+ },
+ 'ui' => {
+ #'ports' => [
+ # "#{ui_port}:80",
+ #],
+ 'environment' => {
+ # These variables will be set by the screwdriver::docker-compose recipe automatically.
+ #'ECOSYSTEM_API' => "http://#{node['fqdn']}:#{api_port}",
+ #'ECOSYSTEM_STORE' => "http://#{node['fqdn']}:#{store_port}",
+ },
+ },
+ 'store' => {
+ 'ports' => [
+ "#{store_port}:80",
+ ],
+ 'environment' => {