From 0bbc4957718d8faa6816fe6f10156d55ca80275b Mon Sep 17 00:00:00 2001 From: Barnabas Busa Date: Tue, 18 Jun 2024 15:37:26 +0200 Subject: [PATCH 1/6] docs: update plan.run_sh documentation (#2486) ## Description Add "name" to run_sh. --- docs/docs/api-reference/starlark-reference/plan.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/docs/api-reference/starlark-reference/plan.md b/docs/docs/api-reference/starlark-reference/plan.md index 72f079d07b..47cf3e2408 100644 --- a/docs/docs/api-reference/starlark-reference/plan.md +++ b/docs/docs/api-reference/starlark-reference/plan.md @@ -613,6 +613,10 @@ The `run_sh` instruction executes a one-time execution task. It runs the bash co # MANDATORY run = "mkdir -p kurtosis && echo $(ls)", + # The name of the container, as a string + # OPTIONAL (Default: task--UUID) + name = "curl-job" + # Image the command will be run on # OPTIONAL (Default: badouralix/curl-jq) image = "badouralix/curl-jq", From f662d454b0845eff4e1f976389db6f5ecdb50c0a Mon Sep 17 00:00:00 2001 From: Laurent Luce Date: Tue, 18 Jun 2024 16:13:32 -0400 Subject: [PATCH 2/6] chore: Self hosting docs (#2491) ## Description Doc describing how to self host Kurtosis in your cloud. ## Is this change user facing? YES #2485 --- docs/docs/get-started/quickstart.md | 1 + docs/docs/guides/self-cloud-hosting.md | 25 +++++++++++++++++++ .../img/guides/self-hosting-overview.png | 0 3 files changed, 26 insertions(+) create mode 100644 docs/docs/guides/self-cloud-hosting.md create mode 100644 docs/static/img/guides/self-hosting-overview.png diff --git a/docs/docs/get-started/quickstart.md b/docs/docs/get-started/quickstart.md index 19c4edcba9..2883575698 100644 --- a/docs/docs/get-started/quickstart.md +++ b/docs/docs/get-started/quickstart.md @@ -206,6 +206,7 @@ Now that you've use the Kurtosis CLI to run a package, inspect the resulting env [write-your-first-package]: ../get-started/write-your-first-package.md [running-in-k8s]: ../guides/running-in-k8s.md [running-docker-compose]: ../guides/running-docker-compose.md +[self-cloud-hosting]: ../guides/self-cloud-hosting.md [architecture-explanation]: ../advanced-concepts/architecture.md diff --git a/docs/docs/guides/self-cloud-hosting.md b/docs/docs/guides/self-cloud-hosting.md new file mode 100644 index 0000000000..19f8356c1d --- /dev/null +++ b/docs/docs/guides/self-cloud-hosting.md @@ -0,0 +1,25 @@ +--- +title: Running Kurtosis in your own Cloud +sidebar_label: Running in your own Cloud +slug: /self-hosting +sidebar_position: 14 +--- + +This guide will help you set up Kurtosis in your own cloud and exposing it using one of your subdomains e.g. `kurtosis..com` + +I. Prerequisites +----------------- + +1. Public facing gateway (e.g. AWS ALB) supporting the Kurtosis subdomain with certificate. The certificate should support the subdomain name and a wildcard subdomain prefix `*.` since the service port URLs format is `port-service-enclave.`. The gateway should terminate TLS. +2. Host running Ubuntu to install and configure Kurtosis on. The host should be on a private subnet receiving traffic from the Gateway on port 80. Healthchecks should use the `/status` URL. + +![overview](/img/guides/self-hosting-overview.png) + +II. Kurtosis Installation +----------------- + +We provide an install script setting up Docker, Nginx and Kurtosis. The script takes as arguments your subdomain name, a username and password for HTTP basic authentication. + +```bash +curl -s https://raw.githubusercontent.com/kurtosis-tech/kurtosis-cloud-config/main/self-hosting-setup.sh | bash -s +``` diff --git a/docs/static/img/guides/self-hosting-overview.png b/docs/static/img/guides/self-hosting-overview.png new file mode 100644 index 0000000000..e69de29bb2 From 36065a853db8a1bc76a852873aaa14949220ae59 Mon Sep 17 00:00:00 2001 From: Laurent Luce Date: Mon, 24 Jun 2024 09:38:03 -0400 Subject: [PATCH 3/6] fix: Fix self hosting overview image (#2500) ## Description Fix self hosting overview image --- docs/docs/guides/self-cloud-hosting.md | 2 +- .../static/img/guides/self-hosting-overview.png | Bin 0 -> 51632 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/guides/self-cloud-hosting.md b/docs/docs/guides/self-cloud-hosting.md index 19f8356c1d..339e3e7d15 100644 --- a/docs/docs/guides/self-cloud-hosting.md +++ b/docs/docs/guides/self-cloud-hosting.md @@ -13,7 +13,7 @@ I. Prerequisites 1. Public facing gateway (e.g. AWS ALB) supporting the Kurtosis subdomain with certificate. The certificate should support the subdomain name and a wildcard subdomain prefix `*.` since the service port URLs format is `port-service-enclave.`. The gateway should terminate TLS. 2. Host running Ubuntu to install and configure Kurtosis on. The host should be on a private subnet receiving traffic from the Gateway on port 80. Healthchecks should use the `/status` URL. -![overview](/img/guides/self-hosting-overview.png) +![self-hosting-overview](/img/guides/self-hosting-overview.png) II. Kurtosis Installation ----------------- diff --git a/docs/static/img/guides/self-hosting-overview.png b/docs/static/img/guides/self-hosting-overview.png index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..54453a6ae166c61e56e5cf6d41b5d60741b0ab09 100644 GIT binary patch literal 51632 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 Date: Mon, 1 Jul 2024 05:27:18 -0800 Subject: [PATCH 4/6] feat!: release version 1 (#2487) if we ever merge this then the next version will be major --- .github/workflows/release-please.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 8f61386ea9..887b46711e 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -17,8 +17,8 @@ jobs: token: "${{ secrets.RELEASER_TOKEN }}" release-type: simple package-name: kurtosis - bump-minor-pre-major: true - bump-patch-for-minor-pre-major: true + bump-minor-pre-major: false + bump-patch-for-minor-pre-major: false # Our CI, Docker Images, Kurtosis-SDK bumps all depend on # non v tags include-v-in-tag: false From 703480f4926ac309b2122d304a651064ea5ae5fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 14:52:02 +0100 Subject: [PATCH 5/6] build(deps): Bump ws from 7.5.9 to 7.5.10 in /enclave-manager/web (#2506) Bumps [ws](https://github.com/websockets/ws) from 7.5.9 to 7.5.10.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ws&package-manager=npm_and_yarn&previous-version=7.5.9&new-version=7.5.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/kurtosis-tech/kurtosis/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- enclave-manager/web/yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/enclave-manager/web/yarn.lock b/enclave-manager/web/yarn.lock index 50eaa5ad46..faa3722883 100644 --- a/enclave-manager/web/yarn.lock +++ b/enclave-manager/web/yarn.lock @@ -15937,14 +15937,14 @@ write-pkg@^4.0.0: write-json-file "^3.2.0" ws@^7.4.6: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@^8.13.0: - version "8.15.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.15.0.tgz#db080a279260c5f532fc668d461b8346efdfcf86" - integrity sha512-H/Z3H55mrcrgjFwI+5jKavgXvwQLtfPCUEp6pi35VhoB0pfcHnSoyuTzkBEZpzq49g1193CUEwIvmsjcotenYw== + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== xml-name-validator@^3.0.0: version "3.0.0" From 713e7dd9f8cbfc8a3f6647e3be930582760a0d98 Mon Sep 17 00:00:00 2001 From: Tedi Mitiku Date: Mon, 1 Jul 2024 10:35:02 -0400 Subject: [PATCH 6/6] feat: add maintainers (#2502) ## Description Add initial list of maintainers for open source Kurtosis. --- MAINTAINERS.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 MAINTAINERS.md diff --git a/MAINTAINERS.md b/MAINTAINERS.md new file mode 100644 index 0000000000..af8ec791ad --- /dev/null +++ b/MAINTAINERS.md @@ -0,0 +1,15 @@ +# Maintainers + +This document lists the individuals who are responsible for maintaining and contributing to the development of this project. + +## Core Maintainers + +- [Gyanendra Mishra](https://github.com/h4ck3rk3y) - Software Engineer @KurtosisTech +- [Tedi Mitiku](https://github.com/tedim52) - Software Engineer @KurtosisTech +- [Dan Park](https://github.com/chunha-park) - BD/Product Marketing @KurtosisTech +- [Barnabas Busa](https://github.com/barnabasbusa) - Dev Ops @Ethereum Foundation +- [Parithosh Jayanthi](https://github.com/parithosh) - Dev Ops @Ethereum Foundation +- [John Hilliard](https://github.com/praetoriansentry) - Dev Tools @Polygon Labs +- [Léo Vincent](https://github.com/leovct) - Dev Tools @Polygon Labs + +For any inquiries or questions regarding the project, please contact one of the core maintainers listed above.
Release notes

Sourced from ws's releases.

7.5.10

Bug fixes

  • Backported e55e5106 to the 7.x release line (22c28763).