mergify[bot] cc5e0be668
Update Terraform to 0.14 in shell.nix (#72)
## Description

This change causes Nix to pull in Terraform v0.14 rather than v0.12 when users run `nix-shell`

## Why is this needed

Without this change I get this error on both Mac and NixOS:
```
[nix-shell:~/sandbox/deploy/terraform]$ terraform init --upgrade

Warning: Provider source not supported in Terraform v0.12

  on main.tf line 4, in terraform:
   4:     metal = {
   5:       source  = "equinix/metal"
   6:       version = "1.0.0"
   7:     }

A source was declared for provider metal. Terraform v0.12 does not support the
provider source attribute. It will be ignored.

(and 2 more similar warnings elsewhere)


Error: Unsupported Terraform Core version

This configuration does not support Terraform version 0.12.30. To proceed,
either choose another supported Terraform version or update the root module's
version constraint. Version constraints are normally set for good reason, so
updating the constraint may lead to other errors or unexpected behavior.
```

## How Has This Been Tested?

I used this on both a Mac and a NixOS machine using `nix-shell`

## How are existing users impacted? What migration steps/scripts do we need?

Running `nix-shell` on existing checkouts will now pull down a newer version of Terraform.

## Checklist:

I have:

- [ ] updated the documentation and/or roadmap (if required)
- [ ] added unit or e2e tests
- [ ] provided instructions on how to upgrade
2021-03-24 15:06:57 +00:00
2021-03-18 15:11:55 +01:00
2020-11-09 17:39:00 -05:00
2020-12-07 23:31:00 +01:00
2020-09-02 16:31:57 +02:00
2020-08-20 13:53:27 +02:00
2021-03-18 15:11:55 +01:00
2021-03-18 15:11:55 +01:00
2020-09-02 16:31:57 +02:00

This repository is a quick way to get the Tinkerbell stack up and running.

Currently it supports:

  1. Vagrant with libvirt and VirtualBox
  2. Terraform on Packet

Tinkerbell is made of different components: osie, boots, tink-server, tink-worker and so on. Currently they are under heavy development and we are working around the release process for all the components.

We need a way to serve a version of Tinkerbell that you can use and we know what is running the hood. Sandbox runs a pinned version for all the components via commit sha. In this way as a user you won't be effected (ideally) from new code that will may change a bit how Tinkerbell works.

We are keeping the number of breaking changes as low as possible but in the current state they are expected.

Binary release

As part of a new release for sandbox we want to push binaries to GitHub Release in this way the community will be able to use them if needed.

We build Docker images across many architectures, each of them in its own repository: boots, hegel, tink and so on.

Sandbox is just a collection of those services and we follow the same pattern for getting binaries as well.

There is a go program available in ./cmd/getbinariesfromquay/main.go. You can run it with go run or build it with go build:

$ go run cmd/getbinariesfromquay/main.go -h
  -binary-to-copy string
        The location of the binary you want to copy from inside the image. (default "/usr/bin/hegel")
  -image string
        The image you want to download binaries from. It has to be a multi stage image. (default "docker://quay.io/tinkerbell/hegel")
  -out string
        The directory that will be used to store the release binaries (default "./out")
  -program string
        The name of the program you are extracing binaries for. (eg tink-worker, hegel, tink-server, tink, boots) (default "hegel")

By default it uses the image running on Quay for Hegel and it gets the binary /usr/bin/hegel from there. The directory ./out is used to store images and binaries inside ./out/releases.

To get the binaries for example for boots you can run:

$ go run cmd/getbinariesfromquay/main.go \
    -binary-to-copy /usr/bin/boots \
    -image docker://quay.io/tinkerbell/boots:sha-9625559b \
    -program boots

You will find them in ./out/release

Description
No description provided
Readme 336 KiB
Languages
Shell 47.3%
Go 38.7%
HCL 10.8%
Smarty 1.3%
Dockerfile 1%
Other 0.9%