From 8990d1ccc8b2d81cea5c059496635e533aae8e68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20K=C3=A4sser?= Date: Mon, 28 Apr 2025 13:17:30 +0200 Subject: [PATCH] Switch to new upbound devex --- .github/workflows/ci.yaml | 48 +++ .github/workflows/composition-tests.yaml | 26 ++ .github/workflows/e2e.yaml | 51 +++ .github/workflows/packer-build-staging.yml | 13 + .github/workflows/packer-build.yml | 13 + .github/workflows/tag.yml | 26 ++ .github/workflows/yamllint.yaml | 15 + .gitignore | 4 + Makefile | 54 --- README.md | 174 +++++++-- apis/.gitkeep | 0 apis/network/composition.yaml | 359 ------------------ apis/network/definition.yaml | 102 ----- apis/upbox/composition.yaml | 91 ----- apis/upbox/definition.yaml | 69 ---- apis/upboxes/composition.yaml | 16 + apis/upboxes/definition.yaml | 72 ++++ apis/upboxsets/composition.yaml | 16 + apis/upboxsets/definition.yaml | 68 ++++ .../composition.yaml | 1 - configuration-network-package/crossplane.yaml | 1 - configuration-network-package/definition.yaml | 1 - .../upbound-upbox-network.xpkg | Bin 9728 -> 0 bytes .../upbound-upvox-network.xpkg | Bin 9728 -> 0 bytes configuration-upbox-package/composition.yaml | 1 - configuration-upbox-package/crossplane.yaml | 1 - configuration-upbox-package/definition.yaml | 1 - .../upbound-upbox.xpkg | Bin 8704 -> 0 bytes crossplane.yaml | 19 - examples/.gitkeep | 0 .../companies/mmc/upbox-mmc-adam-foreman.yaml | 19 - .../mmc/upbox-mmc-aditi-bhargava.yaml | 19 - .../companies/mmc/upbox-mmc-aman-pathak.yaml | 19 - .../mmc/upbox-mmc-arvind-subramanian.yaml | 19 - .../upbox-mmc-aswinkumar-thulasiraman.yaml | 19 - .../companies/mmc/upbox-mmc-babanjot.yaml | 19 - .../companies/mmc/upbox-mmc-brad-myers.yaml | 19 - .../companies/mmc/upbox-mmc-brian-lowe.yaml | 19 - .../companies/mmc/upbox-mmc-brian-moritz.yaml | 19 - .../mmc/upbox-mmc-bryan-lorette.yaml | 19 - .../mmc/upbox-mmc-charlie-drewitt.yaml | 19 - .../companies/mmc/upbox-mmc-dan-howlett.yaml | 19 - .../companies/mmc/upbox-mmc-david-sunter.yaml | 19 - .../companies/mmc/upbox-mmc-dean-naqvi.yaml | 19 - .../mmc/upbox-mmc-eric-bahringer.yaml | 19 - .../companies/mmc/upbox-mmc-garima-batta.yaml | 19 - .../mmc/upbox-mmc-gaurav-kushwaha.yaml | 19 - .../mmc/upbox-mmc-himanshu-dureja.yaml | 19 - .../companies/mmc/upbox-mmc-jason-bent.yaml | 19 - .../companies/mmc/upbox-mmc-john-taylor.yaml | 19 - .../mmc/upbox-mmc-john-xanthopoulos.yaml | 19 - .../companies/mmc/upbox-mmc-jon-cheung.yaml | 19 - .../mmc/upbox-mmc-joseph-sharkey.yaml | 19 - .../mmc/upbox-mmc-kaushik-borkar.yaml | 19 - .../companies/mmc/upbox-mmc-kazim-mehdi.yaml | 19 - .../companies/mmc/upbox-mmc-keshav-jha.yaml | 19 - .../companies/mmc/upbox-mmc-lee-gordon.yaml | 19 - .../mmc/upbox-mmc-len-kuykendall.yaml | 19 - .../mmc/upbox-mmc-lorenzo-bellucci.yaml | 19 - .../mmc/upbox-mmc-mahesh-marsh-babu.yaml | 19 - .../companies/mmc/upbox-mmc-matthew-hook.yaml | 19 - .../mmc/upbox-mmc-michal-wesolowski.yaml | 19 - .../mmc/upbox-mmc-murtaza-usman.yaml | 19 - .../mmc/upbox-mmc-naveen-reddy-mali.yaml | 19 - .../mmc/upbox-mmc-oladapo-babalola.yaml | 19 - .../companies/mmc/upbox-mmc-omkar-pathak.yaml | 19 - .../mmc/upbox-mmc-pankaj-sharma.yaml | 19 - .../mmc/upbox-mmc-parmender-singh.yaml | 19 - .../upbox-mmc-pragadeeswar-padmanaban.yaml | 19 - .../mmc/upbox-mmc-sandip-sankpal.yaml | 19 - .../mmc/upbox-mmc-sanjeevarao-dasari.yaml | 19 - .../companies/mmc/upbox-mmc-shariq-ahmad.yaml | 19 - .../mmc/upbox-mmc-sushant-sonker.yaml | 19 - .../mmc/upbox-mmc-utkarsh-dubey.yaml | 19 - .../mmc/upbox-mmc-vinaykumar-tawale.yaml | 19 - examples/companies/upbound/upbox-mark.yaml | 18 - .../upbound/upbox-markus-schweig-2.yaml | 18 - .../upbound/upbox-markus-schweig-3.yaml | 18 - .../upbound/upbox-markus-schweig-4.yaml | 19 - .../upbound/upbox-markus-schweig.yaml | 18 - examples/configuration-aws-network.yaml | 6 + examples/configuration.yaml | 13 - examples/function.yaml | 13 - examples/network.yaml | 19 - examples/provider.yaml | 7 - ...g-aws.yaml => providerconfig-upbound.yaml} | 4 +- examples/upbox/example.yaml | 13 + examples/upboxset/example.yaml | 16 + examples/xnetwork.yaml | 22 ++ functions/.gitkeep | 0 functions/upbox/kcl.mod | 6 + functions/upbox/kcl.mod.lock | 5 + functions/upbox/main.k | 173 +++++++++ functions/upbox/model | 1 + functions/upboxset/kcl.mod | 6 + functions/upboxset/kcl.mod.lock | 5 + functions/upboxset/main.k | 34 ++ functions/upboxset/model | 1 + scripts/ec2-upbound-install.sh | 25 -- tests/e2etest-upbox/kcl.mod | 6 + tests/e2etest-upbox/kcl.mod.lock | 5 + tests/e2etest-upbox/main.k | 98 +++++ tests/e2etest-upbox/model | 1 + tests/e2etest-upboxset/kcl.mod | 6 + tests/e2etest-upboxset/kcl.mod.lock | 5 + tests/e2etest-upboxset/main.k | 105 +++++ tests/e2etest-upboxset/model | 1 + tests/test-upbox/kcl.mod | 6 + tests/test-upbox/kcl.mod.lock | 5 + tests/test-upbox/main.k | 197 ++++++++++ tests/test-upbox/model | 1 + tests/test-upboxset/kcl.mod | 6 + tests/test-upboxset/kcl.mod.lock | 5 + tests/test-upboxset/main.k | 93 +++++ tests/test-upboxset/model | 1 + upbound.yaml | 41 ++ 116 files changed, 1389 insertions(+), 1750 deletions(-) create mode 100644 .github/workflows/ci.yaml create mode 100644 .github/workflows/composition-tests.yaml create mode 100644 .github/workflows/e2e.yaml create mode 100644 .github/workflows/tag.yml create mode 100644 .github/workflows/yamllint.yaml delete mode 100644 Makefile create mode 100644 apis/.gitkeep delete mode 100644 apis/network/composition.yaml delete mode 100644 apis/network/definition.yaml delete mode 100644 apis/upbox/composition.yaml delete mode 100644 apis/upbox/definition.yaml create mode 100644 apis/upboxes/composition.yaml create mode 100644 apis/upboxes/definition.yaml create mode 100644 apis/upboxsets/composition.yaml create mode 100644 apis/upboxsets/definition.yaml delete mode 120000 configuration-network-package/composition.yaml delete mode 120000 configuration-network-package/crossplane.yaml delete mode 120000 configuration-network-package/definition.yaml delete mode 100644 configuration-network-package/upbound-upbox-network.xpkg delete mode 100644 configuration-network-package/upbound-upvox-network.xpkg delete mode 120000 configuration-upbox-package/composition.yaml delete mode 120000 configuration-upbox-package/crossplane.yaml delete mode 120000 configuration-upbox-package/definition.yaml delete mode 100644 configuration-upbox-package/upbound-upbox.xpkg delete mode 100644 crossplane.yaml create mode 100644 examples/.gitkeep delete mode 100644 examples/companies/mmc/upbox-mmc-adam-foreman.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-aditi-bhargava.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-aman-pathak.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-arvind-subramanian.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-aswinkumar-thulasiraman.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-babanjot.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-brad-myers.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-brian-lowe.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-brian-moritz.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-bryan-lorette.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-charlie-drewitt.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-dan-howlett.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-david-sunter.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-dean-naqvi.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-eric-bahringer.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-garima-batta.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-gaurav-kushwaha.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-himanshu-dureja.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-jason-bent.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-john-taylor.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-john-xanthopoulos.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-jon-cheung.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-joseph-sharkey.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-kaushik-borkar.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-kazim-mehdi.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-keshav-jha.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-lee-gordon.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-len-kuykendall.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-lorenzo-bellucci.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-mahesh-marsh-babu.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-matthew-hook.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-michal-wesolowski.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-murtaza-usman.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-naveen-reddy-mali.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-oladapo-babalola.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-omkar-pathak.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-pankaj-sharma.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-parmender-singh.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-pragadeeswar-padmanaban.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-sandip-sankpal.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-sanjeevarao-dasari.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-shariq-ahmad.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-sushant-sonker.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-utkarsh-dubey.yaml delete mode 100644 examples/companies/mmc/upbox-mmc-vinaykumar-tawale.yaml delete mode 100644 examples/companies/upbound/upbox-mark.yaml delete mode 100644 examples/companies/upbound/upbox-markus-schweig-2.yaml delete mode 100644 examples/companies/upbound/upbox-markus-schweig-3.yaml delete mode 100644 examples/companies/upbound/upbox-markus-schweig-4.yaml delete mode 100644 examples/companies/upbound/upbox-markus-schweig.yaml create mode 100644 examples/configuration-aws-network.yaml delete mode 100644 examples/configuration.yaml delete mode 100644 examples/function.yaml delete mode 100644 examples/network.yaml delete mode 100644 examples/provider.yaml rename examples/{providerconfig-aws.yaml => providerconfig-upbound.yaml} (58%) create mode 100644 examples/upbox/example.yaml create mode 100644 examples/upboxset/example.yaml create mode 100644 examples/xnetwork.yaml create mode 100644 functions/.gitkeep create mode 100644 functions/upbox/kcl.mod create mode 100644 functions/upbox/kcl.mod.lock create mode 100644 functions/upbox/main.k create mode 120000 functions/upbox/model create mode 100644 functions/upboxset/kcl.mod create mode 100644 functions/upboxset/kcl.mod.lock create mode 100644 functions/upboxset/main.k create mode 120000 functions/upboxset/model delete mode 100644 scripts/ec2-upbound-install.sh create mode 100644 tests/e2etest-upbox/kcl.mod create mode 100644 tests/e2etest-upbox/kcl.mod.lock create mode 100644 tests/e2etest-upbox/main.k create mode 120000 tests/e2etest-upbox/model create mode 100644 tests/e2etest-upboxset/kcl.mod create mode 100644 tests/e2etest-upboxset/kcl.mod.lock create mode 100644 tests/e2etest-upboxset/main.k create mode 120000 tests/e2etest-upboxset/model create mode 100644 tests/test-upbox/kcl.mod create mode 100644 tests/test-upbox/kcl.mod.lock create mode 100644 tests/test-upbox/main.k create mode 120000 tests/test-upbox/model create mode 100644 tests/test-upboxset/kcl.mod create mode 100644 tests/test-upboxset/kcl.mod.lock create mode 100644 tests/test-upboxset/main.k create mode 120000 tests/test-upboxset/model create mode 100644 upbound.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..0a15e4c --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,48 @@ +name: CI + +on: + push: + branches: + - main + workflow_dispatch: + inputs: + version: + description: Package version (e.g. v0.1.0) + required: false + +env: + UP_API_TOKEN: ${{ secrets.UP_API_TOKEN }} + UP_ROBOT_ID: ${{ secrets.UP_ROBOT_ID }} + UP_ORG: ${{ secrets.UP_ORG }} + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout + id: checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + + - name: Install and login with up + if: env.UP_API_TOKEN != '' && env.UP_ORG != '' + uses: upbound/action-up@53fe6395637d884c80d2bbc8c2d75d0ece776ced # v1 + with: + api-token: ${{ secrets.UP_API_TOKEN }} + organization: ${{ secrets.UP_ORG }} + + # doesn't work with plain token when pushing otherwise + - name: Login to xpkg with robot + uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3 + with: + registry: xpkg.upbound.io + username: ${{ env.UP_ROBOT_ID }} + password: ${{ env.UP_API_TOKEN }} + + - name: Build and Push Upbound project + if: env.UP_API_TOKEN != '' + uses: upbound/action-up-project@87016022642d4076f1360639bdf0f04527c28983 # v1 + with: + push-project: true + tag: ${{ inputs.version || '' }} + # login-check does `up org list` which doesn't work with a robot-token + skip-login-check: true diff --git a/.github/workflows/composition-tests.yaml b/.github/workflows/composition-tests.yaml new file mode 100644 index 0000000..5bd6cbe --- /dev/null +++ b/.github/workflows/composition-tests.yaml @@ -0,0 +1,26 @@ +name: Composition Tests + +on: + push: + branches: + - main + pull_request: {} + +jobs: + composition-tests: + runs-on: ubuntu-latest + steps: + - name: Checkout + id: checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + + - name: Install up + uses: upbound/action-up@53fe6395637d884c80d2bbc8c2d75d0ece776ced # v1 + with: + skip-login: true + + - name: Build project + run: up project build + + - name: Run composition tests + run: up test run tests/* diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml new file mode 100644 index 0000000..6802fb3 --- /dev/null +++ b/.github/workflows/e2e.yaml @@ -0,0 +1,51 @@ +name: End to End Testing + +on: + # https://securitylab.github.com/resources/github-actions-preventing-pwn-requests/ + # pull_request_target is potentially dangerous target so we keep it strict + # under the label and benefit from secret propagation + pull_request_target: + types: + - synchronize + - labeled + +env: + UP_API_TOKEN: ${{ secrets.UP_E2E_API_TOKEN || secrets.UP_API_TOKEN }} + UP_ORG: ${{ secrets.UP_E2E_ORG || secrets.UP_ORG }} + UP_GROUP: ${{ secrets.UP_E2E_GROUP || secrets.UP_GROUP || 'default' }} + UP_ROBOT_ID: ${{ secrets.UP_E2E_ROBOT_ID || secrets.UP_ROBOT_ID }} + +jobs: + e2e: + if: contains(github.event.pull_request.labels.*.name, 'run-e2e-tests') + runs-on: ubuntu-latest + steps: + - name: Checkout + id: checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - name: Install and login with up + if: env.UP_API_TOKEN != '' && env.UP_ORG != '' + uses: upbound/action-up@53fe6395637d884c80d2bbc8c2d75d0ece776ced # v1 + with: + api-token: ${{ env.UP_API_TOKEN }} + organization: ${{ env.UP_ORG }} + + # doesn't work with plain token when pushing otherwise + - name: Login to xpkg with robot + uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3 + with: + registry: xpkg.upbound.io + username: ${{ env.UP_ROBOT_ID }} + password: ${{ env.UP_API_TOKEN }} + + - name: Build project + run: up project build + + - name: Switch up context + run: up ctx ${{ env.UP_ORG }}/upbound-gcp-us-central-1/${{ env.UP_GROUP }} + + - name: Run e2e tests + run: up test run tests/* --e2e diff --git a/.github/workflows/packer-build-staging.yml b/.github/workflows/packer-build-staging.yml index fb2a4fb..e49edb7 100644 --- a/.github/workflows/packer-build-staging.yml +++ b/.github/workflows/packer-build-staging.yml @@ -14,6 +14,8 @@ permissions: jobs: build: runs-on: ubuntu-latest + outputs: + ami-id: ${{ steps.ami.outputs.ami-id }} steps: - name: Checkout code @@ -43,3 +45,14 @@ jobs: run: | cd packer packer build upbox.pkr.hcl + + - name: Extract and Output AMI IDs + run: | + cd packer + echo "### 🎉 AMI Built Successfully" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + # Extract all AMI IDs and their regions + LAST_RUN_ID=$(cat manifest.json | jq -r .last_run_uuid) + cat manifest.json | jq -r ".builds[] | select(.packer_run_uuid == \"$LAST_RUN_ID\") | .artifact_id | split(\",\") | .[] | split(\":\") | \"\(.[0]): \(.[1])\"" >> $GITHUB_STEP_SUMMARY + id: ami diff --git a/.github/workflows/packer-build.yml b/.github/workflows/packer-build.yml index e82a8bd..6fca8a8 100644 --- a/.github/workflows/packer-build.yml +++ b/.github/workflows/packer-build.yml @@ -15,6 +15,8 @@ permissions: jobs: build: runs-on: ubuntu-latest + outputs: + ami-id: ${{ steps.ami.outputs.ami-id }} steps: - name: Checkout code @@ -44,3 +46,14 @@ jobs: run: | cd packer packer build upbox.pkr.hcl + + - name: Extract and Output AMI IDs + run: | + cd packer + echo "### 🎉 AMI Built Successfully" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + # Extract all AMI IDs and their regions + LAST_RUN_ID=$(cat manifest.json | jq -r .last_run_uuid) + cat manifest.json | jq -r ".builds[] | select(.packer_run_uuid == \"$LAST_RUN_ID\") | .artifact_id | split(\",\") | .[] | split(\":\") | \"\(.[0]): \(.[1])\"" >> $GITHUB_STEP_SUMMARY + id: ami diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml new file mode 100644 index 0000000..4c9f1ea --- /dev/null +++ b/.github/workflows/tag.yml @@ -0,0 +1,26 @@ +name: Tag + +on: + workflow_dispatch: + inputs: + version: + description: 'Release version (e.g. v0.1.0)' + required: true + message: + description: 'Tag message' + required: true + +jobs: + create-tag: + runs-on: ubuntu-24.04 + + steps: + - name: Checkout + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + + - name: Create Tag + uses: negz/create-tag@39bae1e0932567a58c20dea5a1a0d18358503320 # v1 + with: + version: ${{ github.event.inputs.version }} + message: ${{ github.event.inputs.message }} + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/yamllint.yaml b/.github/workflows/yamllint.yaml new file mode 100644 index 0000000..f159c49 --- /dev/null +++ b/.github/workflows/yamllint.yaml @@ -0,0 +1,15 @@ +name: yamllint +on: [pull_request] +jobs: + yamllint: + name: runner / yamllint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - name: yamllint + uses: reviewdog/action-yamllint@f01d8a48fd8d89f89895499fca2cff09f9e9e8c0 # v1.21.0 + with: + reporter: github-pr-review + filter_mode: nofilter + yamllint_flags: 'apis/' + fail_on_error: true diff --git a/.gitignore b/.gitignore index 6f72f89..f9215eb 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,7 @@ go.work.sum # env file .env + +_output +.venv +.up diff --git a/Makefile b/Makefile deleted file mode 100644 index b8ee2c8..0000000 --- a/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -TAG=v0.0.1 - -all: create-repos build-and-push-all-configurations -build-and-push-all-configurations: build-and-push-network-configuration build-and-push-upbox-configuration -build-and-push-network-configuration: build-network-configuration push-network-configuration -build-and-push-upbox-configuration: build-upbox-configuration push-upbox-configuration - -create-repos: ## Create Repositories - up repo create upbound-upbox-network -a upbound - up repo create upbound-upbox -a upbound - -build-network-configuration: ## Build Upbox Network Configuration Package - up xpkg build --package-root=configuration-network-package -o configuration-network-package/upbound-upbox-network.xpkg - -push-network-configuration: ## Push Upbox Network Configuration Package - up xpkg push upbound/upbound-upbox-network:${TAG} --package=configuration-network-package/upbound-upbox-network.xpkg -a upbound - -build-upbox-configuration: ## Build Upbox Configuration Package - up xpkg build --package-root=configuration-upbox-package -o configuration-upbox-package/upbound-upbox.xpkg - -push-upbox-configuration: ## Push Upbox Network Configuration Package - up xpkg push upbound/upbound-upbox:${TAG} --package=configuration-upbox-package/upbound-upbox.xpkg -a upbound - -install-configurations: ## Install Crossplane Configurations - up ctx upbound/upbound-aws-us-east-1/upbox/upbox-ctp - kubectl apply -f examples/configuration.yaml - kubectl wait configuration.pkg configuration-upbox-network --for=condition=HEALTHY - kubectl wait configuration.pkg configuration-upbox --for=condition=HEALTHY - kubectl apply -f examples/providerconfig-aws.yaml - -claim-network: ## Claim Upbox Network - kubectl apply -f examples/network-xr.yaml - crossplane beta trace xnetwork.aws.platform.upbound.io/upbox-aws-network - kubectl wait xnetwork.aws.platform.upbound.io/upbox-aws-network --for=condition=READY - crossplane beta trace xnetwork.aws.platform.upbound.io/upbox-aws-network - -claim-upboxes: ## Claim Upboxes - kubectl apply -f examples/companies/upbound/ - kubectl apply -f examples/companies/mmc/ - -clean: ## Remove Upbox Resources and Configurations - kubectl delete -f examples/companies/mmc/ - kubectl delete -f examples/companies/upbound/ - kubectl delete -f examples/network.yaml - kubectl delete -f configuration.pkg configuration-upbox - kubectl delete -f configuration.pkg configuration-upbox-network - -access-info: ## Show Upbox Access Info - @kubectl get instance --no-headers |\ - awk '{print $$1}' |\ - while read i; do \ - echo "$$i: ssh ec2-user@$$(kubectl get instance $$i \ - -o jsonpath='{.status.atProvider.publicDns}')"; \ - done diff --git a/README.md b/README.md index d91f68b..6fad2d0 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,49 @@ -# cloud-lab -Automation and Exploration For Providing a Cloud Lab for 3rd Party Devs and Training Attendees +# Upbox -## Todo -- Create claims for first attendee group +Upbox is a solution for providing automated cloud lab environments for 3rd Party Developers and Training Attendees. -## Initial Flow -- `make install-configurations` -- `make claim-network` -- Add claims to `examples\companies` for upboxes as needed. -- `make claim-upboxes` -- Get connection info with `make access-info` +## Prerequisites + +- AWS Provider Configuration +- XNetwork resource (provides VPC, subnet, and security group infrastructure) + +## Quick Start + +1. Set up the network infrastructure: + ```bash + kubectl apply -f examples/configuration-aws-network.yaml + kubectl apply -f examples/xnetwork.yaml + ``` + +2. Create an UpboxSet (for training sessions) or individual Upboxes: + ```bash + # For a training session with multiple participants + kubectl apply -f examples/upboxset/example.yaml + + # For an individual lab environment + kubectl apply -f examples/upbox/example.yaml + ``` ## Network -After claiming the network a trace should show the following. +The Upbox resources link to the XNetwork infrastructure using a network ID parameter. When creating an Upbox or UpboxSet, you need to reference the network via the `networkId` parameter. + +### Network Reference + +In your Upbox or UpboxSet configuration, include a reference to the network ID: + +```yaml +# Sample configuration showing network reference +spec: + parameters: + networkId: upbox-aws-network +``` + +This parameter links the Upbox resources to the correct network infrastructure. + +### Network Trace + +After claiming the network a trace should show the following: ``` crossplane beta trace xnetwork.aws.platform.upbound.io/upbox-aws-network @@ -33,28 +63,122 @@ XNetwork/upbox-aws-network True True Availabl └─ VPC/upbox-aws-network-zjdlc True True Available ``` -## Upbox +## Upbox Resources + +### UpboxSet +The `UpboxSet` resource provides a way to create multiple Upboxes for a training session or group environment. It automatically creates individual Upbox resources for each user based on the configuration provided. + +Key features: +- Creates multiple Upboxes in a single resource +- All Upboxes share the same network infrastructure +- Users are specified with their SSH public keys + +Example UpboxSet configuration: +```yaml +apiVersion: aws.platform.upbound.io/v1alpha1 +kind: UpboxSet +metadata: + name: example +spec: + parameters: + company: upbound + owner: team-solutions + networkId: upbox-aws-network + users: + tobias: + publicKey: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5..." + yury: + publicKey: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5..." ``` -crossplane beta trace xupbox.aws.platform.upbound.io/upbox-upbound-markus-schweig -NAME SYNCED READY STATUS -XUpbox/upbox-upbound-markus-schweig - - -├─ Instance/upbox-upbound-markus-schweig-r8tfg True True Available -└─ KeyPair/upbox-upbound-markus-schweig True True Available + +The UpboxSet controller creates individual Upboxes for each user with their respective SSH keys. + +Trace command: ``` +$> crossplane beta trace upboxset example +NAME SYNCED READY STATUS +UpboxSet/example True True Available +├─ Upbox/upbound-team-solutions-tobias True True Available +│ ├─ Instance/example-sk982 True True Available +│ ├─ KeyPair/upbox-upbound-upbound-team-solutions-tobias True True Available +│ ├─ SecurityGroupRule/example-k85l7 True True Available +│ ├─ SecurityGroupRule/example-wmg2t True True Available +│ └─ SecurityGroup/example-zhps7 True True Available +└─ Upbox/upbound-team-solutions-yury True True Available + ├─ Instance/example-5qjz5 True True Available + ├─ KeyPair/upbox-upbound-upbound-team-solutions-yury True True Available + ├─ SecurityGroupRule/example-8zwhl True True Available + ├─ SecurityGroupRule/example-tnj2z True True Available + └─ SecurityGroup/example-zs2rw True True Available +``` + +### Individual Upbox -Find the upbox AWS endpoint in the MR instance yaml. -Connect to your upbox using ssh as follows: +An `Upbox` resource creates a single lab environment with an EC2 instance and associated resources. + +Example Upbox configuration: +```yaml +apiVersion: aws.platform.upbound.io/v1alpha1 +kind: Upbox +metadata: + name: upbound-team-solutions-tobias +spec: + parameters: + company: upbound + owner: team-solutions + networkId: upbox-aws-network + publicKey: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5..." +``` +Trace command: ``` -ssh -v ec2-user@ec2-54-224-10-88.compute-1.amazonaws.com +$> crossplane beta trace upbox upbound-team-solutions-tobias +NAME SYNCED READY STATUS +Upbox/upbound-team-solutions-tobias True True Available +├─ Instance/example-sk982 True True Available +├─ KeyPair/upbox-upbound-upbound-team-solutions-tobias True True Available +├─ SecurityGroupRule/example-k85l7 True True Available +├─ SecurityGroupRule/example-wmg2t True True Available +└─ SecurityGroup/example-zhps7 True True Available ``` ### Access Info +You can retrieve the SSH connection information for Upboxes by filtering with labels: + +```bash +COMPANY=upbound OWNER=team-solutions +kubectl get upbox \ + -l upbox.aws.platform.upbound.io/company=$COMPANY \ + -l upbox.aws.platform.upbound.io/owner=$OWNER -oyaml \ + | yq '.items[] | "\(.metadata.name): \"ssh ubuntu@\(.status.publicIp)\""' ``` -make access-info -upbox-upbound-mark-d5z4t: ssh ec2-user@ec2-54-152-160-63.compute-1.amazonaws.com -upbox-upbound-markus-schweig-2-vqkdl: ssh ec2-user@ec2-3-84-88-251.compute-1.amazonaws.com -upbox-upbound-markus-schweig-dxpg4: ssh ec2-user@ec2-54-81-90-57.compute-1.amazonaws.com -``` + +## Architecture + +Upbox uses Crossplane compositions to create managed AWS resources: + +- `UpboxSet` - Creates multiple Upboxes for a training session +- `Upbox` - Creates an individual lab environment with EC2 instance and security group +- `XNetwork` - Creates the underlying VPC network infrastructure + +## AMI Automation + +The AMI images used for Upboxes are automatically built and updated: + +- Built using Packer automation +- AMI IDs are tracked in GitHub Actions workflow runs +- CI/CD with GitHub Actions: + - Pull requests build on staging account (crossplane playground) + - Main branch builds on production account (upbox) + +For the latest AMI ID to use in your configurations, check the most recent workflow run in GitHub Actions. + +## Troubleshooting + +If you encounter issues with your Upbox environments: + +1. Check the resource status with `crossplane beta trace` +2. Verify networking setup is complete +3. Ensure AWS provider is properly configured diff --git a/apis/.gitkeep b/apis/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/apis/network/composition.yaml b/apis/network/composition.yaml deleted file mode 100644 index 4605736..0000000 --- a/apis/network/composition.yaml +++ /dev/null @@ -1,359 +0,0 @@ -apiVersion: apiextensions.crossplane.io/v1 -kind: Composition -metadata: - name: xnetworks.aws.platform.upbound.io - labels: - provider: aws - function: go-templating -spec: - compositeTypeRef: - apiVersion: aws.platform.upbound.io/v1alpha1 - kind: XNetwork - mode: Pipeline - pipeline: - - step: go-templating - functionRef: - name: crossplane-contrib-function-go-templating - input: - apiVersion: gotemplating.fn.crossplane.io/v1beta1 - kind: GoTemplate - source: Inline - inline: - template: | - {{ $params := .observed.composite.resource.spec.parameters }} - - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: VPC - metadata: - labels: - networks.aws.platform.upbound.io/id: {{ $params.id }} - annotations: - {{ setResourceNameAnnotation ("vpc") }} - spec: - forProvider: - cidrBlock: {{ $params.vpcCidrBlock }} - enableDnsHostnames: true - enableDnsSupport: true - tags: - Name: {{ .observed.composite.resource.metadata.name }} - region: {{ $params.region }} - providerConfigRef: - name: {{ $params.providerConfigName }} - deletionPolicy: {{ $params.deletionPolicy | default "Delete" }} - - --- - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: InternetGateway - metadata: - labels: - networks.aws.platform.upbound.io/id: {{ $params.id }} - annotations: - {{ setResourceNameAnnotation ("igw") }} - spec: - forProvider: - vpcIdSelector: - matchControllerRef: true - region: {{ $params.region }} - providerConfigRef: - name: {{ $params.providerConfigName }} - deletionPolicy: {{ $params.deletionPolicy | default "Delete" }} - - {{ $region := $params.region }} - {{ $deletionPolicy := $params.deletionPolicy | default "Delete" }} - - {{- range $i, $subnet := $params.subnets }} - --- - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: Subnet - metadata: - labels: - zone: {{ $subnet.availabilityZone }} - {{- if eq $subnet.type "private" }} - access: private - {{- else }} - access: public - {{- end }} - networks.aws.platform.upbound.io/id: {{ $params.id }} - annotations: - {{ setResourceNameAnnotation (printf "subnet-%s-%s" $subnet.availabilityZone $subnet.type) }} - spec: - forProvider: - cidrBlock: {{ $subnet.cidrBlock }} - {{ if eq $subnet.type "public" }} - mapPublicIpOnLaunch: true - {{ end }} - tags: - {{- if eq $subnet.type "private" }} - kubernetes.io/role/internal-elb: "1" - {{- else }} - kubernetes.io/role/elb: "1" - {{- end }} - {{- if eq $subnet.type "public" }} - networks.aws.platform.upbound.io/id: {{ $params.id }} - {{- end }} - region: {{ $region }} - vpcIdSelector: - matchControllerRef: true - availabilityZone: {{ $subnet.availabilityZone }} - providerConfigRef: - name: {{ $params.providerConfigName }} - deletionPolicy: {{ $deletionPolicy }} - {{- end }} - --- - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: RouteTable - metadata: - labels: - networks.aws.platform.upbound.io/id: {{ $params.id }} - annotations: - {{ setResourceNameAnnotation ("rt") }} - spec: - forProvider: - vpcIdSelector: - matchControllerRef: true - region: {{ $params.region }} - providerConfigRef: - name: {{ $params.providerConfigName }} - deletionPolicy: {{ $params.deletionPolicy | default "Delete" }} - --- - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: Route - metadata: - labels: - networks.aws.platform.upbound.io/id: {{ $params.id }} - annotations: - {{ setResourceNameAnnotation ("route") }} - spec: - forProvider: - destinationCidrBlock: 0.0.0.0/0 - gatewayIdSelector: - matchControllerRef: true - routeTableIdSelector: - matchControllerRef: true - region: {{ $params.region }} - providerConfigRef: - name: {{ $params.providerConfigName }} - deletionPolicy: {{ $params.deletionPolicy | default "Delete" }} - --- - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: MainRouteTableAssociation - metadata: - labels: - networks.aws.platform.upbound.io/id: {{ $params.id }} - annotations: - {{ setResourceNameAnnotation ("mrt") }} - spec: - forProvider: - routeTableIdSelector: - matchControllerRef: true - vpcIdSelector: - matchControllerRef: true - region: {{ $params.region }} - providerConfigRef: - name: {{ $params.providerConfigName }} - deletionPolicy: {{ $params.deletionPolicy | default "Delete" }} - {{- range $i, $subnet := $params.subnets }} - --- - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: RouteTableAssociation - metadata: - labels: - networks.aws.platform.upbound.io/id: {{ $params.id }} - annotations: - {{ setResourceNameAnnotation (printf "rta-%s-%s" $subnet.availabilityZone $subnet.type) }} - spec: - forProvider: - region: {{ $region }} - routeTableIdSelector: - matchControllerRef: true - subnetIdSelector: - matchControllerRef: true - matchLabels: - {{- if eq $subnet.type "private" }} - access: private - {{- else }} - access: public - {{- end }} - zone: {{ $subnet.availabilityZone }} - providerConfigRef: - name: {{ $params.providerConfigName }} - deletionPolicy: {{ $deletionPolicy }} - {{- end }} - --- - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: SecurityGroup - metadata: - labels: - networks.aws.platform.upbound.io/id: {{ $params.id }} - networks.aws.platform.upbound.io/type: ssh - annotations: - {{ setResourceNameAnnotation ("sg") }} - spec: - forProvider: - description: Allow SSH access to EC2 Instance - name: cloud-lab-machine - vpcIdSelector: - matchControllerRef: true - region: {{ $params.region }} - providerConfigRef: - name: {{ $params.providerConfigName }} - deletionPolicy: {{ $params.deletionPolicy | default "Delete" }} - --- - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: SecurityGroupRule - metadata: - labels: - networks.aws.platform.upbound.io/id: {{ $params.id }} - networks.aws.platform.upbound.io/type: icmp - annotations: - {{ setResourceNameAnnotation ("sgrp-outbound-icmp") }} - spec: - forProvider: - cidrBlocks: - - 0.0.0.0/0 - description: "icmp outbound" - fromPort: -1 - protocol: icmp - securityGroupIdSelector: - matchControllerRef: true - toPort: -1 - type: egress - region: {{ $params.region }} - providerConfigRef: - name: {{ $params.providerConfigName }} - deletionPolicy: {{ $params.deletionPolicy | default "Delete" }} - --- - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: SecurityGroupRule - metadata: - labels: - networks.aws.platform.upbound.io/id: {{ $params.id }} - networks.aws.platform.upbound.io/type: udp - annotations: - {{ setResourceNameAnnotation ("sgrp-outbound-udp") }} - spec: - forProvider: - cidrBlocks: - - 0.0.0.0/0 - description: "udp outbound" - fromPort: 0 - protocol: udp - securityGroupIdSelector: - matchControllerRef: true - toPort: 65535 - type: egress - region: {{ $params.region }} - providerConfigRef: - name: {{ $params.providerConfigName }} - deletionPolicy: {{ $params.deletionPolicy | default "Delete" }} - --- - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: SecurityGroupRule - metadata: - labels: - networks.aws.platform.upbound.io/id: {{ $params.id }} - networks.aws.platform.upbound.io/type: tcp - annotations: - {{ setResourceNameAnnotation ("sgrp-outbound-tcp") }} - spec: - forProvider: - cidrBlocks: - - 0.0.0.0/0 - description: "tcp outbound" - fromPort: 0 - protocol: tcp - securityGroupIdSelector: - matchControllerRef: true - toPort: 65535 - type: egress - region: {{ $params.region }} - providerConfigRef: - name: {{ $params.providerConfigName }} - deletionPolicy: {{ $params.deletionPolicy | default "Delete" }} - --- - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: SecurityGroupRule - metadata: - labels: - networks.aws.platform.upbound.io/id: {{ $params.id }} - networks.aws.platform.upbound.io/type: ssh - annotations: - {{ setResourceNameAnnotation ("sgrp") }} - spec: - forProvider: - cidrBlocks: - - 0.0.0.0/0 - description: ssh - fromPort: 22 - protocol: tcp - securityGroupIdSelector: - matchControllerRef: true - toPort: 22 - type: ingress - region: {{ $params.region }} - providerConfigRef: - name: {{ $params.providerConfigName }} - deletionPolicy: {{ $params.deletionPolicy | default "Delete" }} - --- - apiVersion: {{ .observed.composite.resource.apiVersion }} - kind: {{ .observed.composite.resource.kind }} - status: - {{- $vpcId := dig "resources" "vpc" "resource" "status" "atProvider" "id" "" $.observed }} - {{- if $vpcId }} - vpcId: {{ $vpcId }} - {{- end }} - - {{- $subnetIds := list }} - {{- range $i, $subnet := $params.subnets }} - {{- $subnetId := dig "resources" (printf "subnet-%s-%s" $subnet.availabilityZone $subnet.type) "resource" "metadata" "annotations" "crossplane.io/external-name" "" $.observed }} - {{- if $subnetId }} - {{- $subnetIds = append $subnetIds $subnetId }} - {{- end }} - {{- end }} - {{- if $subnetIds }} - subnetIds: - {{- range $id := $subnetIds }} - - {{ $id }} - {{- end }} - {{- end }} - - {{- $publicSubnetIds := list }} - {{- range $i, $subnet := $params.subnets }} - {{- if eq $subnet.type "public" }} - {{- $publicSubnetId := dig "resources" (printf "subnet-%s-%s" $subnet.availabilityZone $subnet.type) "resource" "metadata" "annotations" "crossplane.io/external-name" "" $.observed }} - {{- if $publicSubnetId }} - {{- $publicSubnetIds = append $publicSubnetIds $publicSubnetId }} - {{- end }} - {{- end }} - {{- end }} - {{- if $publicSubnetIds }} - publicSubnetIds: - {{- range $id := $publicSubnetIds }} - - {{ $id }} - {{- end }} - {{- end }} - - {{- $privateSubnetIds := list }} - {{- range $i, $subnet := $params.subnets }} - {{- if eq $subnet.type "private" }} - {{- $privateSubnetId := dig "resources" (printf "subnet-%s-%s" $subnet.availabilityZone $subnet.type) "resource" "metadata" "annotations" "crossplane.io/external-name" "" $.observed }} - {{- if $privateSubnetId }} - {{- $privateSubnetIds = append $privateSubnetIds $privateSubnetId }} - {{- end }} - {{- end }} - {{- end }} - {{- if $privateSubnetIds }} - privateSubnetIds: - {{- range $id := $privateSubnetIds }} - - {{ $id }} - {{- end }} - {{- end }} - - {{- $sgId := dig "resources" "sg" "resource" "metadata" "annotations" "crossplane.io/external-name" "" $.observed }} - {{- if $sgId }} - securityGroupIds: - - {{ $sgId }} - {{- end }} - - step: automatically-detect-ready-composed-resources - functionRef: - name: crossplane-contrib-function-auto-ready diff --git a/apis/network/definition.yaml b/apis/network/definition.yaml deleted file mode 100644 index f1b0c0e..0000000 --- a/apis/network/definition.yaml +++ /dev/null @@ -1,102 +0,0 @@ -apiVersion: apiextensions.crossplane.io/v1 -kind: CompositeResourceDefinition -metadata: - name: xnetworks.aws.platform.upbound.io -spec: - group: aws.platform.upbound.io - names: - kind: XNetwork - plural: xnetworks - claimNames: - kind: Network - plural: networks - versions: - - name: v1alpha1 - served: true - referenceable: true - schema: - openAPIV3Schema: - type: object - properties: - spec: - type: object - properties: - parameters: - description: Network Parameters - properties: - id: - type: string - description: ID of this Network that other objects will use to refer to it. - region: - type: string - description: Region is the region you'd like your resource to be created in. - default: us-east-1 - deletionPolicy: - description: Delete the external resources when the Claim/XR is deleted. Defaults to Delete - enum: - - Delete - - Orphan - type: string - default: Delete - providerConfigName: - description: Crossplane ProviderConfig to use for provisioning this resources - type: string - default: default - vpcCidrBlock: - type: string - description: CIDR block for the VPC - default: 192.168.0.0/16 - subnets: - type: array - items: - type: object - properties: - availabilityZone: - type: string - type: - type: string - enum: - - public - default: public - cidrBlock: - type: string - description: Subnets to create in the VPC - required: - - availabilityZone - - type - - cidrBlock - default: - - availabilityZone: us-east-1a - type: public - cidrBlock: 192.168.0.0/18 - required: - - deletionPolicy - - providerConfigName - - id - - region - - subnets - - vpcCidrBlock - type: object - required: - - parameters - status: - type: object - properties: - vpcId: - type: string - subnetIds: - type: array - items: - type: string - publicSubnetIds: - type: array - items: - type: string - privateSubnetIds: - type: array - items: - type: string - securityGroupIds: - type: array - items: - type: string diff --git a/apis/upbox/composition.yaml b/apis/upbox/composition.yaml deleted file mode 100644 index 9561e2e..0000000 --- a/apis/upbox/composition.yaml +++ /dev/null @@ -1,91 +0,0 @@ -apiVersion: apiextensions.crossplane.io/v1 -kind: Composition -metadata: - name: xupbox.aws.platform.upbound.io - labels: - provider: aws - function: go-templating -spec: - compositeTypeRef: - apiVersion: aws.platform.upbound.io/v1alpha1 - kind: XUpbox - mode: Pipeline - pipeline: - - step: go-templating - functionRef: - name: crossplane-contrib-function-go-templating - input: - apiVersion: gotemplating.fn.crossplane.io/v1beta1 - kind: GoTemplate - source: Inline - inline: - template: | - {{ $params := .observed.composite.resource.spec.parameters }} - {{ $id := (printf "upbox-%s-%s" $params.company $params.name)}} - - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: Instance - metadata: - labels: - upbox.aws.platform.upbound.io/id: {{ $id }} - upbox.aws.platform.upbound.io/owner: {{ $params.owner }} - annotations: - {{ setResourceNameAnnotation ("instance") }} - spec: - forProvider: - region: us-east-1 - instanceType: {{ printf "t4g.%s" $params.size }} - associatePublicIpAddress: true - subnetIdSelector: - matchLabels: - networks.aws.platform.upbound.io/id: {{ $params.networkId }} - access: public - zone: us-east-1a - vpcSecurityGroupIdSelector: - matchLabels: - networks.aws.platform.upbound.io/id: {{ $params.networkId }} - networks.aws.platform.upbound.io/type: ssh - # ami: ami-05f16f3539e999b77 #AL2 Arm - # ami: ami-0f22e14c0ea408f8e #AL 2 Arm + Upbound Tools - # ami: ami-0cc29463c6d3dedfa # upbox-2024-10-27 - # ami: ami-0bee6b33d20556794 # upbox-2025-02-20 - ami: {{ $params.amiId }} - keyName: {{ $id }} - providerConfigRef: - name: aws - deletionPolicy: Delete - --- - apiVersion: ec2.aws.upbound.io/v1beta1 - kind: KeyPair - metadata: - name: {{ $id }} - labels: - instances.aws.platform.upbound.io/id: {{ $id }} - annotations: - {{ setResourceNameAnnotation ("key") }} - spec: - forProvider: - publicKey: {{ $params.publicKey }} - region: us-east-1 - providerConfigRef: - name: aws - deletionPolicy: Delete - --- - apiVersion: {{ .observed.composite.resource.apiVersion }} - kind: {{ .observed.composite.resource.kind }} - status: - id: {{ $id }} - - {{- $instanceId := dig "resources" "'instance'" "resource" "status" "atProvider" "id" "" $.observed }} - {{- if $instanceId }} - instanceId: {{ $instanceId }} - {{- end }} - - {{- $publicIp := dig "resources" "'instance'" "resource" "status" "atProvider" "publicIp" "" $.observed }} - {{- if $publicIp }} - publicIp: {{ $publicIp }} - {{- end }} - - - step: automatically-detect-ready-composed-resources - functionRef: - name: crossplane-contrib-function-auto-ready diff --git a/apis/upbox/definition.yaml b/apis/upbox/definition.yaml deleted file mode 100644 index 9630db2..0000000 --- a/apis/upbox/definition.yaml +++ /dev/null @@ -1,69 +0,0 @@ -apiVersion: apiextensions.crossplane.io/v1 -kind: CompositeResourceDefinition -metadata: - name: xupboxes.aws.platform.upbound.io -spec: - group: aws.platform.upbound.io - names: - kind: XUpbox - plural: xupboxes - claimNames: - kind: Upbox - plural: upboxes - versions: - - name: v1alpha1 - served: true - referenceable: true - schema: - openAPIV3Schema: - type: object - properties: - spec: - type: object - properties: - parameters: - description: Network Parameters - properties: - name: - type: string - description: Unique name of who this will be assigned to. - company: - type: string - description: The company of who this will be assigned to. - owner: - type: string - description: The team or person at Upbound responsible. - networkId: - type: string - description: Identity of underlying network. - amiId: - type: string - description: Identity of Amazon Machine Image - default: ami-0cc29463c6d3dedfa - size: - type: string - description: Size of the instance to create. - enum: - - micro - - small - default: small - publicKey: - type: string - description: Public SSH key to upload. - required: - - name - - company - - owner - - publicKey - type: object - required: - - parameters - status: - type: object - properties: - id: - type: string - instanceId: - type: string - publicIp: - type: string diff --git a/apis/upboxes/composition.yaml b/apis/upboxes/composition.yaml new file mode 100644 index 0000000..769b873 --- /dev/null +++ b/apis/upboxes/composition.yaml @@ -0,0 +1,16 @@ +apiVersion: apiextensions.crossplane.io/v1 +kind: Composition +metadata: + name: upboxes.aws.platform.upbound.io +spec: + compositeTypeRef: + apiVersion: aws.platform.upbound.io/v1alpha1 + kind: Upbox + mode: Pipeline + pipeline: + - functionRef: + name: upbound-configuration-upboxupbox + step: upbox + - functionRef: + name: crossplane-contrib-function-auto-ready + step: crossplane-contrib-function-auto-ready diff --git a/apis/upboxes/definition.yaml b/apis/upboxes/definition.yaml new file mode 100644 index 0000000..4c06d04 --- /dev/null +++ b/apis/upboxes/definition.yaml @@ -0,0 +1,72 @@ +apiVersion: apiextensions.crossplane.io/v1 +kind: CompositeResourceDefinition +metadata: + name: upboxes.aws.platform.upbound.io +spec: + group: aws.platform.upbound.io + names: + categories: + - crossplane + kind: Upbox + plural: upboxes + versions: + - name: v1alpha1 + referenceable: true + schema: + openAPIV3Schema: + description: Upbox is the Schema for the Upbox API. + properties: + spec: + description: UpboxSpec defines the desired state of Upbox. + properties: + parameters: + description: Upbox Parameters + properties: + company: + type: string + description: The company of who this will be assigned to. + owner: + type: string + description: The team or person at Upbound responsible. + networkId: + type: string + description: Identity of underlying network. + amiId: + type: string + description: Identity of Amazon Machine Image + size: + type: string + description: Size of the instance to create. + enum: + - micro + - small + default: small + publicKey: + type: string + description: Public SSH key to upload. + providerConfigName: + type: string + default: default + zone: + type: string + default: "a" + required: + - company + - owner + - publicKey + type: object + type: object + status: + description: UpboxStatus defines the observed state of Upbox. + type: object + properties: + id: + type: string + instanceId: + type: string + publicIp: + type: string + required: + - spec + type: object + served: true diff --git a/apis/upboxsets/composition.yaml b/apis/upboxsets/composition.yaml new file mode 100644 index 0000000..ce9f2b3 --- /dev/null +++ b/apis/upboxsets/composition.yaml @@ -0,0 +1,16 @@ +apiVersion: apiextensions.crossplane.io/v1 +kind: Composition +metadata: + name: upboxsets.aws.platform.upbound.io +spec: + compositeTypeRef: + apiVersion: aws.platform.upbound.io/v1alpha1 + kind: UpboxSet + mode: Pipeline + pipeline: + - functionRef: + name: upbound-configuration-upboxupboxset + step: upboxset + - functionRef: + name: crossplane-contrib-function-auto-ready + step: crossplane-contrib-function-auto-ready diff --git a/apis/upboxsets/definition.yaml b/apis/upboxsets/definition.yaml new file mode 100644 index 0000000..78f28b9 --- /dev/null +++ b/apis/upboxsets/definition.yaml @@ -0,0 +1,68 @@ +apiVersion: apiextensions.crossplane.io/v1 +kind: CompositeResourceDefinition +metadata: + name: upboxsets.aws.platform.upbound.io +spec: + group: aws.platform.upbound.io + names: + categories: + - crossplane + kind: UpboxSet + plural: upboxsets + versions: + - name: v1alpha1 + referenceable: true + schema: + openAPIV3Schema: + description: UpboxSet is the Schema for the UpboxSet API. + properties: + spec: + description: UpboxSetSpec defines the desired state of UpboxSet. + properties: + parameters: + properties: + company: + type: string + description: The company of who this will be assigned to. + owner: + type: string + description: The team or person at Upbound responsible. + networkId: + type: string + description: Identity of underlying network. + amiId: + type: string + description: Identity of Amazon Machine Image + size: + type: string + description: Size of the instance to create. + enum: + - micro + - small + default: small + providerConfigName: + type: string + default: default + zone: + type: string + default: "a" + users: + type: object + additionalProperties: + type: object + properties: + publicKey: + type: string + description: Public SSH key to upload. + required: + - company + - owner + type: object + type: object + status: + description: UpboxSetStatus defines the observed state of UpboxSet. + type: object + required: + - spec + type: object + served: true diff --git a/configuration-network-package/composition.yaml b/configuration-network-package/composition.yaml deleted file mode 120000 index d4dbf26..0000000 --- a/configuration-network-package/composition.yaml +++ /dev/null @@ -1 +0,0 @@ -../apis/network/composition.yaml \ No newline at end of file diff --git a/configuration-network-package/crossplane.yaml b/configuration-network-package/crossplane.yaml deleted file mode 120000 index b1d53f6..0000000 --- a/configuration-network-package/crossplane.yaml +++ /dev/null @@ -1 +0,0 @@ -../crossplane.yaml \ No newline at end of file diff --git a/configuration-network-package/definition.yaml b/configuration-network-package/definition.yaml deleted file mode 120000 index d849357..0000000 --- a/configuration-network-package/definition.yaml +++ /dev/null @@ -1 +0,0 @@ -../apis/network/definition.yaml \ No newline at end of file diff --git a/configuration-network-package/upbound-upbox-network.xpkg b/configuration-network-package/upbound-upbox-network.xpkg deleted file mode 100644 index b4816eb25e6419c4610d1eeaf9191a58bf6d7337..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9728 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 WmcMt%kMkcM_~C&c9{3OOz<&YPXjgdv diff --git a/configuration-network-package/upbound-upvox-network.xpkg b/configuration-network-package/upbound-upvox-network.xpkg deleted file mode 100644 index e5cf8d0c21c5ac9fb03e81bbe902c39fc848a50a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9728 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.14.1-0" - dependsOn: - - provider: xpkg.upbound.io/upbound/provider-aws-ec2 - version: "v1.15.0" - - function: xpkg.upbound.io/crossplane-contrib/function-auto-ready - version: "v0.3.0" - - function: xpkg.upbound.io/crossplane-contrib/function-go-templating - version: "v0.5.0" diff --git a/examples/.gitkeep b/examples/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/examples/companies/mmc/upbox-mmc-adam-foreman.yaml b/examples/companies/mmc/upbox-mmc-adam-foreman.yaml deleted file mode 100644 index 81bbc78..0000000 --- a/examples/companies/mmc/upbox-mmc-adam-foreman.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-adam-foreman - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # Mac - name: adam-foreman - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDMWy/bxTfPGsdPDl7cOHZ+MoC9a8V01UAyh136u3cL9U+EiqhIMiE47X8gWms0/vdgifR6zOxbUSyHrPwaX8bXYWn985FMOdU4Rttubb72ovnZd0rLmVuGHpLlPsUAVtqg5vD3f6R4nuhHdaCb/M6ll1X4U18USnoUkhS3ZyhnFIOl8POhC6HZi3I58SMd9ZoYvqLVYTFjQVZ0lsURxKYv4+12VphKk0n5eXfo8VIg8EvTh10ESAAvdGj4ixJReZM1qTj6zuh4Fnso5YpfbdhKRw07z7HqyFVi06ayBQxxjXwrx8eCKJ1x94JzNFCA2F6XLZvr+9Pm3X3DLrrrgkZF/Bax8eze9j/L3MeeeiU5+oYluYAFafIKTfWhTJPlZ3CzHaw/J93GxiKEzQ7DUX6IC/rNr55ux0qdfGt0Bf5Wa/ebzT3kWstNcyfltjw8Ttgl667+ACPqtRJeK8glTm7jGpSZFYIJKVdJ7wNaeljUWIc7U8bbOzhZXu0pmAJeQQ8= aforeman@USWLKCLXL369394 diff --git a/examples/companies/mmc/upbox-mmc-aditi-bhargava.yaml b/examples/companies/mmc/upbox-mmc-aditi-bhargava.yaml deleted file mode 100644 index 9f1f975..0000000 --- a/examples/companies/mmc/upbox-mmc-aditi-bhargava.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-aditi-bhargava - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # git bash - name: aditi-bhargava - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEyMcQ2q0cZADodhDWMD+0GPpYxK0MyFZitJN2+W6GS U1312423@INPUNCLP86GD043 diff --git a/examples/companies/mmc/upbox-mmc-aman-pathak.yaml b/examples/companies/mmc/upbox-mmc-aman-pathak.yaml deleted file mode 100644 index 3662fca..0000000 --- a/examples/companies/mmc/upbox-mmc-aman-pathak.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-aman-pathak - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: aman-pathak - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCc6IuQ5FARJjB4ayktIh05uD2+FebKhj26htcJ2Ze5E/3krCt/ZqLWUb22eWVvfEtbm+8KQY0VD54L9q89yIb8aT+n95N75FY25tCbJ6rmPQDwREYHF4N4HXIx12VI42LDVFHu5O65j8RPsh3Gzd8HRBgTyZyA3pIbNowju8iTQGW9I72lofNsphe+uwV5ODrbF6M9g8QDQj24FHvFHZDIJjw0jGEDi5wsBRCT8spjyGCl5w0vev5fmsfkoZtLrCrQSsLHjYzFKvSxDHBjvB/LYxmTPJbky2/3BecUZgzCYiaAvkImw1SIYQgbpZWxdARNqoCvmfj3It+woOHQNP264V6pw3ycIIe7VN6ZltRwehfH9AMIIUfzgpw5+D1sQi6h1rys8ecJ2O1AM83wxWKUipBzw7n1w5WFiU12Ttws9ZYtJv9nTIKi8slEiYua374OIeXZVIWV+2ADtXJJD5eaGL/LVPiryXQpygexi0YP/UayMzqYEPqV7/WSx3DJadc= aman@CATRNMLP2LKW7Y2 diff --git a/examples/companies/mmc/upbox-mmc-arvind-subramanian.yaml b/examples/companies/mmc/upbox-mmc-arvind-subramanian.yaml deleted file mode 100644 index 80f7b7b..0000000 --- a/examples/companies/mmc/upbox-mmc-arvind-subramanian.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-arvind-subramanian - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # Mac - name: arvind-subramanian - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC4PoOuZLZJqGcwVhbO61eC3RseDUd0Qo5NjnMjOJyso9Gs8Ht1QYfLEWEfgqhnCyWDIlEKkeoqKJQ91RfEF5VCR+pMRYPDoe0PrDGHC6eE5rpPrG3LrQl2xwNJAfnwQc23DJkzLzfKITYRNerUyIANaAOuJbFTQtWZrBh1OMOt/gcqpDCnowGBPZhlpmIc3Z9E7YsHRIk/gUaFCgmHnysmMm3+PEOC+0F6p+YEP6nF/L/pLcWJetNz5sAMu1aUZVY4DGHXu7a9iOv+w92cMI/BoehFi+5mMRESTIpKhu7qpiJo/CYrM5tw1bZl07N9rkcGBT3T0UGN/dinaZKEIEL/JnMVOOQrQx4YRHrmEONRalgCjwFXdaFhdr52Iz4ys5Ui4/YrJjXCtYIhgTZslY7p+nawA1vB10CqitzoJH+p0waptLrk3YyHNJRKYDXEO9yqG/cZG8yvo7F0xvzBCb0Yyjrtb6eyQ4g3nPngmeztyBrn4vfZZt6ZGZfb4wv7ef8= u1228115@aumlbml80hmmd6t.au.mrshmc.com diff --git a/examples/companies/mmc/upbox-mmc-aswinkumar-thulasiraman.yaml b/examples/companies/mmc/upbox-mmc-aswinkumar-thulasiraman.yaml deleted file mode 100644 index f745825..0000000 --- a/examples/companies/mmc/upbox-mmc-aswinkumar-thulasiraman.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-aswinkumar-thulasiraman - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # Max - name: aswinkumar-thulasiraman - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDyHvcbKR+LwXpWX7hqLz+MAs/m2xjdKbOf+HuL5bSm8+dZcoBV+o0V+QtcVJzcvTkENbB+sxpjQSOMhpSRAEpwcDIOvaW0FFvM0QeR7SHZOnwko3vIPY9XldAKIeE0R1r+Mgek9Ug6LDrmu0sVs0ci1OgN9og34Kf755cQNxqSaM76vhHWvUuYYSJi72f3NLlL6uvkDDuMpEISppgBO0DnNj0ZeuoiE8rDiXiiX28NNIQu5LDYJAeU5e6T/+pg1o2dNRDjotFatYac2A6MqGmvLaiMEJRzKGTxop5N294pLSin0mwNRQCG+l+95KriELSZhYLGEGhw6xCAco6Cu+f7z3WffQY+P+VvGgxmRPKtg3AGD4B3BgW0TRhOWyo9BXcVimFPfovQLqv80ISaegdJ4MZ6BOVszllzszO03bATQ/NX3ICS/t8BazzhVSELBlxZGWppBKF+PNwkhKDsBp020A6xK9UGqGI1qimpTJ1B8gpgUoAXaas+qepe3d4v7QHD0a9xed0TED1vSs7elVlyN4ANbyGu/QJUYGo/NMbW/wA4KXGd8dupwEgBJzKGVqP7tK7sFH+scwg7OylbhO/fPdKaOrj1TBI3MGCOhzjL4wNGTKj9D9K54Vimh7f0iqv/NEjYSxwtnSu2LqtSnC/4w8Sxu1VzZu5mMA1xBg5OuQ== us02p01u1104859@USDLSCLH1GAMD6T diff --git a/examples/companies/mmc/upbox-mmc-babanjot.yaml b/examples/companies/mmc/upbox-mmc-babanjot.yaml deleted file mode 100644 index a74f334..0000000 --- a/examples/companies/mmc/upbox-mmc-babanjot.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-babanjot - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: babanjot - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQChe9v8kCWtsT7JKBfC0sr/fadXeuQwRIJDF78qbEQlxG/+oJBWck1XOadG3TsH1KAUGZ73gXW4DZEiyz3qRvmWw5qrYr77dqIcsMIKKqDtbgaBrYiNrrS+zCRN0kQKnlfLUHL2s4ixvudgiwnZ08Y66Qf0vQ8dC94WbfuVTMyUN+WUkJj4gH7BA4l6qhaFOjAqKwMk5PGpFozeuHmWmodPYMBzS4gG1GJ52hbts70tx2c432LNPJfSSbI8rTxsvWQ+iaC3O5mDgJmlI2q4ncSFoNvtyEfwK7emhi7+xcedXMIIkPJflyB5DkTD20ov7p72mjNNa15dyVGeur7FlRHyQCjO+oTsEUkZMixOsT6Pqjj1e13c6isjdlFGrp26JZYt2se3eykeej0pbLD3CD3KWRZVnQq6BO8wSndmlJ3Gs/PYSjfs5PLBrg9aIffoKq5Cx6StPwcIi+Zrztzw13FDAJrjMe7xJF0DLwHpchF/njzZ1VKnMrWmEcbcW9jJU+0= babanjots@CATRNCLP4RPJ893 diff --git a/examples/companies/mmc/upbox-mmc-brad-myers.yaml b/examples/companies/mmc/upbox-mmc-brad-myers.yaml deleted file mode 100644 index 2865d29..0000000 --- a/examples/companies/mmc/upbox-mmc-brad-myers.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-brad-myers - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: brad-myers - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJr3vA+fUpmWll7S3gF3VrL5ZWnntwQLCR2G5dL8Dr3Z U1276869@USNYCGLRXL2LY6D diff --git a/examples/companies/mmc/upbox-mmc-brian-lowe.yaml b/examples/companies/mmc/upbox-mmc-brian-lowe.yaml deleted file mode 100644 index bb5379c..0000000 --- a/examples/companies/mmc/upbox-mmc-brian-lowe.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-brian-lowe - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: brian-lowe - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDt4Gul6z+pJjjPCdcO+5Vxrkh/RxpGQDBvSYbKxmln1y/zkEDSPxirJUOdDdI3ZL09outgHeW2JDBF9LdUb/A/7ZofltsEmNlYsiKG50zLmQUxf+jqY+Psmnxf02Paqv/oOFCPWsTDufcGLIRPOD9S0Pg2VC+cxLMmvngT2b3zUHTh/jDdHEzCXug7yRKI0pQB2FG2tXSZl8dgS1VoVwtsuaxO7MYPVkoZiQ/d/KtkbsUKJKRa/t+DhXaL0b0R2zFffTpUnfPFlb2w19qMIJqfhM0NKb5/0UqRnSv/xwh2Kd8u6I5C49jtVwANeMsSrBoIWtqBIPJRqDj6EMyagr4epnEtkKw2/PuxVCB8MPaXxUtvbmo50KA2/5XYbG9/+ioyqgwUoj8Uk0ykxmxWyLne1gPodCxFUHj5FosNfhm6kFxxgBMazPqFCcLIBpp+80ZweyGW35weI/p72DXwbg9XGSpOFkaU19lfDB0k9d4nwLcgHq3pVEabHKHRD/KRCYn4T2iZgt6ihSqpE87gsathTDyodg7wBWRgm/swxF7RTlnNTsgVS8N1IvfCj+mxRz3iZ6SVSPDQZklEwmnoXSeTGvOak/PUOYWBdZeoQUdQE4W24qYfOrmHFmGYydktHmqnfL+JVh8Oz5TNVlNiUM/V0eKHFEU2jfCUdfkcT4RBaQ== brian.lowe@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-brian-moritz.yaml b/examples/companies/mmc/upbox-mmc-brian-moritz.yaml deleted file mode 100644 index 608ced8..0000000 --- a/examples/companies/mmc/upbox-mmc-brian-moritz.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-brian-moritz - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: brian-moritz - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCyhSyd0ThtFKipBdhamPh29TkhFBdIIEBEX5dQ4xJ34jISRY3aUgc4Nd/JImZ15/cTPqUykMxzi+cKgK87+rzo5SpFzmqVPJ+6PEbNH3XPHkBMTRv9KK4wrOegxvzUoZTJ8000j6NvPbfHyE89aUB5r68M7ZNg5mG/qbIz10H3O+F9E87Pa9kACHF+TqECKgnHhYiZQ566b6DVJypj8frDToBqAsb7BDbwYfukQahNnEAaQNxhj/W1E1KH/GYEQa0xIVfJuxKEEswmOnbi0U2onib6q93UGEu2B9JCORiXgod7xOxdciLtYvfrFCt0HHwMOHkMFV+70mF4st2b+/PgUGwqjp5qziboLehSE8QoAvbJgr/7lgqCfmkiMsLXb2SvqcMLghwI8pLb/vCZ5wOUkG64pD4z0OQpMORdpU9Mmn2U5NJJO8/3FmCnonyNtllK2OHHqnCXmjrh3i0Urtf59Qt6MgdYQou43M/ScFD1sQJBQCWBk7ji87K416cUffVVxhdzDgKusE7drfDiawvknmpcn2nYhDCvOKDfJ/wMTVLYkuAYAo+SlCDXcDmnsXkwoJfcEFCL8rAS8Vafis+tn6ag/kVKYJJ8TNCHA6tT2pbdHIb82ifGXRLf0ETwWJRU/5QW5E58YGrh2bRSE6a3lsEdRyQeFV2dny/UsPnQ/w== brian.moritz@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-bryan-lorette.yaml b/examples/companies/mmc/upbox-mmc-bryan-lorette.yaml deleted file mode 100644 index ebe11cd..0000000 --- a/examples/companies/mmc/upbox-mmc-bryan-lorette.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-bryan-lorette - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # environemnt? - name: bryan-lorette - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: diff --git a/examples/companies/mmc/upbox-mmc-charlie-drewitt.yaml b/examples/companies/mmc/upbox-mmc-charlie-drewitt.yaml deleted file mode 100644 index 6734fd7..0000000 --- a/examples/companies/mmc/upbox-mmc-charlie-drewitt.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-charlie-drewitt - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: charlie-drewitt - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKDh65prY6QlhkhA3hLqLy8R1LpfSqFCGwQ79RMH+UVJ charlie.drewitt@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-dan-howlett.yaml b/examples/companies/mmc/upbox-mmc-dan-howlett.yaml deleted file mode 100644 index 2dabc19..0000000 --- a/examples/companies/mmc/upbox-mmc-dan-howlett.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-dan-howlett - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # CMD - name: dan-howlett - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCAO0WrD9vssY1CFFt1aj57AcPd49cpDF6iPoNOXzmURGgjEyuQs0B4NvscSjRcgordZHdjc9tGWeKIIHJriIvrq3IYZMD0Ce5WY5nOr3QDFXTi8XXO596+zGOXD2RVu5N41feIWKH1Pbqc+jKBtknqeEafnz2mNFPed4TTFACEUcQcAh+ehkd5NNSOxzXWeH2x+hWqxRJQ5k5WohFd4FlC5gFdMCnroBt8aUfsHY3XMN71DhY41Yt3XKoV6Ivd3cmqeBXyJBN/lDfFjnZUbCoZVduCMf6vKhZ6yDsSvXOYmkNad86HP/YNsqXrXXoNBnwmlyMktlqAyzKtRYNXuJ2X Dan.Howlett@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-david-sunter.yaml b/examples/companies/mmc/upbox-mmc-david-sunter.yaml deleted file mode 100644 index ef449a9..0000000 --- a/examples/companies/mmc/upbox-mmc-david-sunter.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-david-sunter - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: david-sunter - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL9NDFLQ8z1gmvnL6SMjyOOQP6bgHot3TSN+aLlsH6Ea david.sunter@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-dean-naqvi.yaml b/examples/companies/mmc/upbox-mmc-dean-naqvi.yaml deleted file mode 100644 index 070bae9..0000000 --- a/examples/companies/mmc/upbox-mmc-dean-naqvi.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-dean-naqvi - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # Mac - name: dean-naqvi - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcLcLlRZiu5MFcuMlPvV202q66DPhgdAVm7GwOJzuDozuy2UpXoe+XVTdLut+zwKQPHY6gsjHNWNtGBdlDbnFAe2zLzVujJ2pF0ySuv/8yS43aOUAy88VbJBHSELWTK1c3Q+oxUvNUs/bWvHMG5+Vge7h/NvMjuM0kNFdQm4YYkJmFL/4FxL/b3aqm5+3u17Bv0GAsbnPaHRn+5yGrrHF9uLWBK2fnrhUss6pPdpaAAa/lnQK9cnns/ulXRr1187cBE4IgIRE77SluP/Nu+7jaHy/RUlqfICFYbQDd49yIzD6AMkyYQQgx1g9QO8KOOU9uL69GpZJeyePKXlsYYpIR dean.naqvi@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-eric-bahringer.yaml b/examples/companies/mmc/upbox-mmc-eric-bahringer.yaml deleted file mode 100644 index d8ce911..0000000 --- a/examples/companies/mmc/upbox-mmc-eric-bahringer.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-eric-bahringer - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # environemnt? - name: eric-bahringer - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: diff --git a/examples/companies/mmc/upbox-mmc-garima-batta.yaml b/examples/companies/mmc/upbox-mmc-garima-batta.yaml deleted file mode 100644 index f2b44c5..0000000 --- a/examples/companies/mmc/upbox-mmc-garima-batta.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-garima-batta - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # git bash - name: garima-batta - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEjfZpS1hRa3MDhhUZtZKhX1u3AFwzz5hic0pLaTJgkb garima.batta@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-gaurav-kushwaha.yaml b/examples/companies/mmc/upbox-mmc-gaurav-kushwaha.yaml deleted file mode 100644 index b3ebe78..0000000 --- a/examples/companies/mmc/upbox-mmc-gaurav-kushwaha.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-gaurav-kushwaha - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # git bash - name: gaurav-kushwaha - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMXAR9+N2hadmmkD2ntV8BUfjS6wDHFFjUuPUF1k7aeK gaurav.kushwaha@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-himanshu-dureja.yaml b/examples/companies/mmc/upbox-mmc-himanshu-dureja.yaml deleted file mode 100644 index 729ceca..0000000 --- a/examples/companies/mmc/upbox-mmc-himanshu-dureja.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-himanshu-dureja - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # git bash - name: himanshu-dureja - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJYw3GikQMSqE7x3THvE79lR3ufrnPYApDrAhCIy02EU himanshu.dureja@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-jason-bent.yaml b/examples/companies/mmc/upbox-mmc-jason-bent.yaml deleted file mode 100644 index c4d88d7..0000000 --- a/examples/companies/mmc/upbox-mmc-jason-bent.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-jason-bent - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: jason-bent - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDNeT4ePR23mQGrl+T+9N36UsJFC72LZjPl/mOSc7WNR Jason.Bent@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-john-taylor.yaml b/examples/companies/mmc/upbox-mmc-john-taylor.yaml deleted file mode 100644 index f7d94b0..0000000 --- a/examples/companies/mmc/upbox-mmc-john-taylor.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-john-taylor - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # Putty - name: john-taylor - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCDiHWigWKWxiVQocINhRzgNMcODnRU0+3ya3v3y1hCrg78XWkAmYEoQLU8MbYzq08jBrSRgAzrC0y7zamV1zxFKhv53ZMoX6+JH/wwsGbWBA7GZhOA2miyjrRNMMv2CRsZi4DHb74Knj7YJadWxSFVprZLKT3ChHmK1wglgPKF6fbRDN+Hk6o4dLXj7682pcniVHCNQWDx2Em4DsbOu2rFaFbmEaYrH0jfe44CiR6iDYSrNIhnZmx6iCaxohOQO2eFGjAvtafquDGUurdT8WFY+SUr7D7upgUv5I87df40DIHUTssHkMHJ5GIN2pf1X++/s/IU0Pgwg0JFg4D6BMxd upbound_key diff --git a/examples/companies/mmc/upbox-mmc-john-xanthopoulos.yaml b/examples/companies/mmc/upbox-mmc-john-xanthopoulos.yaml deleted file mode 100644 index c375179..0000000 --- a/examples/companies/mmc/upbox-mmc-john-xanthopoulos.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-john-xanthopoulos - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # environemnt? - name: john-xanthopoulos - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: diff --git a/examples/companies/mmc/upbox-mmc-jon-cheung.yaml b/examples/companies/mmc/upbox-mmc-jon-cheung.yaml deleted file mode 100644 index 96d5666..0000000 --- a/examples/companies/mmc/upbox-mmc-jon-cheung.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-jon-cheung - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # git bash - name: jon-cheung - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDD4D9E71gJ1lbhWSVJInPa+A6Ta2OOv2hs8QL5jK57k8/ILXGy11TAlp8uIv6RR32jU8/fGg2xSLC5RgdTPL/yoXU/qDjYN/nj8rfv2jO78k+/9hfLVbT0tjFD6RR0ZxMyyjxw11OUZPO2XR52YZ+ItHrSp0BCJxP23D3Ej9e/YBgkGSt3pSYW8MFaR8Q+R4uFYoiDiIadr3z49OaVWZhmN3A4PEkpKBF+BmM0geN3Hz+b0Fr6mxIgKVMU8IGVvVYW6AVLLchzSTJgIqHN3Pyp8d/P20p7Blomfm6Yux02Ot7e3jcB74FWMXhgW56tl7cAN88AUfrSmeJsMCSAPl05 diff --git a/examples/companies/mmc/upbox-mmc-joseph-sharkey.yaml b/examples/companies/mmc/upbox-mmc-joseph-sharkey.yaml deleted file mode 100644 index 57059f9..0000000 --- a/examples/companies/mmc/upbox-mmc-joseph-sharkey.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-joseph-sharkey - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: joseph-sharkey - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILyU1sO9lglXzv3hsBnyBSgJREFffl7kOVYN7QXdjk1t joseph.sharkey@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-kaushik-borkar.yaml b/examples/companies/mmc/upbox-mmc-kaushik-borkar.yaml deleted file mode 100644 index 28b64d4..0000000 --- a/examples/companies/mmc/upbox-mmc-kaushik-borkar.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-kaushik-borkar - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # Mac - name: kaushik-borkar - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDSm+V4BnAm+YNkQCm/4vYAGhnyHV/Z3hUI6O8Jtnq7MqtH56vCt4Iuvhrh7tL6BaRsngj846rGWX6ToF3png4f5A57Jw+3GdIyY1mOZ5MUdU8cD5fiyfnUdgkreAz9ReqXp55xP6508iBg8z3RRW1ZdFZVa2znEx+pBfJR/cAZuXFHnCzAVFNCymW2qWmmZVvAsIIdFmbdHdbu1hv2TQTuCJ5/tDkMVydeTeU/WR/xbR3PWiw5YnZbtO+M6SVUv38FtBje6J4qaI/SeG6fDbrm17jU0YKB2aEo+PNwRGWLlBn9pzJ5oOE5+mwEXAtDib9WLeXh7JZF2LkMsOXsI2pFiclPyllfHWw7bTBLGNO0ufgBPlRzBhSY2ceUk7GE3+SYTtQrQ6AFCAZ9yH1wOjD18vBDEOPyiRPAk2gpzW+dHUI/CCKniTCEGmDP6q6QbTFsjmYO+HpE/DyJoKVcBdK34TTvkHBT8ruosr8oqFZpTtJJE6o7NbMZhAm/rwYqs1rQ6wHy+hKA7jTclctGSls8KgD3/T8GJ3md44VNeTmm5cCpt1j97gsfaxvvgjTJO0vxMpc176u2JPdt7v1zXCQxReYiBQ4IBVCZKRH8sHlyRCmwCnC85tlUfSItU6UnD+u9xPKS5CMbNiASZYbYoUc5X+FaE4hX1aY5OSPxvSk5KQ== kaushik.borkar@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-kazim-mehdi.yaml b/examples/companies/mmc/upbox-mmc-kazim-mehdi.yaml deleted file mode 100644 index dc97d23..0000000 --- a/examples/companies/mmc/upbox-mmc-kazim-mehdi.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-kazim-mehdi - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # Mac - name: kazim-mehdi - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDUCK4M8LsmW+xw+pqtZLFCerN9mXB1NEdkqrQEsZGEQ kazim.mehdi@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-keshav-jha.yaml b/examples/companies/mmc/upbox-mmc-keshav-jha.yaml deleted file mode 100644 index 1f1618c..0000000 --- a/examples/companies/mmc/upbox-mmc-keshav-jha.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-keshav-jha - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: keshav-jha - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICQPoWG56zxS5QlPS/5tRvwEfrz1tE1KsazVHILo04Ad mgd\u1194438@USMRSMLFPTF893 diff --git a/examples/companies/mmc/upbox-mmc-lee-gordon.yaml b/examples/companies/mmc/upbox-mmc-lee-gordon.yaml deleted file mode 100644 index f653963..0000000 --- a/examples/companies/mmc/upbox-mmc-lee-gordon.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-lee-gordon - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # environemnt? - name: lee-gordon - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: diff --git a/examples/companies/mmc/upbox-mmc-len-kuykendall.yaml b/examples/companies/mmc/upbox-mmc-len-kuykendall.yaml deleted file mode 100644 index c0baa9d..0000000 --- a/examples/companies/mmc/upbox-mmc-len-kuykendall.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-len-kuykendall - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # Mac - name: len-kuykendall - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC816f6cLe66upx+WLqIxnBlqKPex1qnmgS6/5RFX/cqqZOiQzhzc+1NCXHWdGF7J6QBbRrZI08VFd1oX+RZn6YLizjQ0OhIloi9tg565N15RaadBXz2aL+GXyqaP/KfYYN9iTWKh24wI77TFYe1IJaqpdKd0nLgiKcCufT3oIDK3kmWAx0ETw6A3k1+3GOGzUChT+sBJgIkJfKgbgCxRh/leA4Um1IN0j0O+FWThki1+jq4URA3TNpiRBrMaj6/fgxsRF7VV9L3uFBG7HYZRcbBFfOGb5O7iMoNmLj5UMIwQLQwDQpAB10vffjbq4e+1K5+4SP+wxLuicxhnRbt+9n lkuykend@USWLKCLT39KJGH5.local diff --git a/examples/companies/mmc/upbox-mmc-lorenzo-bellucci.yaml b/examples/companies/mmc/upbox-mmc-lorenzo-bellucci.yaml deleted file mode 100644 index 8db4aee..0000000 --- a/examples/companies/mmc/upbox-mmc-lorenzo-bellucci.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-lorenzo-bellucci - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # environemnt? - name: lorenzo-bellucci - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: diff --git a/examples/companies/mmc/upbox-mmc-mahesh-marsh-babu.yaml b/examples/companies/mmc/upbox-mmc-mahesh-marsh-babu.yaml deleted file mode 100644 index a318c68..0000000 --- a/examples/companies/mmc/upbox-mmc-mahesh-marsh-babu.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-mahesh-marsh-babu - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # CMD - name: mahesh-marsh-babu - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzroDuerRopw+cpUle69nzgb+6DO6vkcI5ULTLFDWaD9c8YWnoAEK+mmw/5G6npmPrGL5rIQg5/ovNT+7QIe8Z1vR3dd7K16qXq2zC+gn6N6Mq/Dhu7mEDhQioKdncwf7Y3NtrK20LByuG03itxO/TYVMnCmjqc9GKW+6UCo0jvWGlz76AvTfqb+8Qj3+vb3pQ6moBZFXLLhE11pulei4Mr3wPtmfMDxInRpwzYdIilCIHLDDcKLuLiK1ss87sKEqNnEl5A3hfPMSon9dCER6rMZvKurRSL+UG0qUAx/vfDYAfvTzW/yF9oGa3S1T0CMeV4dayEL9W79U99gG2e7g9 us02p01\u864570@USMRSMLPDYV79Y3 diff --git a/examples/companies/mmc/upbox-mmc-matthew-hook.yaml b/examples/companies/mmc/upbox-mmc-matthew-hook.yaml deleted file mode 100644 index 621c1ac..0000000 --- a/examples/companies/mmc/upbox-mmc-matthew-hook.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-matthew-hook - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: matthew-hook - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHRpkE207Exx9gJe2WQBWk0jHgnp9mp8Ofy2QqFSL5Wc matt@GBBRTCLP7374DY3 diff --git a/examples/companies/mmc/upbox-mmc-michal-wesolowski.yaml b/examples/companies/mmc/upbox-mmc-michal-wesolowski.yaml deleted file mode 100644 index b8c018b..0000000 --- a/examples/companies/mmc/upbox-mmc-michal-wesolowski.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-michal-wesolowski - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: michael-wesolowski - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINZYiP9AeEVTX9rmhas0uX0CmeDozfPHat48681qv9bO michal.wesolowski@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-murtaza-usman.yaml b/examples/companies/mmc/upbox-mmc-murtaza-usman.yaml deleted file mode 100644 index 2711807..0000000 --- a/examples/companies/mmc/upbox-mmc-murtaza-usman.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-murtaza-usman - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # zsh (macOS) - name: murtaza-usman - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDgYF9Q6u+siNbtCeMTz0Bid/A4dCFbyRMEeLCl+kPUYy4h/A9bX2yNsCuWVp4R6hnJ6ukKB3oXtrnuOydeNbT5AO4QBASPoY7M970gGcRq2FeusjP5a34TjTN+u7+iRxUUsO9ISo22DzTQEgQynx3z0iwDVA7r248TD6UsQ6uPOpY3S8H8lBy7mU/5UheP7ohuaicCRyjiVvM5+r/A4/5FvT8haHYp+vpSCQEyTNYsJItDjsgC/ZMNu4jgaFFsmMZiD9KwPk1SePxVT2e0rHtUF9vXJk1zrnrSc34nJn/F+if+HY+Q05Q0WhNV/3ElSe6MINazcpg7JrKuB+7qeG1pbQGvpO5jqnz37NMdhe2dIDzcTsLs/X8TXCop8UbFtg4tRu6ifv/37bHEfgSJ10Z0/sWhx77q7DmuT0CXLyWdQN3e+p2DLe1VtI4FXw3j9+vvrMdlDg6xKBYEU/JnBzF1MlkKZeZkqjIsebLdh4WIXDdsJhea82c7vB8yHbBfnmJESLw9BMnoFtIbLtiH6FEcSEILMJngpntOax4awswyZaSBONjqR62XA1ldh9vYg1nfJutGyb3F6lc5F79VJNxPtzBf7zK3UC/eJlc8D7i7g2bJbMjDMNgr1v09bMuxaJ59FqX9H++V1BG899pZ2uyPv812I8cwkdWv6KUn7RnRCw== murtaza.usman@mercer.com diff --git a/examples/companies/mmc/upbox-mmc-naveen-reddy-mali.yaml b/examples/companies/mmc/upbox-mmc-naveen-reddy-mali.yaml deleted file mode 100644 index f484e29..0000000 --- a/examples/companies/mmc/upbox-mmc-naveen-reddy-mali.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-naveen-reddy-mali - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # environemnt? - name: naveen-reddy-mali - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJqckrNyiF80coVg/LFKJT9iBd/Z3xdFxaRWA1lYfsPc us02p01\u1257386@USHBKML7Q4QFG3 diff --git a/examples/companies/mmc/upbox-mmc-oladapo-babalola.yaml b/examples/companies/mmc/upbox-mmc-oladapo-babalola.yaml deleted file mode 100644 index 6a9540c..0000000 --- a/examples/companies/mmc/upbox-mmc-oladapo-babalola.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-oladapo-babalola - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: oladapo-babalola - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDRwgdO415hkUsMiSMLKCkIjbnO1C8Hobb2sSvq1fYPSN6lidmKAkt3sYZZTXBK9tltbu95BWSMBsLvAuUgr4n9SPVmzx9HAHxBySxwmrmJHLItrut2K0eqDORiBqwlNfxYk2Y43CsnQMnLsHuZCsU3ozWOzc7uPIrBbiCR9bGewQqLnFx3gZnoOgKlmyd+I0VIDZuxXf8dSq877Co3YIEjaSl+qKfq/aKw9NZX9mGLG6mfEisGupZKK5/hgTIfEkDRw0+HFqsc+Y7J6HnhkNz7JFv2ITuuc/ehwoyTxalYwEvS4aCnr59j50Bg1XsldYkpBMonFWi9kJzz1SKEQXRP mmc\u1322839@CATRNCLPH7Y4HW3 diff --git a/examples/companies/mmc/upbox-mmc-omkar-pathak.yaml b/examples/companies/mmc/upbox-mmc-omkar-pathak.yaml deleted file mode 100644 index d367ac0..0000000 --- a/examples/companies/mmc/upbox-mmc-omkar-pathak.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-omkar-pathak - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: omkar-pathak - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCupJ3MP70p5zX+OoQgHLpJSwFIJ4SKGllWQjGSZw/cRXSE7JlhDYgV4qQQzzyyrH71Nx2JSPEsDzRa0mWoApRauZ22PWETN4VJhFoULXgGMo+eLS7wYZAytYk54awou0MOiaoPZUAUKYA23p/vFsJf1UET1jzMdDUjcVz/KC97PKVF4whJ8dKrTm0wJiVylgDf9GTHmKKgrTnGc5F4nQeO9te7IkzEyU4U9rabDU1LAASP7AOWOd+ZWHlt8AmDpOGDkxYjtL2Vgatvk28uFn8kcApOIzaxTxiCbV6/OURKTEO3rFf6XUDuHkcx4b9YaMwKCFNnMb2mgd83iLrbX5BP6BAixcgu/5jbhj2SPn+qffw2bzPzJi32Rf2qX2u+hrmjkWqxz5787QmNk53r3DcOG+VaS5WcgIai1GyIhim4BXgJW74+R8+0wKhJCIe0QIJhj6b2GMx7G/aQcDBwyDr7IRhQFja6b+vquQrztIXmlnkYKSmPYh/kvj1I4QUf2oM= opathak@USMRSCLP2ND4X34 diff --git a/examples/companies/mmc/upbox-mmc-pankaj-sharma.yaml b/examples/companies/mmc/upbox-mmc-pankaj-sharma.yaml deleted file mode 100644 index 1820bf5..0000000 --- a/examples/companies/mmc/upbox-mmc-pankaj-sharma.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-pankaj-sharma - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # git bash, powershell - name: pankaj-sharma - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOoM0gxwLhJUkfLJaOc1XhlFIvcrlgLGeFaL69bSLQIb pankaj.sharma31@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-parmender-singh.yaml b/examples/companies/mmc/upbox-mmc-parmender-singh.yaml deleted file mode 100644 index d174f1a..0000000 --- a/examples/companies/mmc/upbox-mmc-parmender-singh.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-parmender-singh - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # git bash - name: parmender-singh - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOZfeb2qY63yrK328xV1zxmruuykci3OieVTVkuFGvze parmender.singh@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-pragadeeswar-padmanaban.yaml b/examples/companies/mmc/upbox-mmc-pragadeeswar-padmanaban.yaml deleted file mode 100644 index 5e826d4..0000000 --- a/examples/companies/mmc/upbox-mmc-pragadeeswar-padmanaban.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-pragadeeswar-padmanaban - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: pragadeeswar-padmanaban - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCzDqXMr/N6ROjvc4tpr5n4ZkVmX30AmwiFPgohBTV+OfP5PJJapqIVIGnAmfmkLpJKYCUKIwyzS/YLBupiFl4wsnLeattfFYL3nEjDFCuunQ6QAe6lUgJ+bNdsEP0vC+Rr2MJwUd0riCfF/XoqJbAlwR/zjbDTR2W688iyoC0E3o2kFsY09Y7XGFpQ2XOgveSFZD2s6BkI1aC84o372mzwmgjyv2NeFKiBO3E/J2Yqu40dERTpv4ooUrCLEk8HLO1A+YdThg8uZjmPbwk9LKFy3eL479AmnS8R3qMsbyjsNzDcblxq/0/gOwPbBQj7YI2Pg5pOvNydTRz6oRKx/PH65fbZ0qmkdb9CL8vmnN4sGiODnfupbi0Y58dzxy1NrR/9AW2nfkbTJ5tqn+i3aeFMzZAtTRhz8wQavQ8qTiyjLHT0jvJ5tfhN6nH1BvliGtvn5OlZxXrUEgyO+6jzi8b8l0S6Xtxk/SsmTH+4dAjXjxiyhfEtyt3zKQY5ydCmfyo04OXt/r4TZl3qwQEKFfP2LhZ/0LtqF04QWtTbcumfETMPr8oZjpNzdMCfnoZY6QRN3zqsvIz875uwhstbMEg1XriW23fLSieTVu9liiRR/IkJvIKbCxBuXrNnrRm5iygphH9LtMzYhv1N6tU0Nqq7TtFUykcd8fN9e7b3KiUA6Q== pragadeeswar@CATRNMLPGGM5HW3 diff --git a/examples/companies/mmc/upbox-mmc-sandip-sankpal.yaml b/examples/companies/mmc/upbox-mmc-sandip-sankpal.yaml deleted file mode 100644 index 2318b94..0000000 --- a/examples/companies/mmc/upbox-mmc-sandip-sankpal.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-sandip-sankpal - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: sandip-sankpal - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCR9G4vXjztkkL23jFMgjQUITM9jy/xEAFhvjfFQau59SHI1yjFME+Pq+jmquvteaLXqVjhjnTU+flTRBCI+DWy/eZyU/pp0OSsteE+7UvRNddaJZBE35q3obM38QShoYVXXh3ON5JvQYbO92dvj5/qf0otbKWLwmx+xufjeWm8Y1c2fWmJxFm20MLGkYv5YKhw6KBTDj7Ndzz4NwNG5kqYnkXHAWClwRaRYCENg2sD8Bbg6YoNvSz2TtCAEi72QYc0yLaf43bw71nEZjlGHoIDYpVzRE0MqV2lNPmXbpP/8KyDsMxrj9BvKfo+S9EkvZpsrJEcWn/UrfhfhwSrzYKorHVsRbj6wUuIW31J4GmWjWox9mPBTqi0cyTMx6tYahLNeYpxkmbwOPPHgS1r2aivldVRcFnzQWwkWSMa0QnvLiswkkkdyFLphARXSusliajujKB23N7tnLLy3CHi86HoZCq/kohGkTZVZlx8vLqQKP0Ms4Q2x9bK/5be13g7+v8= ssankpal@GBLDNCL30ZW5Y2 diff --git a/examples/companies/mmc/upbox-mmc-sanjeevarao-dasari.yaml b/examples/companies/mmc/upbox-mmc-sanjeevarao-dasari.yaml deleted file mode 100644 index b00604a..0000000 --- a/examples/companies/mmc/upbox-mmc-sanjeevarao-dasari.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-sanjeevarao-dasari - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # CMD - name: sanjeevarao-dasari - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXZziiRxSMgIAK7nIAKPFe6kpj2VA4XKz/sY3cu2l5aRk0f7KxO7Z6HvDv0T01DFOFcuvs82TuXhq0clskm5woN1F/DfCrYWusyqp/1ux2B3bZjM3SMo3JoV95wke5y6lDNWdEGCR+MKnE5kT75wdlq2U0JnOPb4T3x8CcwwYCpaaBNzV3x8MgrShehoUwWgD6r1VPPwg4Os9Ss16i13JQfLOA4xsJZeL5I+ggo+5smzbuMysaItJvwKE2jPJrI9HEIBS319JRA7xPSg03+9N0zWmB57+CVKnoGPAwQTPxlywokzG8Hx5EbgT1+X1GsMm+d+tom7k+BBkUeyVisjHz mmi_ca\u1151496@CATRNCLPFVRR893 diff --git a/examples/companies/mmc/upbox-mmc-shariq-ahmad.yaml b/examples/companies/mmc/upbox-mmc-shariq-ahmad.yaml deleted file mode 100644 index f5af20d..0000000 --- a/examples/companies/mmc/upbox-mmc-shariq-ahmad.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-shariq-ahmad - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # git bash - name: shariq-ahmad - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILKlsnqmnlUiMMv16/JZ0BMwVM5WP6wFPaXJfC+Ieokp shariq.ahmad@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-sushant-sonker.yaml b/examples/companies/mmc/upbox-mmc-sushant-sonker.yaml deleted file mode 100644 index f03e9b9..0000000 --- a/examples/companies/mmc/upbox-mmc-sushant-sonker.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-sushant-sonker - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # WSL - name: sushant-sonker - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFtCXyMstXkHfwVSZft/VpbxCSwTa5/vpXuJcz4ceSI2 sushant.sonker@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-utkarsh-dubey.yaml b/examples/companies/mmc/upbox-mmc-utkarsh-dubey.yaml deleted file mode 100644 index ce92a60..0000000 --- a/examples/companies/mmc/upbox-mmc-utkarsh-dubey.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-utkarsh-dubey - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # git bash - name: utkarsh-dubey - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINvU6/eBSMS5yl/HUONB8ycWBKQUoMjGdrod513xq1gk utkarsh.dubey@mmc.com diff --git a/examples/companies/mmc/upbox-mmc-vinaykumar-tawale.yaml b/examples/companies/mmc/upbox-mmc-vinaykumar-tawale.yaml deleted file mode 100644 index 573b1a9..0000000 --- a/examples/companies/mmc/upbox-mmc-vinaykumar-tawale.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-mmc-vinaykumar-tawale - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/function.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - # gitbash, powershell - name: vinaykumar-tawale - company: mmc - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDGUqtDKQsDx3xA5ApdKI0I8RmXY4CUoDIHdFJag2i6WIN6nj9HfbFenZho+W/qoe4P9eEJ3KBfyPaB1U/Xd9UR8VgZrx7TLVM21kHzd3YrL/Gz5xHrjtiyK36zv52B40NQRGLDmddI9tX+x6O3/tjqwAOpE/l5iHDd7ef0OZ6DCvDMhBmtpmgT1gwLwTjLmk0mICK2B0fp3noAKKaRwpcQaGvT+ST4UmK3A0uWEuj3Qx51yQRxx0h+5VRqZ65wVxwxjdrvAD63sCr/d+ArWcaXqY9/ThVrasfwX5qRaDU9sevXr5LE+bxDfBQyq+Mj5YxIc7uwVrQqZFpC+zD3kXo9EknUaCKlhN9l+tX0CJoAvJovezIrsUxAJ3+UJ7ljMOl14hKWeyM3THndRBYfpiMdkAlSyGeWJ92+Tvh0TZ5CazDBzsbfFcO3alOOfIPYF6JF6wbEZUKlN1AcN38l7nZwIUCrbn3j84uaX+AJMLFPHsBVtpwfxw3DH9D7LGtZ0x8= U1298348@USNYCCL40WJ7D3 diff --git a/examples/companies/upbound/upbox-mark.yaml b/examples/companies/upbound/upbox-mark.yaml deleted file mode 100644 index 7dc370e..0000000 --- a/examples/companies/upbound/upbox-mark.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-upbound-mark - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/functions.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - name: mark - company: upbound - owner: team-platform - networkId: upbox-aws-network - size: micro - publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJZhEWnKmd7jUSI/VI50J5+HJaPxS8ggefjaRR9nnVFK diff --git a/examples/companies/upbound/upbox-markus-schweig-2.yaml b/examples/companies/upbound/upbox-markus-schweig-2.yaml deleted file mode 100644 index e18c3d5..0000000 --- a/examples/companies/upbound/upbox-markus-schweig-2.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-upbound-markus-schweig-2 - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/functions.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - name: markus-schweig-2 - company: upbound - owner: team-solutions-architects - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDPPnjJrm0lsdelQifFC7lbRk8g/au4gdFKHDHcMV0NESuYO4wp0eVInQNQZIpC7onNZVK8nWJc9gggrThS1dNSI5W7J6xTwOZVYkvVicjjSpw9QG3czdBnU1Ywg52bFXbW7PoR79mpTKfMH8uY06jLZZUoFRO0E3misQUQCit/4UM3+YJHDFwvgySSb88HRduVFNslUwGCKzIFl4Ogbk9qNkmcT1o6Je+DLf+PmnbFxWur3NWuu9yLqPmyBbD2pdoCvKfaHtkilUUxw3Jeamq20emHt8o7z+QPCjrrk/Z5Qi3XUsglwTzMkz9AuuLMXPI1eKmgaj5wMyZvONg53w1P40LcrqBW1GbAa28+DIT6ucmb92bgzh9lJM4C55ONKqFaaA6UR1DY/jAq/zDR/w8tIfbyl4iTuJSRMnHEprhZBSB2gmwvT1ZShktUIEp0leWoU1SQgMdol0d13MaynmQxGsTUq8IhI84QFfWw7XuFgd8cd5SKi85Qb3l4TGq6zX8= markuss@Markuss-MacBook-Pro.local diff --git a/examples/companies/upbound/upbox-markus-schweig-3.yaml b/examples/companies/upbound/upbox-markus-schweig-3.yaml deleted file mode 100644 index 0197e37..0000000 --- a/examples/companies/upbound/upbox-markus-schweig-3.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-upbound-markus-schweig-3 - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/functions.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - name: markus-schweig-3 - company: upbound - owner: team-solutions-architects - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDPPnjJrm0lsdelQifFC7lbRk8g/au4gdFKHDHcMV0NESuYO4wp0eVInQNQZIpC7onNZVK8nWJc9gggrThS1dNSI5W7J6xTwOZVYkvVicjjSpw9QG3czdBnU1Ywg52bFXbW7PoR79mpTKfMH8uY06jLZZUoFRO0E3misQUQCit/4UM3+YJHDFwvgySSb88HRduVFNslUwGCKzIFl4Ogbk9qNkmcT1o6Je+DLf+PmnbFxWur3NWuu9yLqPmyBbD2pdoCvKfaHtkilUUxw3Jeamq20emHt8o7z+QPCjrrk/Z5Qi3XUsglwTzMkz9AuuLMXPI1eKmgaj5wMyZvONg53w1P40LcrqBW1GbAa28+DIT6ucmb92bgzh9lJM4C55ONKqFaaA6UR1DY/jAq/zDR/w8tIfbyl4iTuJSRMnHEprhZBSB2gmwvT1ZShktUIEp0leWoU1SQgMdol0d13MaynmQxGsTUq8IhI84QFfWw7XuFgd8cd5SKi85Qb3l4TGq6zX8= markuss@Markuss-MacBook-Pro.local diff --git a/examples/companies/upbound/upbox-markus-schweig-4.yaml b/examples/companies/upbound/upbox-markus-schweig-4.yaml deleted file mode 100644 index 680d931..0000000 --- a/examples/companies/upbound/upbox-markus-schweig-4.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-upbound-markus-schweig-4 - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/functions.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - name: markus-schweig-4 - company: upbound - owner: team-solutions-architects - networkId: upbox-aws-network - amiId: ami-0bee6b33d20556794 - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDPPnjJrm0lsdelQifFC7lbRk8g/au4gdFKHDHcMV0NESuYO4wp0eVInQNQZIpC7onNZVK8nWJc9gggrThS1dNSI5W7J6xTwOZVYkvVicjjSpw9QG3czdBnU1Ywg52bFXbW7PoR79mpTKfMH8uY06jLZZUoFRO0E3misQUQCit/4UM3+YJHDFwvgySSb88HRduVFNslUwGCKzIFl4Ogbk9qNkmcT1o6Je+DLf+PmnbFxWur3NWuu9yLqPmyBbD2pdoCvKfaHtkilUUxw3Jeamq20emHt8o7z+QPCjrrk/Z5Qi3XUsglwTzMkz9AuuLMXPI1eKmgaj5wMyZvONg53w1P40LcrqBW1GbAa28+DIT6ucmb92bgzh9lJM4C55ONKqFaaA6UR1DY/jAq/zDR/w8tIfbyl4iTuJSRMnHEprhZBSB2gmwvT1ZShktUIEp0leWoU1SQgMdol0d13MaynmQxGsTUq8IhI84QFfWw7XuFgd8cd5SKi85Qb3l4TGq6zX8= markuss@Markuss-MacBook-Pro.local diff --git a/examples/companies/upbound/upbox-markus-schweig.yaml b/examples/companies/upbound/upbox-markus-schweig.yaml deleted file mode 100644 index ed1dd85..0000000 --- a/examples/companies/upbound/upbox-markus-schweig.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Upbox -metadata: - name: upbox-upbound-markus-schweig - annotations: - render.crossplane.io/composition-path: apis/upbox/composition.yaml - render.crossplane.io/function-path: examples/functions.yaml - render.crossplane.io/definition-path: apis/upbox/definition.yaml -spec: - # To connect from the AWS Console to the instance, see - # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html - parameters: - name: markus-schweig - company: upbound - owner: team-solutions-architects - networkId: upbox-aws-network - size: micro - publicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDPPnjJrm0lsdelQifFC7lbRk8g/au4gdFKHDHcMV0NESuYO4wp0eVInQNQZIpC7onNZVK8nWJc9gggrThS1dNSI5W7J6xTwOZVYkvVicjjSpw9QG3czdBnU1Ywg52bFXbW7PoR79mpTKfMH8uY06jLZZUoFRO0E3misQUQCit/4UM3+YJHDFwvgySSb88HRduVFNslUwGCKzIFl4Ogbk9qNkmcT1o6Je+DLf+PmnbFxWur3NWuu9yLqPmyBbD2pdoCvKfaHtkilUUxw3Jeamq20emHt8o7z+QPCjrrk/Z5Qi3XUsglwTzMkz9AuuLMXPI1eKmgaj5wMyZvONg53w1P40LcrqBW1GbAa28+DIT6ucmb92bgzh9lJM4C55ONKqFaaA6UR1DY/jAq/zDR/w8tIfbyl4iTuJSRMnHEprhZBSB2gmwvT1ZShktUIEp0leWoU1SQgMdol0d13MaynmQxGsTUq8IhI84QFfWw7XuFgd8cd5SKi85Qb3l4TGq6zX8= markuss@Markuss-MacBook-Pro.local diff --git a/examples/configuration-aws-network.yaml b/examples/configuration-aws-network.yaml new file mode 100644 index 0000000..90e0cef --- /dev/null +++ b/examples/configuration-aws-network.yaml @@ -0,0 +1,6 @@ +apiVersion: pkg.crossplane.io/v1 +kind: Configuration +metadata: + name: configuration-aws-network +spec: + package: xpkg.upbound.io/upbound/configuration-aws-network:v0.24.0 diff --git a/examples/configuration.yaml b/examples/configuration.yaml deleted file mode 100644 index 0de2ed4..0000000 --- a/examples/configuration.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: pkg.crossplane.io/v1 -kind: Configuration -metadata: - name: configuration-upbox-network -spec: - package: xpkg.upbound.io/upbound/upbound-upbox-network:v0.0.1 ---- -apiVersion: pkg.crossplane.io/v1 -kind: Configuration -metadata: - name: configuration-upbox -spec: - package: xpkg.upbound.io/upbound/upbound-upbox:v0.0.1 diff --git a/examples/function.yaml b/examples/function.yaml deleted file mode 100644 index 58c16ca..0000000 --- a/examples/function.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: pkg.crossplane.io/v1beta1 -kind: Function -metadata: - name: crossplane-contrib-function-go-templating -spec: - package: xpkg.upbound.io/crossplane-contrib/function-go-templating:v0.4.1 ---- -apiVersion: pkg.crossplane.io/v1beta1 -kind: Function -metadata: - name: crossplane-contrib-function-auto-ready -spec: - package: xpkg.upbound.io/crossplane-contrib/function-auto-ready:v0.3.0 diff --git a/examples/network.yaml b/examples/network.yaml deleted file mode 100644 index 5c083b5..0000000 --- a/examples/network.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: aws.platform.upbound.io/v1alpha1 -kind: Network -metadata: - name: upbox-aws-network - annotations: - render.crossplane.io/composition-path: apis/network/composition.yaml - render.crossplane.io/function-path: examples/functions.yaml - render.crossplane.io/definition-path: apis/network/definition.yaml -spec: - parameters: - id: upbox-aws-network - region: us-east-1 - vpcCidrBlock: 192.168.0.0/16 - subnets: - - availabilityZone: us-east-1a - type: public - cidrBlock: 192.168.0.0/18 - deletionPolicy: Orphan - providerConfigName: aws diff --git a/examples/provider.yaml b/examples/provider.yaml deleted file mode 100644 index face3d3..0000000 --- a/examples/provider.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -apiVersion: pkg.crossplane.io/v1 -kind: Provider -metadata: - name: provider-aws-ec2 -spec: - package: xpkg.upbound.io/upbound/provider-aws-ec2:v1.15.0 diff --git a/examples/providerconfig-aws.yaml b/examples/providerconfig-upbound.yaml similarity index 58% rename from examples/providerconfig-aws.yaml rename to examples/providerconfig-upbound.yaml index be65aef..9c5691f 100644 --- a/examples/providerconfig-aws.yaml +++ b/examples/providerconfig-upbound.yaml @@ -1,10 +1,10 @@ apiVersion: aws.upbound.io/v1beta1 kind: ProviderConfig metadata: - name: aws + name: default spec: credentials: source: Upbound upbound: webIdentity: - roleARN: arn:aws:iam::418295723810:role/upbox-ctp + roleARN: arn:aws:iam::609897127049:role/solutions-upboundcare-provider-aws diff --git a/examples/upbox/example.yaml b/examples/upbox/example.yaml new file mode 100644 index 0000000..d67f61b --- /dev/null +++ b/examples/upbox/example.yaml @@ -0,0 +1,13 @@ +apiVersion: aws.platform.upbound.io/v1alpha1 +kind: Upbox +metadata: + name: example +spec: + parameters: + company: mmc + owner: team-platform + networkId: upbox-aws-network + size: micro + publicKey: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKoZQbAbTmEQmFzsRwY1Qc9WEY3EPuryShqu1whWYCDt tobias.kasser@upbound.io" + amiId: "ami-0ed58ee98310859ee" + zone: a diff --git a/examples/upboxset/example.yaml b/examples/upboxset/example.yaml new file mode 100644 index 0000000..6e926a3 --- /dev/null +++ b/examples/upboxset/example.yaml @@ -0,0 +1,16 @@ +apiVersion: aws.platform.upbound.io/v1alpha1 +kind: UpboxSet +metadata: + name: example +spec: + parameters: + company: upbound + owner: team-solutions + networkId: upbox-aws-network + size: micro + amiId: "ami-0b3d63e88dd60b19c" + users: + yury: + publicKey: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMXbvrMf29K2T/ubkmMlA4ER5NxJ+GlTqAkjF5rX/Mv yury@upbound.io" + tobias: + publicKey: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKoZQbAbTmEQmFzsRwY1Qc9WEY3EPuryShqu1whWYCDt tobias.kasser@upbound.io" diff --git a/examples/xnetwork.yaml b/examples/xnetwork.yaml new file mode 100644 index 0000000..d1ae384 --- /dev/null +++ b/examples/xnetwork.yaml @@ -0,0 +1,22 @@ +apiVersion: aws.platform.upbound.io/v1alpha1 +kind: XNetwork +metadata: + name: upbox-aws-network +spec: + parameters: + id: upbox-aws-network + region: eu-west-1 + vpcCidrBlock: 192.168.0.0/16 + subnets: + - availabilityZone: eu-west-1a + type: public + cidrBlock: 192.168.0.0/18 + - availabilityZone: eu-west-1b + type: public + cidrBlock: 192.168.64.0/18 + - availabilityZone: eu-west-1a + type: private + cidrBlock: 192.168.128.0/18 + - availabilityZone: eu-west-1b + type: private + cidrBlock: 192.168.192.0/18 diff --git a/functions/.gitkeep b/functions/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/functions/upbox/kcl.mod b/functions/upbox/kcl.mod new file mode 100644 index 0000000..5ade68c --- /dev/null +++ b/functions/upbox/kcl.mod @@ -0,0 +1,6 @@ +[package] +name = "xupbox" +version = "0.0.1" + +[dependencies] +models = { path = "./model" } diff --git a/functions/upbox/kcl.mod.lock b/functions/upbox/kcl.mod.lock new file mode 100644 index 0000000..2063f93 --- /dev/null +++ b/functions/upbox/kcl.mod.lock @@ -0,0 +1,5 @@ +[dependencies] + [dependencies.models] + name = "models" + full_name = "models_0.0.1" + version = "0.0.1" diff --git a/functions/upbox/main.k b/functions/upbox/main.k new file mode 100644 index 0000000..0ddd58c --- /dev/null +++ b/functions/upbox/main.k @@ -0,0 +1,173 @@ +import models.io.upbound.aws.ec2.v1beta1 as ec2v1beta1 +import models.io.upbound.platform.aws.v1alpha1 as platformawsv1alpha1 + +oxr = platformawsv1alpha1.Upbox {**option("params").oxr} +_ocds = option("params").ocds +extraResources = option("params")?.extraResources + +_metadata = lambda name: str -> any { + { + annotations = {"krm.kcl.dev/composition-resource-name" = name} + } +} + +id = "upbox-{}-{}".format(oxr.spec.parameters.company, oxr.metadata.name) + +_vpc = Undefined + +if extraResources.vpc: + assert len(extraResources.vpc) == 1, "Error: more than one VPC matches specified labels!" + _vpc = ec2v1beta1.VPC{**extraResources.vpc[0].Resource} or Undefined + +_items = [] + +_items = [ + platformawsv1alpha1.Upbox { + spec = { + parameters = { + company = oxr.spec.parameters.company + owner = oxr.spec.parameters.owner + publicKey = oxr.spec.parameters.publicKey + } + } + status = { + id = id + instanceId = _ocds.instance?.Resource?.status?.atProvider?.id or "" + publicIp = _ocds.instance?.Resource?.status?.atProvider?.publicIp or "" + } + } + # pull region from network + { + apiVersion: "meta.krm.kcl.dev/v1alpha1" + kind: "ExtraResources" + requirements = { + vpc = { + apiVersion = "ec2.aws.upbound.io/v1beta1" + kind = "VPC" + matchLabels = { + "networks.aws.platform.upbound.io/network-id" = oxr.spec.parameters.networkId + } + } + } + } +] + +if _vpc: + _items += [ + ec2v1beta1.Instance { + metadata = { + **_metadata("instance") + labels = { + "upbox.aws.platform.upbound.io/id" = id + "upbox.aws.platform.upbound.io/owner" = oxr.spec.parameters.owner + } + } + spec = { + forProvider = { + region = _vpc.spec.forProvider.region + instanceType = "t4g.{}".format(oxr.spec.parameters.size) + associatePublicIpAddress = True + subnetIdSelector = { + matchLabels = { + "networks.aws.platform.upbound.io/network-id" = oxr.spec.parameters.networkId + access = "public" + zone = "{}{}".format(_vpc.spec.forProvider.region, oxr.spec.parameters.zone) + } + } + vpcSecurityGroupIdSelector = { + matchControllerRef = True + } + ami = oxr.spec.parameters.amiId + keyName = id + tags = { + Name = id + } + } + providerConfigRef = { + name = oxr.spec.parameters.providerConfigName + } + } + } + ec2v1beta1.SecurityGroup { + metadata = _metadata("sg") + spec = { + forProvider = { + description = "Allow all access" + name = id + vpcIdSelector = { + matchLabels = { + "networks.aws.platform.upbound.io/network-id" = oxr.spec.parameters.networkId + } + } + region = _vpc.spec.forProvider.region + } + providerConfigRef = { + name = oxr.spec.parameters.providerConfigName + } + } + } + ec2v1beta1.SecurityGroupRule { + metadata = _metadata("sgr-ssh") + spec = { + forProvider = { + cidrBlocks = [ + "0.0.0.0/0" + ] + description = "SSH access from everywhere" + fromPort = 22 + protocol = "tcp" + securityGroupIdSelector = { + matchControllerRef = True + } + toPort = 22 + type = "ingress" + region = _vpc.spec.forProvider.region + } + providerConfigRef = { + name = oxr.spec.parameters.providerConfigName + } + } + } + ec2v1beta1.SecurityGroupRule { + metadata = _metadata("sgr-outbound-all") + spec = { + forProvider = { + cidrBlocks = [ + "0.0.0.0/0" + ] + description = "Allow all outbound traffic" + fromPort = 0 + protocol = "-1" + securityGroupIdSelector = { + matchControllerRef = True + } + toPort = 0 + type = "egress" + region = _vpc.spec.forProvider.region + } + providerConfigRef = { + name = oxr.spec.parameters.providerConfigName + } + } + } + ec2v1beta1.KeyPair { + metadata = { + **_metadata("key") + name = id + labels = { + "upbox.aws.platform.upbound.io/id" = id + } + } + spec = { + forProvider = { + publicKey = oxr.spec.parameters.publicKey + region = _vpc.spec.forProvider.region + } + providerConfigRef = { + name = oxr.spec.parameters.providerConfigName + } + } + } + ] + +items = _items diff --git a/functions/upbox/model b/functions/upbox/model new file mode 120000 index 0000000..faff6e4 --- /dev/null +++ b/functions/upbox/model @@ -0,0 +1 @@ +../../.up/kcl/models \ No newline at end of file diff --git a/functions/upboxset/kcl.mod b/functions/upboxset/kcl.mod new file mode 100644 index 0000000..9baf7fd --- /dev/null +++ b/functions/upboxset/kcl.mod @@ -0,0 +1,6 @@ +[package] +name = "upboxset" +version = "0.0.1" + +[dependencies] +models = { path = "./model" } diff --git a/functions/upboxset/kcl.mod.lock b/functions/upboxset/kcl.mod.lock new file mode 100644 index 0000000..2063f93 --- /dev/null +++ b/functions/upboxset/kcl.mod.lock @@ -0,0 +1,5 @@ +[dependencies] + [dependencies.models] + name = "models" + full_name = "models_0.0.1" + version = "0.0.1" diff --git a/functions/upboxset/main.k b/functions/upboxset/main.k new file mode 100644 index 0000000..82a9f94 --- /dev/null +++ b/functions/upboxset/main.k @@ -0,0 +1,34 @@ +import models.io.upbound.platform.aws.v1alpha1 as platformawsv1alpha1 + +oxr = platformawsv1alpha1.UpboxSet{**option("params").oxr} + +_metadata = lambda name: str -> any { + { annotations = { "krm.kcl.dev/composition-resource-name" = name }} +} + +_items = [ + platformawsv1alpha1.Upbox{ + metadata = { + **_metadata("upbox-{}".format(user)) + name = "{}-{}-{}".format(oxr.spec.parameters.company, oxr.spec.parameters.owner, user) + labels = { + "upbox.aws.platform.upbound.io/owner" = oxr.spec.parameters.owner + "upbox.aws.platform.upbound.io/company" = oxr.spec.parameters.company + } + } + spec = { + parameters = { + company = oxr.spec.parameters.company + owner = oxr.spec.parameters.owner # Changed from networkId to owner + size = oxr.spec.parameters.size + amiId = oxr.spec.parameters.amiId + zone = oxr.spec.parameters.zone + networkId = oxr.spec.parameters.networkId + publicKey = oxr.spec.parameters.users[user].publicKey + providerConfigName = oxr.spec.parameters.providerConfigName + } + } + } for user in oxr.spec.parameters.users +] + +items = _items diff --git a/functions/upboxset/model b/functions/upboxset/model new file mode 120000 index 0000000..faff6e4 --- /dev/null +++ b/functions/upboxset/model @@ -0,0 +1 @@ +../../.up/kcl/models \ No newline at end of file diff --git a/scripts/ec2-upbound-install.sh b/scripts/ec2-upbound-install.sh deleted file mode 100644 index f762033..0000000 --- a/scripts/ec2-upbound-install.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -sudo yum update -y -sudo yum install git -y -sudo yum install jq -y -sudo yum install lynx -y -sudo yum install tree -y -sudo yum install zsh -y -sudo amazon-linux-extras install docker -sudo service docker start -sudo usermod -a -G docker ec2-user -sudo chkconfig docker on - -curl -sL "https://cli.upbound.io" | sh -sudo mv up /usr/local/bin/ -curl -sL "https://raw.githubusercontent.com/crossplane/crossplane/main/install.sh" | sh -sudo mv crossplane /usr/local/bin -curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl" -chmod +x ./kubectl -sudo mv ./kubectl /usr/local/bin -curl -sSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash - - -# scp UpboundCare selected training material to the instance -# scp or download .oh-my-zsh diff --git a/tests/e2etest-upbox/kcl.mod b/tests/e2etest-upbox/kcl.mod new file mode 100644 index 0000000..dc49c07 --- /dev/null +++ b/tests/e2etest-upbox/kcl.mod @@ -0,0 +1,6 @@ +[package] +name = "e2etest-upbox" +version = "0.0.1" + +[dependencies] +models = { path = "./model" } \ No newline at end of file diff --git a/tests/e2etest-upbox/kcl.mod.lock b/tests/e2etest-upbox/kcl.mod.lock new file mode 100644 index 0000000..2063f93 --- /dev/null +++ b/tests/e2etest-upbox/kcl.mod.lock @@ -0,0 +1,5 @@ +[dependencies] + [dependencies.models] + name = "models" + full_name = "models_0.0.1" + version = "0.0.1" diff --git a/tests/e2etest-upbox/main.k b/tests/e2etest-upbox/main.k new file mode 100644 index 0000000..457b1da --- /dev/null +++ b/tests/e2etest-upbox/main.k @@ -0,0 +1,98 @@ +import models.io.upbound.aws.v1beta1 as awsv1beta1 +import models.io.upbound.dev.meta.v1alpha1 as metav1alpha1 +import models.io.upbound.platform.aws.v1alpha1 as platformawsv1alpha1 + + +_items = [ + metav1alpha1.E2ETest{ + metadata.name: "" + spec= { + crossplane.autoUpgrade.channel: "Rapid" + defaultConditions: ["Ready"] + manifests: [ + platformawsv1alpha1.Upbox{ + metadata = { + name = "example" + } + spec = { + parameters = { + company = "mmc" + owner = "team-platform" + networkId = "upbox-aws-network" + size = "micro" + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKoZQbAbTmEQmFzsRwY1Qc9WEY3EPuryShqu1whWYCDt tobias.kasser@upbound.io" + amiId = "ami-091895d48e13d0cce" + zone = "a" + } + } + } + ] + extraResources: [ + { + apiVersion = "pkg.crossplane.io/v1" + kind = "Configuration" + metadata = { + name = "configuration-aws-network" + } + spec = { + package = "xpkg.upbound.io/upbound/configuration-aws-network:v0.24.0" + } + } + { + apiVersion = "aws.platform.upbound.io/v1alpha1" + kind = "XNetwork" + metadata = { + name = "upbox-aws-network" + } + spec = { + parameters = { + id = "upbox-aws-network" + region = "eu-west-1" + vpcCidrBlock = "192.168.0.0/16" + subnets = [ + { + availabilityZone = "eu-west-1a" + $type = "public" + cidrBlock = "192.168.0.0/18" + } + { + availabilityZone = "eu-west-1b" + $type = "public" + cidrBlock = "192.168.64.0/18" + } + { + availabilityZone = "eu-west-1a" + $type = "private" + cidrBlock = "192.168.128.0/18" + } + { + availabilityZone = "eu-west-1b" + $type = "private" + cidrBlock = "192.168.192.0/18" + } + ] + } + } + } + awsv1beta1.ProviderConfig{ + metadata = { + name = "default" + } + spec = { + credentials = { + source = "Upbound" + upbound = { + webIdentity = { + roleARN = "arn:aws:iam::609897127049:role/solutions-e2e-provider-aws" + } + } + } + } + } + ] + skipDelete: False + timeoutSeconds: 4500 + } + } +] +items= _items diff --git a/tests/e2etest-upbox/model b/tests/e2etest-upbox/model new file mode 120000 index 0000000..faff6e4 --- /dev/null +++ b/tests/e2etest-upbox/model @@ -0,0 +1 @@ +../../.up/kcl/models \ No newline at end of file diff --git a/tests/e2etest-upboxset/kcl.mod b/tests/e2etest-upboxset/kcl.mod new file mode 100644 index 0000000..a6e7949 --- /dev/null +++ b/tests/e2etest-upboxset/kcl.mod @@ -0,0 +1,6 @@ +[package] +name = "e2etest-upboxset" +version = "0.0.1" + +[dependencies] +models = { path = "./model" } \ No newline at end of file diff --git a/tests/e2etest-upboxset/kcl.mod.lock b/tests/e2etest-upboxset/kcl.mod.lock new file mode 100644 index 0000000..2063f93 --- /dev/null +++ b/tests/e2etest-upboxset/kcl.mod.lock @@ -0,0 +1,5 @@ +[dependencies] + [dependencies.models] + name = "models" + full_name = "models_0.0.1" + version = "0.0.1" diff --git a/tests/e2etest-upboxset/main.k b/tests/e2etest-upboxset/main.k new file mode 100644 index 0000000..9411471 --- /dev/null +++ b/tests/e2etest-upboxset/main.k @@ -0,0 +1,105 @@ +import models.io.upbound.aws.v1beta1 as awsv1beta1 +import models.io.upbound.dev.meta.v1alpha1 as metav1alpha1 + + +_items = [ + metav1alpha1.E2ETest{ + metadata.name: "" + spec= { + crossplane.autoUpgrade.channel: "Rapid" + defaultConditions: ["Ready"] + manifests: [ + { + apiVersion = "aws.platform.upbound.io/v1alpha1" + kind = "UpboxSet" + metadata = { + name = "example" + } + spec = { + parameters = { + company = "upbound" + owner = "team-solutions" + networkId = "upbox-aws-network" + size = "micro" + amiId = "ami-091895d48e13d0cce" + users = { + yury = { + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMXbvrMf29K2T/ubkmMlA4ER5NxJ+GlTqAkjF5rX/Mv yury@upbound.io" + } + tobias = { + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKoZQbAbTmEQmFzsRwY1Qc9WEY3EPuryShqu1whWYCDt tobias.kasser@upbound.io" + } + } + } + } + } + ] + extraResources: [ + { + apiVersion = "pkg.crossplane.io/v1" + kind = "Configuration" + metadata = { + name = "configuration-aws-network" + } + spec = { + package = "xpkg.upbound.io/upbound/configuration-aws-network:v0.24.0" + } + } + { + apiVersion = "aws.platform.upbound.io/v1alpha1" + kind = "XNetwork" + metadata = { + name = "upbox-aws-network" + } + spec = { + parameters = { + id = "upbox-aws-network" + region = "eu-west-1" + vpcCidrBlock = "192.168.0.0/16" + subnets = [ + { + availabilityZone = "eu-west-1a" + $type = "public" + cidrBlock = "192.168.0.0/18" + } + { + availabilityZone = "eu-west-1b" + $type = "public" + cidrBlock = "192.168.64.0/18" + } + { + availabilityZone = "eu-west-1a" + $type = "private" + cidrBlock = "192.168.128.0/18" + } + { + availabilityZone = "eu-west-1b" + $type = "private" + cidrBlock = "192.168.192.0/18" + } + ] + } + } + } + awsv1beta1.ProviderConfig{ + metadata = { + name = "default" + } + spec = { + credentials = { + source = "Upbound" + upbound = { + webIdentity = { + roleARN = "arn:aws:iam::609897127049:role/solutions-e2e-provider-aws" + } + } + } + } + } + ] + skipDelete: False + timeoutSeconds: 4500 + } + } +] +items= _items diff --git a/tests/e2etest-upboxset/model b/tests/e2etest-upboxset/model new file mode 120000 index 0000000..faff6e4 --- /dev/null +++ b/tests/e2etest-upboxset/model @@ -0,0 +1 @@ +../../.up/kcl/models \ No newline at end of file diff --git a/tests/test-upbox/kcl.mod b/tests/test-upbox/kcl.mod new file mode 100644 index 0000000..039f960 --- /dev/null +++ b/tests/test-upbox/kcl.mod @@ -0,0 +1,6 @@ +[package] +name = "test-upbox" +version = "0.0.1" + +[dependencies] +models = { path = "./model" } \ No newline at end of file diff --git a/tests/test-upbox/kcl.mod.lock b/tests/test-upbox/kcl.mod.lock new file mode 100644 index 0000000..2063f93 --- /dev/null +++ b/tests/test-upbox/kcl.mod.lock @@ -0,0 +1,5 @@ +[dependencies] + [dependencies.models] + name = "models" + full_name = "models_0.0.1" + version = "0.0.1" diff --git a/tests/test-upbox/main.k b/tests/test-upbox/main.k new file mode 100644 index 0000000..cf52dd4 --- /dev/null +++ b/tests/test-upbox/main.k @@ -0,0 +1,197 @@ +import models.io.upbound.aws.ec2.v1beta1 as ec2v1beta1 +import models.io.upbound.dev.meta.v1alpha1 as metav1alpha1 + +_items = [ + metav1alpha1.CompositionTest{ + metadata.name: "" + spec= { + assertResources: [ + { + apiVersion = "aws.platform.upbound.io/v1alpha1" + kind = "Upbox" + metadata = { + name = "example" + } + } + ec2v1beta1.Instance{ + metadata = { + annotations = { + "crossplane.io/composition-resource-name" = "instance" + } + generateName = "example-" + labels = { + "crossplane.io/composite" = "example" + "upbox.aws.platform.upbound.io/id" = "upbox-mmc-example" + "upbox.aws.platform.upbound.io/owner" = "team-platform" + } + } + spec = { + deletionPolicy = "Delete" + forProvider = { + ami = "ami-0ed58ee98310859ee" + associatePublicIpAddress = True + instanceType = "t4g.micro" + keyName = "upbox-mmc-example" + region = "us-west-2" + subnetIdSelector = { + matchLabels = { + access = "public" + "networks.aws.platform.upbound.io/network-id" = "upbox-aws-network" + zone = "us-west-2a" + } + } + tags = { + Name = "upbox-mmc-example" + } + vpcSecurityGroupIdSelector = { + matchControllerRef = True + } + } + managementPolicies = [ + "*" + ] + providerConfigRef = { + name = "default" + } + } + } + ec2v1beta1.KeyPair{ + metadata = { + annotations = { + "crossplane.io/composition-resource-name" = "key" + } + generateName = "example-" + labels = { + "crossplane.io/composite" = "example" + "upbox.aws.platform.upbound.io/id" = "upbox-mmc-example" + } + name = "upbox-mmc-example" + } + spec = { + deletionPolicy = "Delete" + forProvider = { + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKoZQbAbTmEQmFzsRwY1Qc9WEY3EPuryShqu1whWYCDt tobias.kasser@upbound.io" + region = "us-west-2" + } + managementPolicies = [ + "*" + ] + providerConfigRef = { + name = "default" + } + } + } + ec2v1beta1.SecurityGroup{ + metadata = { + annotations = { + "crossplane.io/composition-resource-name" = "sg" + } + generateName = "example-" + labels = { + "crossplane.io/composite" = "example" + } + } + spec = { + deletionPolicy = "Delete" + forProvider = { + description = "Allow all access" + name = "upbox-mmc-example" + region = "us-west-2" + vpcIdSelector = { + matchLabels = { + "networks.aws.platform.upbound.io/network-id" = "upbox-aws-network" + } + } + } + managementPolicies = [ + "*" + ] + } + } + ec2v1beta1.SecurityGroupRule{ + metadata = { + annotations = { + "crossplane.io/composition-resource-name" = "sgr-outbound-all" + } + generateName = "example-" + labels = { + "crossplane.io/composite" = "example" + } + } + spec = { + deletionPolicy = "Delete" + forProvider = { + cidrBlocks = [ + "0.0.0.0/0" + ] + description = "Allow all outbound traffic" + fromPort = 0 + $protocol = "-1" + region = "us-west-2" + securityGroupIdSelector = { + matchControllerRef = True + } + toPort = 0 + $type = "egress" + } + managementPolicies = [ + "*" + ] + } + } + ec2v1beta1.SecurityGroupRule{ + metadata = { + annotations = { + "crossplane.io/composition-resource-name" = "sgr-ssh" + } + generateName = "example-" + labels = { + "crossplane.io/composite" = "example" + } + } + spec = { + deletionPolicy = "Delete" + forProvider = { + cidrBlocks = [ + "0.0.0.0/0" + ] + description = "SSH access from everywhere" + fromPort = 22 + $protocol = "tcp" + region = "us-west-2" + securityGroupIdSelector = { + matchControllerRef = True + } + toPort = 22 + $type = "ingress" + } + managementPolicies = [ + "*" + ] + } + } + ] + extraResources = [ + ec2v1beta1.VPC{ + metadata = { + labels = { + "networks.aws.platform.upbound.io/network-id" = "upbox-aws-network" + } + name = "some-vpc" + } + spec = { + forProvider = { + region = "us-west-2" + } + } + } + ] + compositionPath: "apis/upboxes/composition.yaml" + xrPath: "examples/upbox/example.yaml" + xrdPath: "apis/upboxes/definition.yaml" + timeoutSeconds: 60 + validate: False + } + } +] +items= _items diff --git a/tests/test-upbox/model b/tests/test-upbox/model new file mode 120000 index 0000000..faff6e4 --- /dev/null +++ b/tests/test-upbox/model @@ -0,0 +1 @@ +../../.up/kcl/models \ No newline at end of file diff --git a/tests/test-upboxset/kcl.mod b/tests/test-upboxset/kcl.mod new file mode 100644 index 0000000..5921ee7 --- /dev/null +++ b/tests/test-upboxset/kcl.mod @@ -0,0 +1,6 @@ +[package] +name = "test-upboxset" +version = "0.0.1" + +[dependencies] +models = { path = "./model" } \ No newline at end of file diff --git a/tests/test-upboxset/kcl.mod.lock b/tests/test-upboxset/kcl.mod.lock new file mode 100644 index 0000000..2063f93 --- /dev/null +++ b/tests/test-upboxset/kcl.mod.lock @@ -0,0 +1,5 @@ +[dependencies] + [dependencies.models] + name = "models" + full_name = "models_0.0.1" + version = "0.0.1" diff --git a/tests/test-upboxset/main.k b/tests/test-upboxset/main.k new file mode 100644 index 0000000..7f9dffc --- /dev/null +++ b/tests/test-upboxset/main.k @@ -0,0 +1,93 @@ +import models.io.upbound.dev.meta.v1alpha1 as metav1alpha1 +import models.io.upbound.aws.ec2.v1beta1 as ec2v1beta1 +import models.io.upbound.platform.aws.v1alpha1 as platformawsv1alpha1 + +_items = [ + metav1alpha1.CompositionTest{ + metadata.name: "" + spec= { + assertResources: [ + { + apiVersion = "aws.platform.upbound.io/v1alpha1" + kind = "UpboxSet" + metadata = { + name = "example" + } + } + platformawsv1alpha1.Upbox{ + metadata = { + annotations = { + "crossplane.io/composition-resource-name" = "upbox-tobias" + } + generateName = "example-" + labels = { + "crossplane.io/composite" = "example" + "upbox.aws.platform.upbound.io/company" = "upbound" + "upbox.aws.platform.upbound.io/owner" = "team-solutions" + } + name = "upbound-team-solutions-tobias" + } + spec = { + parameters = { + amiId = "ami-0b3d63e88dd60b19c" + company = "upbound" + networkId = "upbox-aws-network" + owner = "team-solutions" + providerConfigName = "default" + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKoZQbAbTmEQmFzsRwY1Qc9WEY3EPuryShqu1whWYCDt tobias.kasser@upbound.io" + size = "micro" + zone = "a" + } + } + } + platformawsv1alpha1.Upbox{ + metadata = { + annotations = { + "crossplane.io/composition-resource-name" = "upbox-yury" + } + generateName = "example-" + labels = { + "crossplane.io/composite" = "example" + "upbox.aws.platform.upbound.io/company" = "upbound" + "upbox.aws.platform.upbound.io/owner" = "team-solutions" + } + name = "upbound-team-solutions-yury" + } + spec = { + parameters = { + amiId = "ami-0b3d63e88dd60b19c" + company = "upbound" + networkId = "upbox-aws-network" + owner = "team-solutions" + providerConfigName = "default" + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMXbvrMf29K2T/ubkmMlA4ER5NxJ+GlTqAkjF5rX/Mv yury@upbound.io" + size = "micro" + zone = "a" + } + } + } + ] + extraResources = [ + ec2v1beta1.VPC{ + metadata = { + labels = { + "networks.aws.platform.upbound.io/network-id" = "upbox-aws-network" + } + name = "some-vpc" + } + spec = { + forProvider = { + region = "us-west-2" + } + } + } + ] + compositionPath: "apis/upboxsets/composition.yaml" + xrPath: "examples/upboxset/example.yaml" + xrdPath: "apis/upboxsets/definition.yaml" + timeoutSeconds: 60 + validate: False + } + } +] +items= _items diff --git a/tests/test-upboxset/model b/tests/test-upboxset/model new file mode 120000 index 0000000..faff6e4 --- /dev/null +++ b/tests/test-upboxset/model @@ -0,0 +1 @@ +../../.up/kcl/models \ No newline at end of file diff --git a/upbound.yaml b/upbound.yaml new file mode 100644 index 0000000..57e1b9d --- /dev/null +++ b/upbound.yaml @@ -0,0 +1,41 @@ +apiVersion: meta.dev.upbound.io/v1alpha1 +kind: Project +metadata: + name: configuration-upbox +spec: + dependsOn: + - provider: xpkg.upbound.io/upbound/provider-aws-ec2 + version: v1 + - function: xpkg.upbound.io/crossplane-contrib/function-auto-ready + version: '>=v0.0.0' + description: Upbox is a solution for providing automated cloud lab environments for 3rd Party Developers and Training Attendees. + license: Apache-2.0 + maintainer: Upbound + readme: | + # Upbox + + Upbox is a solution for providing automated cloud lab environments for 3rd Party Developers and Training Attendees. + + ## Prerequisites + + - AWS Provider Configuration + - XNetwork resource (provides VPC, subnet, and security group infrastructure) + + ## Quick Start + + 1. Set up the network infrastructure: + ```bash + kubectl apply -f examples/configuration-aws-network.yaml + kubectl apply -f examples/xnetwork.yaml + ``` + + 2. Create an UpboxSet (for training sessions) or individual Upboxes: + ```bash + # For a training session with multiple participants + kubectl apply -f examples/upboxset/example.yaml + + # For an individual lab environment + kubectl apply -f examples/upbox/example.yaml + ``` + repository: xpkg.upbound.io/upbound/configuration-upbox + source: github.com/upbound/upbox