Update pdk-templates for gitpod and codespaces support pdksync_gitpod
authorDavid Schmitt <david.schmitt@puppet.com>
Tue, 17 Nov 2020 21:22:26 +0000 (21:22 +0000)
committerDavid Schmitt <david.schmitt@puppet.com>
Tue, 17 Nov 2020 21:22:26 +0000 (21:22 +0000)
.devcontainer/Dockerfile [new file with mode: 0644]
.devcontainer/devcontainer.json [new file with mode: 0644]
.gitpod.Dockerfile [new file with mode: 0644]
.gitpod.yml [new file with mode: 0644]
.pdkignore
.rubocop.yml
.sync.yml
Gemfile
data/common.yaml [new file with mode: 0644]
hiera.yaml [new file with mode: 0644]
metadata.json

diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
new file mode 100644 (file)
index 0000000..12ed4ff
--- /dev/null
@@ -0,0 +1,6 @@
+FROM puppet/pdk:latest
+
+# [Optional] Uncomment this section to install additional packages.
+# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
+#     && apt-get -y install --no-install-recommends <your-package-list-here>
+
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644 (file)
index 0000000..f1a55dc
--- /dev/null
@@ -0,0 +1,23 @@
+// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
+// https://github.com/microsoft/vscode-dev-containers/tree/v0.140.1/containers/puppet
+{
+       "name": "Puppet Development Kit (Community)",
+       "dockerFile": "Dockerfile",
+
+       // Set *default* container specific settings.json values on container create.
+       "settings": {
+               "terminal.integrated.shell.linux": "/bin/bash"
+       },
+
+       // Add the IDs of extensions you want installed when the container is created.
+       "extensions": [
+               "puppet.puppet-vscode",
+               "rebornix.Ruby"
+       ]
+
+       // Use 'forwardPorts' to make a list of ports inside the container available locally.
+       // "forwardPorts": [],
+
+       // Use 'postCreateCommand' to run commands after the container is created.
+       // "postCreateCommand": "pdk --version",
+}
diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile
new file mode 100644 (file)
index 0000000..0814c5e
--- /dev/null
@@ -0,0 +1,18 @@
+FROM gitpod/workspace-full
+RUN sudo wget https://apt.puppet.com/puppet-tools-release-bionic.deb && \
+    wget https://apt.puppetlabs.com/puppet6-release-bionic.deb && \
+    sudo dpkg -i puppet6-release-bionic.deb && \
+    sudo dpkg -i puppet-tools-release-bionic.deb && \
+    sudo apt-get update && \
+    sudo apt-get install -y pdk zsh puppet-agent && \
+    sudo apt-get clean && \
+    sudo rm -rf /var/lib/apt/lists/*
+RUN sudo usermod -s $(which zsh) gitpod && \
+    sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" && \
+    echo "plugins=(git gitignore github gem pip bundler python ruby docker docker-compose)" >> /home/gitpod/.zshrc && \
+    echo 'PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/puppetlabs/bin:/opt/puppetlabs/puppet/bin"'  >> /home/gitpod/.zshrc && \
+    sudo /opt/puppetlabs/puppet/bin/gem install puppet-debugger hub -N && \
+    mkdir -p /home/gitpod/.config/puppet && \
+    /opt/puppetlabs/puppet/bin/ruby -r yaml -e "puts ({'disabled' => true}).to_yaml" > /home/gitpod/.config/puppet/analytics.yml
+RUN rm -f puppet6-release-bionic.deb  puppet-tools-release-bionic.deb
+ENTRYPOINT /usr/bin/zsh
diff --git a/.gitpod.yml b/.gitpod.yml
new file mode 100644 (file)
index 0000000..18406c5
--- /dev/null
@@ -0,0 +1,9 @@
+image:
+  file: .gitpod.Dockerfile
+
+tasks:
+  - init: pdk bundle install
+
+vscode:
+  extensions:
+    - puppet.puppet-vscode@1.0.0:oSzfTkDf6Cmc1jOjgW33VA==
index e6215cd0cbfdfab41b9bb612a4d27a343b109f60..254808c8f3d2e210222b89254bb66f4fb90f282c 100644 (file)
@@ -32,6 +32,7 @@
 /.gitignore
 /.gitlab-ci.yml
 /.pdkignore
+/.puppet-lint.rc
 /Rakefile
 /rakelib/
 /.rspec
@@ -40,3 +41,4 @@
 /.yardopts
 /spec/
 /.vscode/
+/.sync.yml
index 200675437fbaa0152047d3ac1ef079b7beb5f254..b7c972b286f0bb13161f3530f66c2f794586876e 100644 (file)
@@ -43,7 +43,7 @@ Style/BlockDelimiters:
 Style/BracesAroundHashParameters:
   Description: Braces are required by Ruby 2.7. Cop removed from RuboCop v0.80.0.
     See https://github.com/rubocop-hq/rubocop/pull/7643
-  Enabled: true
+  Enabled: false
 Style/ClassAndModuleChildren:
   Description: Compact style reduces the required amount of indentation.
   EnforcedStyle: compact
index 9abec6a81be4b36cdbbe8310be294d1e967ace8e..6a1ee6a7c138e1ca5c07430e7a5ff3c7cadeed5b 100644 (file)
--- a/.sync.yml
+++ b/.sync.yml
@@ -50,3 +50,7 @@ Rakefile:
 spec/spec_helper.rb:
   mock_with: ":rspec"
   coverage_report: true
+.gitpod.Dockerfile:
+  unmanaged: false
+.gitpod.yml:
+  unmanaged: false
diff --git a/Gemfile b/Gemfile
index 582e584673a2ca031057a1a1b7051446221859b0..19423c55c815fbe65ad38af33f1603113a99bf3f 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -23,6 +23,7 @@ group :development do
   gem "json", '= 1.8.1',                                         require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9')
   gem "json", '= 2.0.4',                                         require: false if Gem::Requirement.create('~> 2.4.2').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
   gem "json", '= 2.1.0',                                         require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
+  gem "json", '= 2.3.0',                                         require: false if Gem::Requirement.create(['>= 2.7.0', '< 2.8.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
   gem "rb-readline", '= 0.5.5',                                  require: false, platforms: [:mswin, :mingw, :x64_mingw]
   gem "puppet-module-posix-default-r#{minor_version}", '~> 0.4', require: false, platforms: [:ruby]
   gem "puppet-module-posix-dev-r#{minor_version}", '~> 0.4',     require: false, platforms: [:ruby]
diff --git a/data/common.yaml b/data/common.yaml
new file mode 100644 (file)
index 0000000..2fbf0ff
--- /dev/null
@@ -0,0 +1 @@
+--- {}
diff --git a/hiera.yaml b/hiera.yaml
new file mode 100644 (file)
index 0000000..545fff3
--- /dev/null
@@ -0,0 +1,21 @@
+---
+version: 5
+
+defaults:  # Used for any hierarchy level that omits these keys.
+  datadir: data         # This path is relative to hiera.yaml's directory.
+  data_hash: yaml_data  # Use the built-in YAML backend.
+
+hierarchy:
+  - name: "osfamily/major release"
+    paths:
+        # Used to distinguish between Debian and Ubuntu
+      - "os/%{facts.os.name}/%{facts.os.release.major}.yaml"
+      - "os/%{facts.os.family}/%{facts.os.release.major}.yaml"
+        # Used for Solaris
+      - "os/%{facts.os.family}/%{facts.kernelrelease}.yaml"
+  - name: "osfamily"
+    paths:
+      - "os/%{facts.os.name}.yaml"
+      - "os/%{facts.os.family}.yaml"
+  - name: 'common'
+    path: 'common.yaml'
index 4cb813b7b17c5c889f8853dafb5c6b89ca163a93..a8a1a1ab07fe60b64a85d3b8a614f7dff2f84f94 100644 (file)
@@ -43,6 +43,6 @@
     }
   ],
   "template-url": "https://github.com/puppetlabs/pdk-templates#main",
-  "template-ref": "heads/main-0-gd610ead",
+  "template-ref": "heads/main-0-g874030e",
   "pdk-version": "1.18.1"
 }