Skip to content
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

Orka: packer macos11 intel test #3874

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions orka/templates/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,34 +40,36 @@ You need to load the environment variables:
echo $ORKA_AUTH_TOKEN
echo $SSH_USERNAME
echo $SSH_PASSWORD
echo $SSH_DEFAULT_USERNAME
echo $SSH_DEFAULT_PASSWORD
```

## Validate the template

You can validate all the templates by running the following command:

```shell
packer validate -var "orka_endpoint=$ORKA_ENDPOINT" -var "orka_auth_token=$ORKA_AUTH_TOKEN" -var "ssh_username=$SSH_USERNAME" -var "ssh_password=$SSH_PASSWORD" .
packer validate -var "orka_endpoint=$ORKA_ENDPOINT" -var "orka_auth_token=$ORKA_AUTH_TOKEN" -var "ssh_username=$SSH_USERNAME" -var "ssh_password=$SSH_PASSWORD" -var "ssh_default_username=$SSH_DEFAULT_USERNAME" -var "ssh_default_password=$SSH_DEFAULT_PASSWORD" .
```

You can validate a specific template by running the following command:

```shell
packer validate -var "orka_endpoint=$ORKA_ENDPOINT" -var "orka_auth_token=$ORKA_AUTH_TOKEN" -var "ssh_username=$SSH_USERNAME" -var "ssh_password=$SSH_PASSWORD" <template_name>
packer validate -var "orka_endpoint=$ORKA_ENDPOINT" -var "orka_auth_token=$ORKA_AUTH_TOKEN" -var "ssh_username=$SSH_USERNAME" -var "ssh_password=$SSH_PASSWORD" -var "ssh_default_username=$SSH_DEFAULT_USERNAME" -var "ssh_default_password=$SSH_DEFAULT_PASSWORD" <template_name>
```

## Build the image

You can build all the templates by running the following command:

```shell
packer build -var "orka_endpoint=$ORKA_ENDPOINT" -var "orka_auth_token=$ORKA_AUTH_TOKEN" -var "ssh_username=$SSH_USERNAME" -var "ssh_password=$SSH_PASSWORD" .
packer build -var "orka_endpoint=$ORKA_ENDPOINT" -var "orka_auth_token=$ORKA_AUTH_TOKEN" -var "ssh_username=$SSH_USERNAME" -var "ssh_password=$SSH_PASSWORD" -var "ssh_default_username=$SSH_DEFAULT_USERNAME" -var "ssh_default_password=$SSH_DEFAULT_PASSWORD" .
```

You can build a specific template by running the following command:

```shell
packer build -var "orka_endpoint=$ORKA_ENDPOINT" -var "orka_auth_token=$ORKA_AUTH_TOKEN" -var "ssh_username=$SSH_USERNAME" -var "ssh_password=$SSH_PASSWORD" <template_name>
packer build -var "orka_endpoint=$ORKA_ENDPOINT" -var "orka_auth_token=$ORKA_AUTH_TOKEN" -var "ssh_username=$SSH_USERNAME" -var "ssh_password=$SSH_PASSWORD" -var "ssh_default_username=$SSH_DEFAULT_USERNAME" -var "ssh_default_password=$SSH_DEFAULT_PASSWORD" <template_name>
```

## Continuous Integration
Expand Down
38 changes: 34 additions & 4 deletions orka/templates/macos-11-intel-test.pkr.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,16 @@ variable "orka_auth_token" {
default = ""
}

variable "ssh_default_username" {
type = string
default = ""
}

variable "ssh_default_password" {
type = string
default = ""
}

variable "ssh_username" {
type = string
default = ""
Expand All @@ -28,11 +38,13 @@ packer {
}

source "macstadium-orka" "macos11-intel-test-image" {
source_image = "90gbigsurssh.img"
source_image = "macos11-intel-base.img"
image_name = "macos11-intel-test-latest.img"
image_description = "The MacOS 11 Intel test image"
orka_endpoint = var.orka_endpoint
orka_auth_token = var.orka_auth_token
ssh_username = var.ssh_default_username
ssh_password = var.ssh_default_password
}

build {
Expand All @@ -41,9 +53,27 @@ build {
]
provisioner "shell" {
inline = [
"echo we are running on the remote host",
"hostname",
"touch .we-ran-packer-successfully"
"echo 'Installing Homebrew...'",
"/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"",
"echo 'eval \"$(/usr/local/bin/brew shellenv)\"' >> /Users/${var.ssh_default_username}/.zprofile",
"eval \"$(/usr/local/bin/brew shellenv)\"",
"source /Users/${var.ssh_default_username}/.zprofile"
]
}
// Check Homebrew. Ignore errors as macos 11 is deprecated
provisioner "shell" {
inline = [
"echo 'Checking Homebrew...'",
"source /Users/${var.ssh_default_username}/.zprofile",
"brew doctor || true"
]
}
// Install dependencies using Homebrew. This can take hours to complete as all has to be compiled from source
provisioner "shell" {
inline = [
"echo 'Installing packages using Homebrew...'",
"source /Users/${var.ssh_default_username}/.zprofile",
"brew install git automake bash libtool cmake python ccache"
]
}
}