Support ImagePullSecret for pulling from private registry #91
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# these integration tests need to be per operator since they don't do clean up | |
# | |
# NOTE: can't use chart-testing because `ct` does not allow for a fixed release so you can't run two different tests that affect the same resources | |
name: Install Integration Tests - operators-installer | |
on: | |
pull_request: | |
paths: | |
- .github/** | |
- charts/operators-installer/** | |
# Declare default permissions as read only. | |
permissions: read-all | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test-install-and-multi-stage-upgrade: | |
runs-on: ubuntu-latest | |
env: | |
TEST_NAMESPACE: 'operators-installer-integration-test' | |
steps: | |
- name: Checkout 🛎️ | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
fetch-depth: 0 | |
# set up kind cluster (using re-usable local composite action) | |
- name: Setup Kind Cluster for Helm Chart Testing 🧰 | |
uses: ./.github/actions/setup-kind-cluster-for-helm-chart-testing | |
# NOTE: can't use chart-testing because `ct` does not allow for a fixed release so you can't run two different tests that affect the same resources | |
- name: Run integration tests 🧪 | |
timeout-minutes: 30 | |
run: | | |
echo "##########################################################################################################" | |
echo "# Install argo at old version #" | |
echo "##########################################################################################################" | |
helm upgrade --install install-and-multi-stage-upgrade charts/operators-installer \ | |
--namespace ${TEST_NAMESPACE} \ | |
--create-namespace \ | |
--wait \ | |
--values charts/operators-installer/_integration-tests/test-install-operator-0-automatic-intermediate-manual-upgrades-values.yaml \ | |
--debug --timeout 10m0s | |
echo "##########################################################################################################" | |
echo "# Upgrade argo to newer version requiring many intermediate updates along the way #" | |
echo "##########################################################################################################" | |
helm upgrade --install install-and-multi-stage-upgrade charts/operators-installer \ | |
--namespace ${TEST_NAMESPACE} \ | |
--wait \ | |
--values charts/operators-installer/_integration-tests/test-install-operator-1-automatic-intermediate-manual-upgrades-values.yaml \ | |
--debug --timeout 30m0s | |
test-approver-job-image-from-authenticated-registry: | |
runs-on: ubuntu-latest | |
env: | |
TEST_NAMESPACE: 'external-secrets-operator' | |
LOCAL_REGISTRY_USER: registryuser1 | |
LOCAL_REGISTRY_PASSWORD: registrypassword1 | |
LOCAL_REGISTRY_URI: registry.localhost | |
LOCAL_REGISTRY_IMAGES: "quay.io/openshift/origin-cli:4.15" # space separated | |
steps: | |
- name: Checkout 🛎️ | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
fetch-depth: 0 | |
# set up kind cluster (using re-usable local composite action) | |
- name: Setup Kind Cluster for Helm Chart Testing 🧰 | |
uses: ./.github/actions/setup-kind-cluster-for-helm-chart-testing | |
with: | |
local-registry-enabled: true | |
local-registry-user: ${{ env.LOCAL_REGISTRY_USER }} | |
local-registry-password: ${{ env.LOCAL_REGISTRY_PASSWORD }} | |
local-registry-uri: ${{ env.LOCAL_REGISTRY_URI }} | |
local-registry-images: "quay.io/openshift/origin-cli:4.15" # space separated | |
# create test namespace | |
- name: Setup kind cluster - create test namespace 🧰 | |
run: | | |
kubectl create namespace ${TEST_NAMESPACE} | |
# create pull secret for pulling images | |
- name: Setup kind cluster - create pull secret for private registry 🧰 | |
run: | | |
kubectl create secret docker-registry local-registry-pullsecret \ | |
--namespace ${TEST_NAMESPACE} \ | |
--docker-username="${LOCAL_REGISTRY_USER}" \ | |
--docker-password="${LOCAL_REGISTRY_PASSWORD}" \ | |
--docker-server=${LOCAL_REGISTRY_URI} | |
# NOTE: can't use chart-testing because `ct` does not allow for a fixed release so you can't run two different tests that affect the same resources | |
- name: Run integration tests 🧪 | |
timeout-minutes: 10 | |
run: | | |
echo "##########################################################################################################" | |
echo "# Install operator using approver job image from private authenticated registry #" | |
echo "##########################################################################################################" | |
helm upgrade --install approver-from-authed-registry charts/operators-installer \ | |
--namespace ${TEST_NAMESPACE} \ | |
--wait \ | |
--values charts/operators-installer/_integration-tests/test-install-operator-with-approver-image-from-private-registry.yaml \ | |
--debug --timeout 9m0s |