diff --git a/docs/TODO.md b/docs/TODO.md index a9a4b63f..d4407aeb 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -225,4 +225,7 @@ https://github.com/apple/turicreate/ https://obsidian-plugin-stats.vercel.app/most-downloaded https://fig.io/ https://medusajs.com/?ref=producthunt -https://railway.app/?ref=producthunt \ No newline at end of file +https://railway.app/?ref=producthunt + +Figure out how to use CLI for https://github.com/docker/volumes-backup-extension +https://formulae.brew.sh/formula/docker-machine-driver-vmware#default \ No newline at end of file diff --git a/home/.chezmoidata.yaml b/home/.chezmoidata.yaml index c5e270ef..42cf749e 100644 --- a/home/.chezmoidata.yaml +++ b/home/.chezmoidata.yaml @@ -700,6 +700,7 @@ softwareGroups: - ntl - openjdk - please + - porter - rust - snapcraft - solidity diff --git a/home/.chezmoiscripts/universal/run_onchange_before_11-install-docker.sh.tmpl b/home/.chezmoiscripts/universal/run_onchange_before_11-install-docker.sh.tmpl index 9c600e2b..2d559d16 100644 --- a/home/.chezmoiscripts/universal/run_onchange_before_11-install-docker.sh.tmpl +++ b/home/.chezmoiscripts/universal/run_onchange_before_11-install-docker.sh.tmpl @@ -21,11 +21,15 @@ if [ -d /Applications ] && [ -d /System ]; then if [ ! -d /Applications/Docker.app ]; then logg info 'Installing Docker on macOS via Homebrew cask' brew install --cask docker + logg info 'Installing Docker Credential Helper' + brew install docker-credential-helper + logg info 'Removing Docker.app quarantine status' + sudo xattr -r -d com.apple.quarantine /Applications/Docker.app else logg info 'Docker appears to be installed already' fi logg info 'Opening the Docker for Desktop app so that the Docker engine starts running' - open --background -a Docker + open --background -a Docker --args --accept-license --unattended --install-privileged-components elif command -v apt-get > /dev/null; then . /etc/os-release if [ "$ID" == 'ubuntu' ]; then @@ -147,9 +151,19 @@ function gVisorSource() { fi } +### Install systemsecret credential helper for Linux +function installCredentialSecretService() { + curl -sSL https://github.com/docker/docker-credential-helpers/releases/download/v0.7.0/docker-credential-secretservice-v0.7.0.linux-amd64 > /tmp/docker-credential-secretservice + sudo mv /tmp/docker-credential-secretservice /usr/local/bin/docker-credential-secretservice +} + ### Add gVisor if [ ! -d /Applications ] || [ ! -d /System ]; then # Linux + if ! command -v docker-credential-secretservice > /dev/null; then + installCredentialSecretService + fi + if ! command -v runsc > /dev/null; then # Install gVisor gVisorPreBuilt || PRE_BUILT_EXIT_CODE=$? diff --git a/home/dot_config/Code/User/extensions.json b/home/dot_config/Code/User/extensions.json index 3ac2e93f..1d69517f 100644 --- a/home/dot_config/Code/User/extensions.json +++ b/home/dot_config/Code/User/extensions.json @@ -15,6 +15,7 @@ "balazs4.gitlab-pipeline-monitor", "bbenoist.vagrant", "beauallison.brew-services", + "getporter.porter-vscode", "bierner.color-info", "bierner.markdown-emoji", "bmewburn.vscode-intelephense-client", diff --git a/home/dot_config/docker/config.json.tmpl b/home/dot_config/docker/config.json.tmpl new file mode 100644 index 00000000..0b612757 --- /dev/null +++ b/home/dot_config/docker/config.json.tmpl @@ -0,0 +1,3 @@ +{ + "credsStore": "{{ if (eq .host.distro.id "darwin") }}osxkeychain{{ else }}{{ if (eq .host.distro.id "windows") }}wincred{{ else }}secretservice{{ end }}{{ end }}" +} \ No newline at end of file diff --git a/software.yml b/software.yml index 7976b15f..81a6f1e0 100644 --- a/software.yml +++ b/software.yml @@ -8893,6 +8893,26 @@ softwarePackages: _name: YJ brew: yj go: github.com/sclevine/yj/v5@v5.1.0 + porter: + _bin: porter + _desc: Porter enables you to package your application artifact, client tools, configuration and deployment logic together as an installer that you can distribute, and install with a single command. + _docs: https://getporter.org/docs/ + _github: https://github.com/getporter/porter + _home: https://getporter.org/ + _name: Porter + script:darwin: curl -L https://cdn.porter.sh/latest/install-mac.sh | bash + script:linux: curl -L https://cdn.porter.sh/latest/install-linux.sh | bash + script:windows: iwr "https://cdn.porter.sh/latest/install-windows.ps1" -UseBasicParsing | iex + docker-credential-helper: + _bin:darwin: docker-credential-osxkeychain + _bin:linux: docker-credential-secretservice + _bin:windows: docker-credential-wincred + _desc: Programs to keep Docker login credentials safe by storing in platform keystores + _docs: https://github.com/docker/docker-credential-helpers + _github: https://github.com/docker/docker-credential-helpers + _home: https://github.com/docker/docker-credential-helpers + _name: Docker Credential Helper + brew: docker-credential-helper forklift: _bin: forklift flatpak: com.github.Johnn3y.Forklift @@ -9025,6 +9045,19 @@ softwarePackages: _bin: flatseal flatpak: com.github.tchx84.Flatseal softwarePlugins: + docker: + cmd: docker extension install {PLUGIN} + plugins: + - docker/disk-usage-extension + - docker/logs-explorer-extension + - docker/resource-usage-extension + - docker/volumes-backup-extension:main + - drone/drone-ci-docker-extension + - okteto/docker-desktop-extension + - portainer/portainer-docker-extension + - redhatdeveloper/openshift-dd-ext + - snyk/snyk-docker-desktop-extension + - tailscale/docker-extension dotnet: cmd: null # cmd: Handled by .chezmoiexternal.toml