diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 5c610e98a..86320d527 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -39,6 +39,9 @@ jobs: external_ids:ovn-remote=unix:/var/run/ovn/ovnsb_db.sock \ external_ids:ovn-encap-type=geneve \ external_ids:ovn-encap-ip=127.0.0.1 + - name: Install binutils + run: | + sudo apt-get install -y binutils - name: Setup Go uses: actions/setup-go@v4 with: diff --git a/Makefile b/Makefile index febfb4903..164ff3c9d 100644 --- a/Makefile +++ b/Makefile @@ -92,6 +92,9 @@ pkg/goods/bins/embedded-cluster/kubectl-preflight: tar -xzf output/tmp/preflight/preflight.tar.gz -C output/tmp/preflight mv output/tmp/preflight/preflight pkg/goods/bins/embedded-cluster/kubectl-preflight +license.yaml: + cp e2e/test-license.yaml license.yaml + .PHONY: embed-license embed-license: embedded-cluster-linux-amd64 license.yaml mkdir -p output/tmp @@ -133,14 +136,14 @@ vet: static-linux-amd64 static go vet ./... .PHONY: e2e-tests -e2e-tests: embedded-cluster-linux-amd64 +e2e-tests: embed-license mkdir -p output/tmp rm -rf output/tmp/id_rsa* ssh-keygen -t rsa -N "" -C "Integration Test Key" -f output/tmp/id_rsa go test -timeout 45m -parallel 1 -failfast -v ./e2e .PHONY: e2e-test -e2e-test: embedded-cluster-linux-amd64 +e2e-test: embed-license mkdir -p output/tmp rm -rf output/tmp/id_rsa* ssh-keygen -t rsa -N "" -C "Integration Test Key" -f output/tmp/id_rsa diff --git a/e2e/test-license.yaml b/e2e/test-license.yaml new file mode 100644 index 000000000..20f93c6d3 --- /dev/null +++ b/e2e/test-license.yaml @@ -0,0 +1,27 @@ +apiVersion: kots.io/v1beta1 +kind: License +metadata: + name: embeddedclusterintegrationtests +spec: + appSlug: embedded-cluster-smoke-test-app + channelID: 2Xt5IoImUY2W8eo5DWZEdtA5Yr1 + channelName: Stable + customerName: Embedded Cluster Integration Tests + endpoint: https://replicated.app + entitlements: + expires_at: + description: License Expiration + signature: {} + title: Expiration + value: "" + valueType: String + isGitOpsSupported: true + isHelmVmDownloadEnabled: true + isKotsInstallEnabled: true + isNewKotsUiEnabled: true + isSemverRequired: true + isSnapshotSupported: true + licenseID: 2Xt5q15MDpLvaO15UZ5XhKxBqB1 + licenseSequence: 1 + licenseType: prod + signature: eyJsaWNlbnNlRGF0YSI6ImV5SmhjR2xXWlhKemFXOXVJam9pYTI5MGN5NXBieTkyTVdKbGRHRXhJaXdpYTJsdVpDSTZJa3hwWTJWdWMyVWlMQ0p0WlhSaFpHRjBZU0k2ZXlKdVlXMWxJam9pWlcxaVpXUmtaV1JqYkhWemRHVnlhVzUwWldkeVlYUnBiMjUwWlhOMGN5SjlMQ0p6Y0dWaklqcDdJbXhwWTJWdWMyVkpSQ0k2SWpKWWREVnhNVFZOUkhCTWRtRlBNVFZWV2pWWWFFdDRRbkZDTVNJc0lteHBZMlZ1YzJWVWVYQmxJam9pY0hKdlpDSXNJbU4xYzNSdmJXVnlUbUZ0WlNJNklrVnRZbVZrWkdWa0lFTnNkWE4wWlhJZ1NXNTBaV2R5WVhScGIyNGdWR1Z6ZEhNaUxDSmhjSEJUYkhWbklqb2laVzFpWldSa1pXUXRZMngxYzNSbGNpMXpiVzlyWlMxMFpYTjBMV0Z3Y0NJc0ltTm9ZVzV1Wld4SlJDSTZJakpZZERWSmIwbHRWVmt5VnpobGJ6VkVWMXBGWkhSQk5WbHlNU0lzSW1Ob1lXNXVaV3hPWVcxbElqb2lVM1JoWW14bElpd2liR2xqWlc1elpWTmxjWFZsYm1ObElqb3hMQ0psYm1Sd2IybHVkQ0k2SW1oMGRIQnpPaTh2Y21Wd2JHbGpZWFJsWkM1aGNIQWlMQ0psYm5ScGRHeGxiV1Z1ZEhNaU9uc2laWGh3YVhKbGMxOWhkQ0k2ZXlKMGFYUnNaU0k2SWtWNGNHbHlZWFJwYjI0aUxDSmtaWE5qY21sd2RHbHZiaUk2SWt4cFkyVnVjMlVnUlhod2FYSmhkR2x2YmlJc0luWmhiSFZsSWpvaUlpd2lkbUZzZFdWVWVYQmxJam9pVTNSeWFXNW5JaXdpYzJsbmJtRjBkWEpsSWpwN2ZYMTlMQ0pwYzBkcGRFOXdjMU4xY0hCdmNuUmxaQ0k2ZEhKMVpTd2lhWE5UYm1Gd2MyaHZkRk4xY0hCdmNuUmxaQ0k2ZEhKMVpTd2lhWE5PWlhkTGIzUnpWV2xGYm1GaWJHVmtJanAwY25WbExDSnBjMGhsYkcxV2JVUnZkMjVzYjJGa1JXNWhZbXhsWkNJNmRISjFaU3dpYVhOTGIzUnpTVzV6ZEdGc2JFVnVZV0pzWldRaU9uUnlkV1VzSW1selUyVnRkbVZ5VW1WeGRXbHlaV1FpT25SeWRXVjlmUT09IiwiaW5uZXJTaWduYXR1cmUiOiJleUpzYVdObGJuTmxVMmxuYm1GMGRYSmxJam9pVTNGNWJHbHBUM1YyZUhGSWNIRjJOMVl5YkV4eGNFUkhOMnB0VWtwbVZVbDJaR016Wld0RFNuTjZSeXRLTWxSdVdXSjFZMUoyV0UxTmRHMXBTR1J1WlU1NGRFSldaMHB5U0dKMEsxVTFPRXc1TTJZME1XRjBRbnBKWW1KVGIwWkpPR0ZzVUhadFYwYzRVa1JyU1VOVFlWTmxNSGRpWWpKaFR6Um9kMlp1UkZKaFVHRTJaRFJEVEZRclJISXhSazl2Y21SaGIwbGhSVlZLUjBkME9Xd3ZXVlZFWWpKcFlXSkdiVzVYTWxnclNrWXJNVm93U0dJM1EwSndhSEUzVDNSTGIwTlBNRzFWYVc0eWVtdE1ZbFk1ZUV0cmFUSmlUemxIZVhRNU4xRjRiMDVKWlhwRGVqWm1ZWGt3YkZsWkwwRkZVMjV3YWl0aUsxbEtNelJCWTFWSVkxTlZRbFIwVmpKMFVtTjJhQ3RxTDBWTUsxUlRPVkF4WjNkaVZFMHdlbnA1UmxSWlNtNVhZbFZpZFRkbWJtNTBUV2N5VlVsRlZFUmliMFV5U0VaM1ozUk9MMmN5VVNzNFVrYzVhVmwyV0c0eVVUUlhNMUZCUFQwaUxDSndkV0pzYVdOTFpYa2lPaUl0TFMwdExVSkZSMGxPSUZCVlFreEpReUJMUlZrdExTMHRMVnh1VFVsSlFrbHFRVTVDWjJ0eGFHdHBSemwzTUVKQlVVVkdRVUZQUTBGUk9FRk5TVWxDUTJkTFEwRlJSVUY2UVdGNGRWZDNjREF2UVdkd05VOTZjVzUzVTF4dVVUWXlSVE5sZFhVclVWVmpXRk1yYTFOTVZDOHhLMjU1TUdGMU9FRXhVVVZWUkV3eFMzWmlkV0l5TVZGaFZqaFNhbWhyTUVGS1QyaERPRkF5TjNJdlJGeHVXSGh4V25oWWRVbDNhRUZyTVUxMWNIVmhWSEpzYldKMFduVkpjV1ZCYUZsbmFqbGhOM0JHTTFFd1VreEVWbWhJYVdkWmFXeHZjRlpNY2pGeVVIUXJjRnh1WVhsdFdYYzRaVFp5YjFGaFUyVTBTbHB1VWxWdlNEVkVNVWh2ZEhobFUwNUZiQzlaYWxoNFdXZDFNVWhrV1ZsaGNHSldObFp4VjBaSlZXSnpOMk5PYlZ4dU1VOXBPSHB2ZHpCdFVqQnlMM0JGUkdsd1VHVndabVJLU3paa2VGbzNUazUzY1VoWVQxVmFiRkZuWjFoRFVYSklTVWRzZDBwd1ZIQlNjbU5pWm0wNFdGeHVRVGxyY1hGeFZEbHNSWEVyUkVaUVJrdFBaMVJEV25OM2RFNVlZbFJ5UkhkcU5uTnRNV2RpVlhsS2IyNXJVVk5GVm5CcmFUQlhNblpQVDBOWlpESXllRnh1VEZGSlJFRlJRVUpjYmkwdExTMHRSVTVFSUZCVlFreEpReUJMUlZrdExTMHRMVnh1SWl3aWEyVjVVMmxuYm1GMGRYSmxJam9pWlhsS2VtRlhaSFZaV0ZJeFkyMVZhVTlwU2sxVWJFWk9ZMVpzVTAxdFVrNWpNbFkxVDFkME1XRlVVa1JPVmxaUFlqSnNZVTVVUWs1aU1YQjJXakpLUjJWdGNHRk5SRUp3VERCT1YyUllSa1JOYVhSS1dsaGtiVkZXYTNoTU1qaDVWa1pvY1ZWSVVrZFRSbFp4VGpOc1VsWXpRakJaZWxKMVZXMDFWR1ZyVmtaWlZscFdZVlV4VEU5SWNHaGxSM2d4Vmxac2FXVkdUVFJqVlZaTFVUSndjVnBIVm5SYVJXaHpVVlZrYkZOWGQzWmliV3h6WkdwS2VGUlVaSEZhYWxKVVYxaHNiMVl4YkROTlNGcFJaVlYzY21GcldubFBSa3BKVTBNNWEySkhjRkJQVTNSclRtdGFiRlJJVGxsVmJXeElUVVprYUZWc1JtMVBXRW8xVkc1U05sbHVaREJPTTNCRFZubDBkRTFIVGtWVFIwNHdZMGh3TTJKdFNteFZla3BKV1ROa2JXUkZhSFpWVm1zelYxUlpNRlpFVmxCTlJuQlFUMVpTYm1OcGRHdGFTRXBQVGxaa1JVOVhOVnBoVjFaSlltNUdSR05zVmxOV2JrSm9aREJvVjAxcGRFUlJhMFp0VDBSQmVWb3dXbFJPU0ZKR1V6SlNTbUpHVWtkU1ZrWnZWbFpTUkdOclJscFZNbEp4WkRKS1IxSXdZekJQUnpGb1RXNUdNbVJyZEhoVFIwNXdWakZ3Y2xORk1IaE9NVlpLVEROYWRrNHlTbkZYVkZwUlV6SldjRll5ZUZKU1ZuQnVXakpaTVZkSVVraFpWMHBaVWtSTmNsUkhZemxRVTBselNXMWtjMkl5U21oaVJYUnNaVlZzYTBscWIybFpiVkpzV2xSVk1rNVVXWGRaTWxwcFRrUk9hazlYU1hsUFIwcHRUMVJvYkZsWFRtaGFiVVV5VGtSWmFXWlJQVDBpZlE9PSJ9