Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: tilt-dev/ctlptl
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.8.12
Choose a base ref
...
head repository: tilt-dev/ctlptl
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on Nov 4, 2022

  1. Copy the full SHA
    0307618 View commit details

Commits on Dec 5, 2022

  1. cluster: create k3d from a config file. (#265)

    fixes #224
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Dec 5, 2022
    Copy the full SHA
    8df0a44 View commit details
  2. Copy the full SHA
    f66abd9 View commit details

Commits on Dec 6, 2022

  1. cluster: fix a bug in k3d 5.4+ (#266)

    Signed-off-by: Nick Santos <nick.santos@docker.com>
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Dec 6, 2022
    Copy the full SHA
    10ef972 View commit details
  2. Copy the full SHA
    ce09580 View commit details

Commits on Dec 14, 2022

  1. cluster: fix settings write payload (#268)

    also, while i'm here, refactor the protocol negotiation to better
    express what's happening and match the socket names on disk
    
    fixes #267
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Dec 14, 2022
    Copy the full SHA
    9991a12 View commit details

Commits on Dec 16, 2022

  1. Copy the full SHA
    045f226 View commit details

Commits on Jan 30, 2023

  1. cluster: add kubernetes v1.26.0 for kind v0.17 (#269)

    Signed-off-by: zoetrope <a.ikezoe@gmail.com>
    zoetrope authored Jan 30, 2023
    Copy the full SHA
    49b5edb View commit details
  2. k3dv1alpha4: add HostAliases to config (#270)

    Signed-off-by: Nick Sieger <nick@nicksieger.com>
    nicksieger authored Jan 30, 2023
    Copy the full SHA
    cbc5581 View commit details
  3. Copy the full SHA
    a7faa84 View commit details

Commits on Feb 16, 2023

  1. build(deps): bump github.com/containerd/containerd from 1.6.8 to 1.6.…

    …18 (#271)
    
    Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.6.8 to 1.6.18.
    - [Release notes](https://github.com/containerd/containerd/releases)
    - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md)
    - [Commits](containerd/containerd@v1.6.8...v1.6.18)
    
    ---
    updated-dependencies:
    - dependency-name: github.com/containerd/containerd
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Feb 16, 2023
    Copy the full SHA
    be1b350 View commit details

Commits on Feb 22, 2023

  1. deps: upgrade to go 1.20 (#272)

    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Feb 22, 2023
    Copy the full SHA
    733a582 View commit details
  2. Add go install to README (#273)

    At least in my small team, we all agree that `go install` is the easiest way to install command line tools.
    guettli authored Feb 22, 2023
    Copy the full SHA
    a3de768 View commit details

Commits on Feb 23, 2023

  1. build(deps): bump golang.org/x/text from 0.3.7 to 0.3.8 (#274)

    Bumps [golang.org/x/text](https://github.com/golang/text) from 0.3.7 to 0.3.8.
    - [Release notes](https://github.com/golang/text/releases)
    - [Commits](golang/text@v0.3.7...v0.3.8)
    
    ---
    updated-dependencies:
    - dependency-name: golang.org/x/text
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Feb 23, 2023
    Copy the full SHA
    cbf4760 View commit details

Commits on Feb 24, 2023

  1. ci: increase lint timeout (#276)

    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Feb 24, 2023
    Copy the full SHA
    de62eb9 View commit details
  2. Add env property on Registry (#277)

    * feat: implement env properties on registries
    
    Signed-off-by: Nicolas COLLET <MalibuKoKo@users.noreply.github.com>
    
    * test(ContainerInspect): add & fill up Config prop in mocked function
    
    Signed-off-by: Nicolas COLLET <MalibuKoKo@users.noreply.github.com>
    
    * test(registry_test.go): implement function TestCustomEnv
    
    Signed-off-by: Nicolas COLLET <MalibuKoKo@users.noreply.github.com>
    
    * fix var variable assignment
    
    Signed-off-by: Nicolas COLLET <MalibuKoKo@users.noreply.github.com>
    
    ---------
    
    Signed-off-by: Nicolas COLLET <MalibuKoKo@users.noreply.github.com>
    MalibuKoKo authored Feb 24, 2023
    Copy the full SHA
    319f726 View commit details
  3. build(deps): bump golang.org/x/net (#278)

    Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20220826154423-83b083e8dc8b to 0.7.0.
    - [Release notes](https://github.com/golang/net/releases)
    - [Commits](https://github.com/golang/net/commits/v0.7.0)
    
    ---
    updated-dependencies:
    - dependency-name: golang.org/x/net
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Feb 24, 2023
    Copy the full SHA
    d62e2bd View commit details
  4. Copy the full SHA
    cd9f527 View commit details

Commits on Mar 13, 2023

  1. cluster: always run 'k3d delete' before 'k3d create' to wipe out any …

    …old clusters (#280)
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Mar 13, 2023
    Copy the full SHA
    fa38976 View commit details
  2. cluster: report errors on the status field (#279)

    i've recently changed how i'm logged into clusters
    so that i get auto-logged out aggressively. So there's
    often a bunch of clusters that i have contexts for but
    where healthchecks will fail. this is ok! but let's report it.
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Mar 13, 2023
    Copy the full SHA
    f6d3664 View commit details

Commits on Mar 24, 2023

  1. Copy the full SHA
    0ad1b52 View commit details

Commits on Mar 31, 2023

  1. cluster: update for kind release v0.18.0 (#282)

    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Mar 31, 2023
    Copy the full SHA
    1b90025 View commit details
  2. circleci: update minikube and k3d (#283)

    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Mar 31, 2023
    Copy the full SHA
    98c383b View commit details
  3. go.mod: update some deps (#284)

    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Mar 31, 2023
    Copy the full SHA
    025125f View commit details

Commits on Apr 3, 2023

  1. Copy the full SHA
    0ab5b8b View commit details

Commits on Apr 4, 2023

  1. build(deps): bump github.com/docker/docker (#285)

    Bumps [github.com/docker/docker](https://github.com/docker/docker) from 20.10.14+incompatible to 20.10.24+incompatible.
    - [Release notes](https://github.com/docker/docker/releases)
    - [Commits](moby/moby@v20.10.14...v20.10.24)
    
    ---
    updated-dependencies:
    - dependency-name: github.com/docker/docker
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Apr 4, 2023
    Copy the full SHA
    59473e5 View commit details

Commits on Apr 24, 2023

  1. add 1.27 to v0.18.0 (#287)

    Signed-off-by: matt <mtbarta@gmail.com>
    mtbarta authored Apr 24, 2023
    Copy the full SHA
    a40b2c5 View commit details

Commits on May 11, 2023

  1. build(deps): bump github.com/docker/distribution (#289)

    Bumps [github.com/docker/distribution](https://github.com/docker/distribution) from 2.8.1+incompatible to 2.8.2+incompatible.
    - [Release notes](https://github.com/docker/distribution/releases)
    - [Commits](distribution/distribution@v2.8.1...v2.8.2)
    
    ---
    updated-dependencies:
    - dependency-name: github.com/docker/distribution
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 11, 2023
    Copy the full SHA
    e78edf9 View commit details

Commits on May 23, 2023

  1. cluster: update for kind release v0.19.0 (#290) (#291)

    Signed-off-by: Mark Ingram <mark@lincs.dev>
    markdingram authored May 23, 2023
    Copy the full SHA
    3a6dae7 View commit details
  2. circleci: update to kind 0.19 (#292)

    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored May 23, 2023
    Copy the full SHA
    8b031ca View commit details
  3. Copy the full SHA
    7bbc196 View commit details

Commits on Jun 15, 2023

  1. cluster: update for kind release v0.20.0 (#294)

    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Jun 15, 2023
    Copy the full SHA
    7469bc8 View commit details
  2. Copy the full SHA
    8cce1bc View commit details

Commits on Jul 8, 2023

  1. goreleaser: fix some deprecations (#297)

    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Jul 8, 2023
    Copy the full SHA
    96f78bc View commit details

Commits on Jul 11, 2023

  1. test: speed up tests by loading a released version of ko (#299)

    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Jul 11, 2023
    Copy the full SHA
    25ffba0 View commit details

Commits on Jul 14, 2023

  1. test: integration test improvements (#300)

    - reorganize directory structure
    - verify that the simple test server starts up
    - better diagnostics when things fail
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Jul 14, 2023
    Copy the full SHA
    7f4890d View commit details

Commits on Jul 15, 2023

  1. test: add docker-desktop k8s tests (#301)

    these only run locally because i haven't figured out how to run DD on ci yet
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Jul 15, 2023
    Copy the full SHA
    97c7519 View commit details

Commits on Jul 25, 2023

  1. vendor: upgrade to docker v24 (#302)

    picks up fixes for go 1.20.6
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Jul 25, 2023
    Copy the full SHA
    7b17159 View commit details

Commits on Aug 16, 2023

  1. dctr: adjust how CLI is loaded (#304)

    Some bits of the load sequence changed in Docker 24
    
    This code has been copied from
    tilt-dev/tilt#6191
    
    sadly, it's a PITA to test, because Docker loads the env variables
    at startup
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Aug 16, 2023
    Copy the full SHA
    ad3f96e View commit details

Commits on Aug 17, 2023

  1. go: update to 1.21 (#305)

    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Aug 17, 2023
    Copy the full SHA
    099d599 View commit details

Commits on Aug 18, 2023

  1. docker: pass credentials to image pull (#306)

    this was mainly a yak shave, since the credentials
    come from the CLI rather than the API client.
    
    fixes #303
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Aug 18, 2023
    Copy the full SHA
    fc87b38 View commit details
  2. Copy the full SHA
    8ca4793 View commit details

Commits on Aug 30, 2023

  1. cmd: clean up printer implementations (#308)

    fixes #307
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Aug 30, 2023
    Copy the full SHA
    a1d6c93 View commit details

Commits on Sep 1, 2023

  1. Copy the full SHA
    1e708a4 View commit details

Commits on Sep 7, 2023

  1. cluster: update kind admin to use our abstract RunIO interface (#313)

    this is just refactoring to make the next couple changes easier
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Sep 7, 2023
    Copy the full SHA
    df0178b View commit details

Commits on Sep 8, 2023

  1. cluster: update kind to use new containerd patch format (#314)

    fixes #311
    
    this pre-emptively switches to the new config format
    before the old format goes away.
    
    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Sep 8, 2023
    Copy the full SHA
    5d03bf0 View commit details

Commits on Sep 21, 2023

  1. go.mod: update k8s libraries (#315)

    Signed-off-by: Nick Santos <nick.santos@docker.com>
    nicks authored Sep 21, 2023
    Copy the full SHA
    8301bb1 View commit details

Commits on Oct 12, 2023

  1. build(deps): bump golang.org/x/net from 0.13.0 to 0.17.0 (#316)

    Bumps [golang.org/x/net](https://github.com/golang/net) from 0.13.0 to 0.17.0.
    - [Commits](golang/net@v0.13.0...v0.17.0)
    
    ---
    updated-dependencies:
    - dependency-name: golang.org/x/net
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 12, 2023
    Copy the full SHA
    c1eed14 View commit details

Commits on Oct 30, 2023

  1. build(deps): bump github.com/docker/docker (#318)

    Bumps [github.com/docker/docker](https://github.com/docker/docker) from 24.0.5+incompatible to 24.0.7+incompatible.
    - [Release notes](https://github.com/docker/docker/releases)
    - [Commits](moby/moby@v24.0.5...v24.0.7)
    
    ---
    updated-dependencies:
    - dependency-name: github.com/docker/docker
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 30, 2023
    Copy the full SHA
    9879c81 View commit details

Commits on Nov 20, 2023

  1. Add Kubernetes 1.28 to kind v0.20.0 node table (#319)

    Signed-off-by: kouki <kouworld0123@gmail.com>
    kmdkuk authored Nov 20, 2023
    Copy the full SHA
    77fcdaa View commit details
Showing with 3,406 additions and 1,633 deletions.
  1. +20 −21 .circleci/Dockerfile
  2. +49 −42 .circleci/config.yml
  3. +17 −16 .goreleaser.yml
  4. +3 −3 INSTALL.md
  5. +3 −4 Makefile
  6. +8 −1 README.md
  7. +1 −1 docs/ctlptl.md
  8. +1 −1 docs/ctlptl_analytics.md
  9. +1 −1 docs/ctlptl_analytics_opt.md
  10. +2 −2 docs/ctlptl_apply.md
  11. +1 −1 docs/ctlptl_completion.md
  12. +1 −1 docs/ctlptl_completion_bash.md
  13. +1 −1 docs/ctlptl_completion_fish.md
  14. +1 −1 docs/ctlptl_completion_powershell.md
  15. +2 −2 docs/ctlptl_completion_zsh.md
  16. +1 −1 docs/ctlptl_create.md
  17. +2 −2 docs/ctlptl_create_cluster.md
  18. +2 −2 docs/ctlptl_create_registry.md
  19. +1 −1 docs/ctlptl_delete.md
  20. +1 −1 docs/ctlptl_docker-desktop.md
  21. +1 −1 docs/ctlptl_docker-desktop_open.md
  22. +1 −1 docs/ctlptl_docker-desktop_quit.md
  23. +1 −1 docs/ctlptl_docker-desktop_reset-cluster.md
  24. +1 −1 docs/ctlptl_docker-desktop_set.md
  25. +1 −1 docs/ctlptl_docker-desktop_settings.md
  26. +2 −2 docs/ctlptl_get.md
  27. +1 −1 docs/ctlptl_socat.md
  28. +1 −1 docs/ctlptl_socat_connect-remote-docker.md
  29. +1 −1 docs/ctlptl_version.md
  30. +8 −0 examples/k3d-config.yaml
  31. +14 −0 examples/kind_extra_args.yaml
  32. +15 −0 examples/kind_registry_auth.yaml
  33. +77 −73 go.mod
  34. +184 −856 go.sum
  35. +20 −21 hack/Dockerfile
  36. +8 −4 hack/make-rules/generated.sh
  37. +16 −0 hack/publish-ci-image.sh
  38. +1 −1 hack/release.sh
  39. +94 −24 internal/dctr/run.go
  40. +15 −2 internal/exec/exec.go
  41. +0 −112 internal/printers/name.go
  42. +4 −4 internal/socat/socat.go
  43. +16 −4 pkg/api/accessors.go
  44. +48 −0 pkg/api/{zz_generated.deepcopy.go → generated.deepcopy.go}
  45. +4 −0 pkg/api/k3dv1alpha4/doc.go
  46. +419 −0 pkg/api/k3dv1alpha4/generated.deepcopy.go
  47. +127 −0 pkg/api/k3dv1alpha4/types.go
  48. +4 −0 pkg/api/k3dv1alpha5/doc.go
  49. +440 −0 pkg/api/k3dv1alpha5/generated.deepcopy.go
  50. +169 −0 pkg/api/k3dv1alpha5/types.go
  51. +62 −0 pkg/api/types.go
  52. +19 −1 pkg/cluster/admin.go
  53. +3 −1 pkg/cluster/admin_docker_desktop.go
  54. +40 −0 pkg/cluster/admin_helpers.go
  55. +160 −18 pkg/cluster/admin_k3d.go
  56. +146 −0 pkg/cluster/admin_k3d_test.go
  57. +229 −41 pkg/cluster/admin_kind.go
  58. +82 −1 pkg/cluster/admin_kind_test.go
  59. +30 −53 pkg/cluster/admin_minikube.go
  60. +62 −60 pkg/cluster/cluster.go
  61. +35 −10 pkg/cluster/cluster_test.go
  62. +20 −12 pkg/cluster/docker.go
  63. +47 −20 pkg/cluster/docker_desktop.go
  64. +1 −5 pkg/cluster/docker_desktop_dial.go
  65. +1 −1 pkg/cluster/docker_desktop_dial_windows.go
  66. +70 −31 pkg/cluster/docker_desktop_test.go
  67. +5 −4 pkg/cluster/machine.go
  68. +1 −1 pkg/cmd/apply.go
  69. +1 −1 pkg/cmd/create_cluster.go
  70. +1 −1 pkg/cmd/create_registry.go
  71. +1 −1 pkg/cmd/delete.go
  72. +29 −10 pkg/cmd/get.go
  73. +3 −3 pkg/cmd/get_test.go
  74. +0 −23 pkg/cmd/printer.go
  75. +2 −2 pkg/cmd/socat.go
  76. +91 −29 pkg/registry/registry.go
  77. +201 −39 pkg/registry/registry_test.go
  78. +11 −0 test/docker-desktop/Dockerfile
  79. +35 −0 test/docker-desktop/builder.yaml
  80. +3 −0 test/docker-desktop/cluster.yaml
  81. +35 −0 test/docker-desktop/e2e.sh
  82. +2 −1 test/{minikube-cluster-network → docker-desktop}/simple-server.yaml
  83. +3 −3 test/e2e.sh
  84. +0 −4 test/k3d-cluster-network/Dockerfile
  85. +11 −0 test/k3d/Dockerfile
  86. +9 −5 test/{k3d-cluster-network → k3d}/builder.yaml
  87. 0 test/{k3d-cluster-network → k3d}/cluster.yaml
  88. +24 −4 test/{k3d-cluster-network → k3d}/e2e.sh
  89. 0 test/{k3d-cluster-network → k3d}/registry.yaml
  90. +1 −1 test/{k3d-cluster-network → k3d}/simple-server.yaml
  91. +0 −4 test/kind-cluster-network/Dockerfile
  92. +11 −0 test/kind/Dockerfile
  93. +9 −5 test/{minikube-cluster-network → kind}/builder.yaml
  94. +1 −1 test/{kind-cluster-network → kind}/cluster.yaml
  95. +26 −5 test/{kind-cluster-network → kind}/e2e.sh
  96. 0 test/{kind-cluster-network → kind}/registry.yaml
  97. +1 −1 test/{kind-cluster-network → kind}/simple-server.yaml
  98. +0 −4 test/minikube-cluster-network/Dockerfile
  99. +11 −0 test/minikube/Dockerfile
  100. +9 −5 test/{kind-cluster-network → minikube}/builder.yaml
  101. +1 −1 test/{minikube-cluster-network → minikube}/cluster.yaml
  102. +26 −5 test/{minikube-cluster-network → minikube}/e2e.sh
  103. 0 test/{minikube-cluster-network → minikube}/registry.yaml
  104. +24 −0 test/minikube/simple-server.yaml
41 changes: 20 additions & 21 deletions .circleci/Dockerfile
Original file line number Diff line number Diff line change
@@ -9,34 +9,33 @@
# Similar to the release image (which contains everything BUT the build
# toolchain)

FROM golang:1.19-buster
FROM golang:1.24-bookworm

RUN apt update && apt install -y curl ca-certificates liblz4-tool rsync socat
RUN apt update && apt install -y curl ca-certificates liblz4-tool rsync socat gpg

# Install docker
# Adapted from https://github.com/circleci/circleci-images/blob/staging/shared/images/Dockerfile-basic.template
# Check https://download.docker.com/linux/static/stable/x86_64/ for latest versions
ENV DOCKER_VERSION=20.10.17
# Install docker CLI
RUN set -exu \
&& DOCKER_URL="https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz" \
&& echo Docker URL: $DOCKER_URL \
&& curl --silent --show-error --location --fail --retry 3 --output /tmp/docker.tgz "${DOCKER_URL}" \
&& ls -lha /tmp/docker.tgz \
&& tar -xz -C /tmp -f /tmp/docker.tgz \
&& mv /tmp/docker/* /usr/bin \
&& rm -rf /tmp/docker /tmp/docker.tgz \
&& which docker \
&& (docker version || true)
# Add Docker's official GPG key:
&& install -m 0755 -d /etc/apt/keyrings \
&& curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \
&& chmod a+r /etc/apt/keyrings/docker.asc \
# Add the repository to Apt sources:
&& echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null \
&& apt update \
&& apt install -y docker-ce-cli=5:25.0.3-1~debian.12~bookworm docker-buildx-plugin

# Install kubectl client
RUN apt install -y apt-transport-https gnupg \
&& curl -fsS https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - \
&& touch /etc/apt/sources.list.d/kubernetes.list \
&& echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee -a /etc/apt/sources.list.d/kubernetes.list \
&& apt update && apt install -y kubectl
ENV KUBECTL_VERSION=v1.31.0
RUN curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl" \
&& curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl.sha256" \
&& echo "$(cat kubectl.sha256) kubectl" | sha256sum --check \
&& install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

# install Kind
ENV KIND_VERSION=v0.17.0
ENV KIND_VERSION=v0.27.0
RUN set -exu \
&& curl -fLo ./kind-linux-amd64 "https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-linux-amd64" \
&& chmod +x ./kind-linux-amd64 \
91 changes: 49 additions & 42 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -5,113 +5,120 @@ orbs:
jobs:
build:
docker:
- image: cimg/go:1.19
- image: cimg/go:1.24
steps:
- checkout
- run: go get -v -t -d ./...
- run: go test -v ./...
- run: cd .. && go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.45.2
- run: cd .. && go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.64.8
- run: make golangci-lint
- slack/notify-on-failure:
only_for_branches: main

e2e-remote-docker:
docker:
- image: docker/tilt-ctlptl-ci@sha256:a06365a5d76f900883950aeec65d5a3cd49a96ee750a327ac34c3f4850298ee3
- image: "docker/tilt-ctlptl-ci@sha256:4bb1c8ca66157e1ea8dc63711666ca0a9f5a30d3f8dbe124315e76d447f93144"
steps:
- checkout
- setup_remote_docker
- run: make install
- run: test/kind-cluster-network/e2e.sh

- run: test/kind/e2e.sh
e2e:
machine:
image: ubuntu-2004:202111-02
image: ubuntu-2204:2023.04.2
steps:
- checkout
- kubernetes/install-kubectl
- run: |
set -ex
wget https://golang.org/dl/go1.19.linux-amd64.tar.gz
wget https://golang.org/dl/go1.24.0.linux-amd64.tar.gz
sudo rm -fR /usr/local/go
sudo tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz
# We need a newer Docker version to work around a k3d/containerd bug.
# https://github.com/rancher/k3d/issues/807
- run: |
set -ex
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
export DEBIAN_FRONTEND=noninteractive
sudo apt upgrade -y containerd.io
sudo tar -C /usr/local -xzf go1.24.0.linux-amd64.tar.gz
- run: |
set -ex
export MINIKUBE_VERSION=v1.27.0
export MINIKUBE_VERSION=v1.34.0
curl -fLo ./minikube-linux-amd64 "https://github.com/kubernetes/minikube/releases/download/${MINIKUBE_VERSION}/minikube-linux-amd64"
chmod +x ./minikube-linux-amd64
sudo mv ./minikube-linux-amd64 /usr/local/bin/minikube
- run: |
set -ex
export KIND_VERSION=v0.16.0
export KIND_VERSION=v0.27.0
curl -fLo ./kind-linux-amd64 "https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-linux-amd64"
chmod +x ./kind-linux-amd64
sudo mv ./kind-linux-amd64 /usr/local/bin/kind
- run: |
set -ex
export TAG=v5.2.2
export TAG=v5.6.0
curl -s https://raw.githubusercontent.com/rancher/k3d/main/install.sh | bash
- run: |
set -ex
go get -v -t -d ./...
test/e2e.sh
- slack/notify-on-failure:
only_for_branches: main

release-dry-run:
docker:
- image: golang:1.19-bullseye
environment:
DOCKER_CLI_EXPERIMENTAL: enabled
- image: golang:1.24-bookworm
steps:
- checkout
- setup_remote_docker
# https://discuss.circleci.com/t/arm-version-of-remote-docker/41624
- run: ssh remote-docker "sudo apt-get update; sudo apt-get install -y qemu-user-static binfmt-support"
- run: git fetch --tags
- run: go install github.com/goreleaser/goreleaser@latest
- run: go install github.com/goreleaser/goreleaser/v2@latest
- run: |
set -e
pushd /tmp
curl -O https://download.docker.com/linux/debian/dists/bullseye/pool/stable/amd64/docker-ce-cli_20.10.17~3-0~debian-bullseye_amd64.deb
dpkg -i *.deb
rm -f *.deb
apt-get update && apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install -y docker-ce-cli docker-buildx-plugin
docker --version
rm -rf /var/lib/apt/lists/*
popd
- run: goreleaser --debug --rm-dist --skip-publish --snapshot
- run: goreleaser --verbose --clean --skip=publish --snapshot
- slack/notify-on-failure:
only_for_branches: main

release:
docker:
- image: golang:1.19-bullseye
environment:
DOCKER_CLI_EXPERIMENTAL: enabled
- image: golang:1.24-bookworm
steps:
- checkout
- setup_remote_docker
# https://discuss.circleci.com/t/arm-version-of-remote-docker/41624
- run: ssh remote-docker "sudo apt-get update; sudo apt-get install -y qemu-user-static binfmt-support"
- run: git fetch --tags
- run: go install github.com/goreleaser/goreleaser@latest
- run: go install github.com/goreleaser/goreleaser/v2@latest
- run: |
set -e
pushd /tmp
curl -O https://download.docker.com/linux/debian/dists/bullseye/pool/stable/amd64/docker-ce-cli_20.10.17~3-0~debian-bullseye_amd64.deb
dpkg -i *.deb
rm -f *.deb
apt-get update && apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install -y docker-ce-cli docker-buildx-plugin
docker --version
rm -rf /var/lib/apt/lists/*
popd
- run: ./hack/release.sh
- slack/status:
mentions: "nick"

workflows:
version: 2
build:
@@ -130,8 +137,8 @@ workflows:
jobs:
- release:
context:
- Tilt Release CLI Context
- Tilt Docker Login Context
- Tilt Release CLI Context
- Tilt Docker Login Context
filters:
branches:
only: never-release-on-a-branch
33 changes: 17 additions & 16 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
version: 2
project_name: ctlptl
builds:
- main: ./cmd/ctlptl/main.go
@@ -15,21 +16,21 @@ builds:
- goos: windows
goarch: arm64
archives:
- name_template: "{{ .ProjectName }}.{{ .Version }}.{{ .Os }}.{{ .Arch }}"
replacements:
windows: windows
darwin: mac
linux: linux
386: i386
amd64: x86_64
- name_template: >-
{{ .ProjectName }}.{{ .Version }}.
{{- if eq .Os "darwin"}}mac
{{- else }}{{ .Os }}{{ end }}.
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
format_overrides:
- goos: windows
format: zip
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ .Tag }}-next"
version_template: "{{ .Tag }}-next"

changelog:
sort: asc
use: github
@@ -40,9 +41,9 @@ changelog:
- '^cleanup:'
- '^circleci:'
- '^ci:'

brews:
- tap:
- repository:
owner: tilt-dev
name: homebrew-tap
commit_author:
@@ -53,7 +54,7 @@ brews:
description: "Making local Kubernetes clusters easy to set up and tear down"
install: |
bin.install "ctlptl"
# Install bash completion
output = Utils.safe_popen_read("#{bin}/ctlptl", "completion", "bash")
(bash_completion/"ctlptl").write output
@@ -67,9 +68,9 @@ brews:
(fish_completion/"ctlptl.fish").write output
test: |
system "#{bin}/ctlptl version"
scoop:
url_template: "https://github.com/tilt-dev/ctlptl/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
bucket:
scoops:
- url_template: "https://github.com/tilt-dev/ctlptl/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
repository:
owner: tilt-dev
name: scoop-bucket
commit_author:
@@ -133,7 +134,7 @@ docker_manifests:
- docker/tilt-{{ .ProjectName }}:{{ .Tag }}-amd64
- docker/tilt-{{ .ProjectName }}:{{ .Tag }}-arm64


# Uncomment these lines if you want to experiment with other
# parts of the release process without releasing new binaries.
# release:
6 changes: 3 additions & 3 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -40,21 +40,21 @@ go install github.com/tilt-dev/ctlptl/cmd/ctlptl@latest
On macOS:

```bash
CTLPTL_VERSION="0.8.11"
CTLPTL_VERSION="0.8.40"
curl -fsSL https://github.com/tilt-dev/ctlptl/releases/download/v$CTLPTL_VERSION/ctlptl.$CTLPTL_VERSION.mac.x86_64.tar.gz | sudo tar -xzv -C /usr/local/bin ctlptl
```

On Linux:

```bash
CTLPTL_VERSION="0.8.11"
CTLPTL_VERSION="0.8.40"
curl -fsSL https://github.com/tilt-dev/ctlptl/releases/download/v$CTLPTL_VERSION/ctlptl.$CTLPTL_VERSION.linux.x86_64.tar.gz | sudo tar -xzv -C /usr/local/bin ctlptl
```

On Windows:

```powershell
$CTLPTL_VERSION = "0.8.11"
$CTLPTL_VERSION = "0.8.40"
Invoke-WebRequest "https://github.com/tilt-dev/ctlptl/releases/download/v$CTLPTL_VERSION/ctlptl.$CTLPTL_VERSION.windows.x86_64.zip" -OutFile "ctlptl.zip"
Expand-Archive "ctlptl.zip" -DestinationPath "ctlptl"
Move-Item -Force -Path "ctlptl\ctlptl.exe" -Destination "$home\bin\ctlptl.exe"
7 changes: 3 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -22,13 +22,12 @@ e2e:

.PHONY: golangci-lint
golangci-lint: $(GOLANGCILINT)
$(GOPATH)/bin/golangci-lint run --verbose
$(GOPATH)/bin/golangci-lint run --verbose --timeout=120s

$(GOLANGCILINT):
(cd /; GO111MODULE=on GOPROXY="direct" GOSUMDB=off go get github.com/golangci/golangci-lint/cmd/golangci-lint@v1.30.0)
(cd /; GO111MODULE=on GOPROXY="direct" GOSUMDB=off go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.64.8)

BUILDER=buildx-multiarch

publish-ci-image:
docker buildx inspect $(BUILDER) || docker buildx create --name=$(BUILDER) --driver=docker-container --driver-opt=network=host
docker buildx build --builder=$(BUILDER) --pull --platform=linux/amd64,linux/arm64 --push -t docker/tilt-ctlptl-ci -f .circleci/Dockerfile .
./hack/publish-ci-image.sh
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -21,7 +21,8 @@ declare your local cluster with YAML and use `ctlptl` to set it up.

Install your cluster of choice: [Docker for
Desktop](https://www.docker.com/products/docker-desktop),
[Kind](https://kind.sigs.k8s.io/), or
[Kind](https://kind.sigs.k8s.io/),
[k3d](https://k3d.io/) or
[Minikube](https://minikube.sigs.k8s.io/). Then run:

### Homebrew (Mac/Linux)
@@ -37,6 +38,12 @@ scoop bucket add tilt-dev https://github.com/tilt-dev/scoop-bucket
scoop install ctlptl
```

### Go install

```
go install github.com/tilt-dev/ctlptl/cmd/ctlptl@latest
```

### Alternative Options

If automatic installers aren't your cup of tea, check out the [installation
2 changes: 1 addition & 1 deletion docs/ctlptl.md
Original file line number Diff line number Diff line change
@@ -27,4 +27,4 @@ Mess around with local Kubernetes clusters without consequences
* [ctlptl socat](ctlptl_socat.md) - Use socat to connect components. Experimental.
* [ctlptl version](ctlptl_version.md) - Current ctlptl version

###### Auto generated by spf13/cobra on 28-Oct-2022
###### Auto generated by spf13/cobra on 22-Mar-2025
2 changes: 1 addition & 1 deletion docs/ctlptl_analytics.md
Original file line number Diff line number Diff line change
@@ -17,4 +17,4 @@ ctlptl analytics
* [ctlptl](ctlptl.md) - Mess around with local Kubernetes clusters without consequences
* [ctlptl analytics opt](ctlptl_analytics_opt.md) - opt-in or -out to tilt-dev analytics collection/upload

###### Auto generated by spf13/cobra on 28-Oct-2022
###### Auto generated by spf13/cobra on 22-Mar-2025
2 changes: 1 addition & 1 deletion docs/ctlptl_analytics_opt.md
Original file line number Diff line number Diff line change
@@ -16,4 +16,4 @@ ctlptl analytics opt [flags]

* [ctlptl analytics](ctlptl_analytics.md) - info and status about tilt-dev analytics

###### Auto generated by spf13/cobra on 28-Oct-2022
###### Auto generated by spf13/cobra on 22-Mar-2025
Loading