-
Notifications
You must be signed in to change notification settings - Fork 54
terraform: Azure Marketplace image support #2651
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
34 commits
Select commit
Hold shift + click to select a range
07e3d7e
terraform: add Azure marketplace variable
msanft 96611e4
config: add Azure marketplace variable
msanft 339aacb
cli: use Terraform variables from config
msanft 20bb587
terraform: pass down marketplace variable
msanft 8eb400e
image: pad Azure images to 1GiB
msanft 4244fec
terraform: add version attribute to marketplace image
msanft 3206425
semver: allow versions to be exported without prefix
msanft 4fdb853
cli: boolean var to use marketplace images
msanft a2fa034
config: remove dive key
msanft dca944c
dev-docs: add instructions on how to use marketplace images
msanft 572d1dd
terraform: fix unit test
msanft 3c48fa9
terraform: only fetch image for non-marketplace images
msanft 54b17ea
mpimage: refactor image selection
msanft 0e7ac90
[remove] increase minor version for image build
msanft 39e90eb
terraform: ignore changes to source_image_reference on upgrade
msanft 2881aa2
operator: add support for parsing Azure marketplace images
msanft 8ff7c3f
upgrade: fix imagefetcher call
msanft 564e7a1
docs: add info about azure marketplace
m1ghtym0 e1f23fb
image: ensure more than 1GiB in size
msanft ce72d25
image: test to pad to 2GiB
msanft 748db29
version: change back to v2.14.0-pre
msanft 3a9d2e9
image: GPT-conformant image size padding
msanft 1edf16b
[remove] increase version
msanft fa4d57e
mpimage: inline prefix func
msanft 3ba5396
ci: add marketplace image e2e test
msanft f9cb9ae
[remove] register workflow
msanft 42d5b1e
ci: fix workflow name
msanft 98b1f3d
ci: only allow azure test
msanft e48dab5
cli: add marketplace image input to interface
msanft d18c459
cli: fix argument passing
msanft e91b67b
version: roll back to v2.14.0
msanft b9fe369
ci: add force-flag support
msanft 5d2ad8c
Update docs/docs/overview/license.md
thomasten f0ce0a8
Update dev-docs/workflows/marketplace-images.md
msanft File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
name: e2e test marketplace image | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
nodeCount: | ||
description: "Number of nodes to use in the cluster. Given in format `<control-plane nodes>:<worker nodes>`." | ||
default: "3:2" | ||
type: string | ||
cloudProvider: | ||
description: "Which cloud provider to use." | ||
type: choice | ||
options: | ||
- "azure" | ||
default: "azure" | ||
required: true | ||
runner: | ||
description: "Architecture of the runner that executes the CLI" | ||
type: choice | ||
options: | ||
- "ubuntu-22.04" | ||
- "macos-12" | ||
default: "ubuntu-22.04" | ||
test: | ||
description: "The test to run." | ||
type: choice | ||
options: | ||
- "sonobuoy quick" | ||
- "sonobuoy full" | ||
- "autoscaling" | ||
- "lb" | ||
- "perf-bench" | ||
- "verify" | ||
- "recover" | ||
- "malicious join" | ||
- "nop" | ||
required: true | ||
kubernetesVersion: | ||
description: "Kubernetes version to create the cluster from." | ||
default: "1.27" | ||
required: true | ||
cliVersion: | ||
description: "Version of a released CLI to download. Leave empty to build the CLI from the checked out ref." | ||
type: string | ||
default: "" | ||
required: false | ||
marketplaceImageVersion: | ||
description: "Marketplace image version to use in the cluster's nodes. Needs to be a release semver." | ||
type: string | ||
default: "" | ||
required: true | ||
machineType: | ||
description: "Override VM machine type. Leave as 'default' or empty to use the default VM type for the selected cloud provider." | ||
type: string | ||
default: "default" | ||
required: false | ||
regionZone: | ||
description: "Region or zone to create the cluster in. Leave empty for default region/zone." | ||
type: string | ||
git-ref: | ||
description: "Git ref to checkout." | ||
type: string | ||
default: "head" | ||
required: false | ||
|
||
jobs: | ||
e2e-test: | ||
permissions: | ||
id-token: write | ||
checks: write | ||
contents: read | ||
packages: write | ||
secrets: inherit | ||
uses: ./.github/workflows/e2e-test.yml | ||
with: | ||
nodeCount: ${{ inputs.nodeCount }} | ||
cloudProvider: ${{ inputs.cloudProvider }} | ||
runner: ${{ inputs.runner }} | ||
test: ${{ inputs.test }} | ||
kubernetesVersion: ${{ inputs.kubernetesVersion }} | ||
cliVersion: ${{ inputs.cliVersion }} | ||
imageVersion: ${{ inputs.marketplaceImageVersion }} | ||
machineType: ${{ inputs.machineType }} | ||
regionZone: ${{ inputs.regionZone }} | ||
git-ref: ${{ inputs.git-ref }} | ||
marketplaceImageVersion: ${{ inputs.marketplaceImageVersion }} | ||
force: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Using Marketplace Images in Constellation | ||
|
||
This document explains the steps a user needs to take to run Constellation with dynamic billing via the cloud marketplaces. | ||
|
||
## AWS | ||
|
||
Marketplace Images on AWS are not available yet. | ||
|
||
## Azure | ||
|
||
On Azure, to use a marketplace image, ensure that the subscription has accepted the agreement to use marketplace images: | ||
|
||
```bash | ||
az vm image terms accept --publisher edgelesssystems --offer constellation --plan constellation | ||
``` | ||
|
||
Then, set the VMs to use the marketplace image in the `constellation-conf.yaml` file: | ||
|
||
```bash | ||
yq eval -i ".provider.azure.useMarketplaceImage = true" constellation-conf.yaml | ||
``` | ||
|
||
And ensure that the cluster uses a release image (i.e. `.image=vX.Y.Z` in the `constellation-conf.yaml` file). Afterwards, proceed with the cluster creation as usual. | ||
|
||
## GCP | ||
|
||
Marketplace Images on GCP are not available yet. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could also add this to the user docs and add a "contact us" banner (similar to what we do in the marblerun docs). I don't have a strong opinion. What do you think @m1ghtym0?