Commit Graph

128 Commits

Author SHA1 Message Date
Gaurav Gahlot
813e9b1f7e
Merge pull request #54 from tinkerbell/feat/new-bump-command-utility
New tool to bump current_versions.sh automatically
2021-02-15 10:54:09 +05:30
Gianluca Arbezzano
d6a057c89d New tool to bump current_versions.sh automatically
This commit contains a new utility that helps to automate a version bump
for sandbox.

You can run this command to get the vibe of what it does.

```
$ go run cmd/bump-version/main.go -help
```

In order to try it out you can run this command form sandbox root. By
default it won't overwrite anything. It will print to stdout a new
version of the current_versions.sh file where all the images are
calculate cloning the various repositories

```
$ go run cmd/bump-version/main.go
```

If you want to overwrite the current_versions file you can use the flag
`-overwrite`.

More will come but for now, that's the PoC. Ideally this can be hooked
to CI/CD and run periodically, opening a PR that can be evaluated and
merged.

Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2021-02-12 14:47:46 +01:00
mergify[bot]
4f64f1656d
Updates plan to use Metal provider, updates outputs accordingly (#51)
## Description

Updates [Packet Terraform](https://docs.tinkerbell.org/setup/packet-terraform/) plan to use the Equinix Metal provider. 

## Why is this needed

Consistent with rebranding efforts across the organization.

Fixes: #

## How Has This Been Tested?

This plan validates, and applies as expected (and has previously) with the renamed resources, and updates outputs.


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

Existing users may need to reinitialize their Terraform environment, but existing resources in state can be imported. 

## Checklist:

I have:

- [ ] updated the documentation and/or roadmap (if required)
- [ ] added unit or e2e tests
- [ ] provided instructions on how to upgrade
2021-02-09 17:51:03 +00:00
mergify[bot]
7315975878
Merge branch 'master' into metal-provider-update-plan 2021-02-09 17:50:28 +00:00
Joseph D. Marhee
21301d182f Updates variable description to use EM
Signed-off-by: Joseph D. Marhee <jmarhee@interiorae.com>
2021-02-04 13:54:31 -06:00
Joseph D. Marhee
cbd90e063e Updates plan to use Metal provider, updates outputs accordingly
Signed-off-by: Joseph D. Marhee <jmarhee@interiorae.com>
2021-02-04 13:54:31 -06:00
mergify[bot]
58937939c3
Bootstrap Packer template for libvirt and Vbox (#48)
This PR contains a provisioning mechanism for the Vagrant boxes we ship
as part of Sandbox.

In order to self contain and distribute the required dependencies for Tinkerbell
and Sandbox without having to download all of them runtime we decided to use
[Packer.io](https://packer.io) to build boxes that you can use when provisioning
Tinkerbell on Vagrant.

Currently the generated boxes are available via [Vagrant
Cloud](https://app.vagrantup.com/tinkerbelloss).

Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2021-02-04 09:53:22 +00:00
Gaurav Gahlot
cf67fe6476
nit pick 2021-02-04 15:22:23 +05:30
Gianluca Arbezzano
9edecbfc86 Bootstrap Packer template for libvirt and Vbox
Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2021-02-04 10:27:19 +01:00
mergify[bot]
3d387cd26e
Use same IP address for both boots and nginx (#43)
Signed-off-by: Michael Richard <michael.richard.ing@gmail.com>

## Description

This configures NGINX to listen on port 8080 and lets go the need to configure a second IP address on the host dedicated to NGINX.

## Why is this needed

Setting up a second IP address to host NGINX on the same host is not always easy, especially when running tinkerbell on network devices like switches. The second IP address adds a useless level of complexity. In the future, all the code required to identify the host operating system and configure the IP address could even be removed and left as a prerequisite, since the host is likely to have an IP address already configured.

## How Has This Been Tested?

The untouched vagrant_test.go test ran sucessfully.

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

Simply re-applying the docker-compose.yml should be sufficient (untested).
Additional firewall rules to allow traffic on port 8080 could be required depending on user's network configuration.

## Checklist:

I have:

- [ ] updated the documentation and/or roadmap (if required)
- [ ] added unit or e2e tests
- [ ] provided instructions on how to upgrade
2021-01-27 10:39:13 +00:00
mergify[bot]
141083e24d
Merge branch 'master' into single-ip-address 2021-01-27 10:38:39 +00:00
mergify[bot]
c67898ed52
Fix vagrant config for libvirt (#42)
## Description

Fixes the vagrant configuration when using libvirt

## Why is this needed

Without this issue the vagrant provisioner fails when using libvirt with the following error:

```sh
Error occurred while creating new network: {:iface_type=>:private_network, :netmask=>"255.255.255.0", :dhcp_enabled=>false, :forward_mode=>"none", :virtualbox__intnet=>"tink_network", :libvirt__dhcp_enabled=>false, :libvirt__forward_mode=>"none", :auto_config=>false, :protocol=>"tcp", :id=>"18e6fc6d-41b8-40c9-814d-ffc476bfd920"}.
```

## How Has This Been Tested?

Reran vagrant up after making the changes and the provisioner machine successfully was created


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

Should not affect existing users unless they were trying to use vagrant/libvirt and were unsuccessful before.

No migration should be needed.
2021-01-26 10:17:25 +00:00
Michael Richard
c7b84264af Set NGINX to bind on TINKERBELL_HOST_IP:8080
Signed-off-by: Michael Richard <michael.richard.ing@gmail.com>
2021-01-25 15:19:23 -05:00
Jason DeTiberus
6150dd91c7
Fix vagrant config for libvirt 2021-01-25 15:00:02 -05:00
Gianluca Arbezzano
cc39216b67
Merge pull request #44 from gianarb/hotfix/shfmt-tinkerbell-sh
Fix shfmt for tinkerbell.sh file
2021-01-25 19:18:25 +01:00
Gianluca Arbezzano
e4d8fafa33 Fix shfmt for tinkerbell.sh file
Not sure how I happened but it looks like we introduced an shfmt error
in master

Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2021-01-25 19:06:31 +01:00
mergify[bot]
89a304f4a7
Fix NAT and make it working for Terraform and Vagrant (#41)
Commit b504810 introduced a NAT to make worker capable of reaching the
public internet via the provisioner.

But it also introduced a bug, it only works for the Vagrant setup as
Manny pointed out:

https://github.com/tinkerbell/sandbox/pull/33#issuecomment-759651035

This is an attempt to fix it

@mmlb I would like to avoid additional conditions as part of the
setup.sh, we have already too many of them and they are not even easy to
dsicover. We have different entrypoint for those environment let's use them.
2021-01-23 03:44:11 +00:00
Gianluca Arbezzano
243777b6ef Fix NAT and make it working for Terraform and Vagrant
Commit b504810 introduced a NAT to make worker capable of reaching the
public internet via the provisioner.

But it also introduced a bug, it only works for the Vagrant setup as
Manny pointed out:

https://github.com/tinkerbell/sandbox/pull/33#issuecomment-759651035

This is an attempt to fix it

Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2021-01-22 16:40:08 +01:00
mergify[bot]
f07e3d8d72
Update boots (#39)
## Description

Update boots version.

## Why is this needed

This will get us proper binaries in the releases but also 64bit boots
for 64bit x86 machines!

## How Has This Been Tested?

Boots has been tested on EM hw.
2021-01-20 15:44:33 +00:00
Manuel Mendez
ee945b31c9 Update boots
This will get us proper binaries in the releases but also 64bit boots
for 64bit x86 machines!

Signed-off-by: Manuel Mendez <mmendez@equinix.com>
2021-01-20 10:20:49 -05:00
mergify[bot]
ce7a79b75d
getbinariesfromquay: Remove - separating arch from variant (#38)
## Description

Renames binaries to be more consistent in and of itself and also compared to other Go projects that provide multi-arch binaries.

## Why is this needed

@gianarb asked me to rename the binaries in https://github.com/tinkerbell/boots/pull/122 to match this scheme, but I think that this PR is the better directon.
2021-01-20 15:02:16 +00:00
Manuel Mendez
e8ffd43a29 getbinariesfromquay: Remove - separating arch from variant
This naming scheme seemed weird to me so I went looking around at other
Go projects. None of the projects that I found that had multi-arch
release binaries used this scheme, instead they just append the variant
to arch. Appending the variant to the arch also makes a lot of sense if
you think of the naming schme as $binary-$os-$cpu and
$cpu=$arch$variant. Keeping arch and variant together as $cpu is also
more consistent, and consitency is great :D.

Signed-off-by: Manuel Mendez <mmendez@equinix.com>
2021-01-20 09:37:59 -05:00
Gianluca Arbezzano
b385de2b5a
Merge pull request #36 from gauravgahlot/version-constraints
Add missing version constraints for providers - null, template
2021-01-12 09:23:49 +01:00
Gaurav Gahlot
9dc63fbdb6
happy terraform fmt
Signed-off-by: Gaurav Gahlot <gauravgahlot0107@gmail.com>
2021-01-12 12:28:06 +05:30
Gaurav Gahlot
60270f3164
add missing version constraints for providers - null, template
Signed-off-by: Gaurav Gahlot <gauravgahlot0107@gmail.com>
2021-01-12 12:10:17 +05:30
Gaurav Gahlot
68c334307c
Merge pull request #34 from gianarb/bump/20210111
Bump tink stack 2021 01 11
2021-01-11 17:50:19 +05:30
Gianluca Arbezzano
be40a7b371 Bump tink stack 2021 01 11
Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2021-01-11 12:24:26 +01:00
mergify[bot]
b504810679
provisioner setup changes to enable NAT for workers (#33)
## Description

Provisioner NAT setup for workers 

## Why is this needed

internet access on workers 
https://github.com/tinkerbell/sandbox/issues/31 


Fixes: #

## How Has This Been Tested?

- workflow executed successfully.
- ping from workers works correctly.

PR in reference with https://github.com/tinkerbell/tink/pull/410
2021-01-07 13:43:24 +00:00
cbkhare
7acaae68b4 provisioner setup changes to enable NAT for workers
provisioner setup changes to enable NAT for workers

Signed-off-by: cbkhare <Chitrabasukhare89@gmail.com>
2021-01-07 14:49:10 +05:30
mergify[bot]
0cb5e79447
Making statement on breaking changes clearer (#32)
## Description

Documentation

## Why is this needed

This statement is confusing, I needed to log into the community slack to get clarification.

Fixes: #

## How Has This Been Tested?
This is a documentation change and thus will not impact any software in this project.

## How are existing users impacted? What migration steps/scripts do we need?
They are not, newer users may find this a little easier to digest.


## Checklist:

I have:

- [ ] updated the documentation and/or roadmap (if required)
- [ ] added unit or e2e tests
- [ ] provided instructions on how to upgrade
2021-01-04 23:06:31 +00:00
jgavinray
64cc641150 Making statement on breaking changes clearer
Signed-off-by: jgavinray <jgavinray@linux.com>
2021-01-04 12:07:15 -08:00
Gianluca Arbezzano
3a5445e583
Merge pull request #29 from qmfrederik/fixes/windows-onboarding
For Unix-style line endings for scripts, add .env to .gitignore
2020-12-10 15:10:45 +01:00
Gianluca Arbezzano
2499b89fe6
Merge pull request #30 from tinkerbell/fix/cleanup-not-required-sql-init
Cleanup not required cleanup sql script
2020-12-10 15:08:51 +01:00
Gianluca Arbezzano
22f6f22012 Cleanup not required cleanup sql script
Since we introduced migration the init file is not required and it is a
leftover.

Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2020-12-10 14:42:24 +01:00
Frederik Carlier
5b7ce84149 Add .env to .gitignore
Signed-off-by: Frederik Carlier <frederik.carlier@quamotion.mobi>
2020-12-07 23:31:00 +01:00
Frederik Carlier
92ea28a0ad Force Unix line endings for shell scripts
Signed-off-by: Frederik Carlier <frederik.carlier@quamotion.mobi>
2020-12-07 23:31:00 +01:00
Gianluca Arbezzano
d04bee185a
Merge pull request #28 from gianarb/fix/update-aptrepos-tag-workflow
Run apt-update before installing package in the tag workflow
2020-11-24 20:08:31 +01:00
Gianluca Arbezzano
ee992dd8d4 Run apt-update before installing package in the tag workflow
Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2020-11-24 19:52:15 +01:00
mergify[bot]
1b408b0f4f
Missed docker transport in release-binaries (#26)
Regression from f8cf83f121
2020-11-24 18:30:04 +00:00
mergify[bot]
c2c41101cb
Merge branch 'master' into getbinaries-fix-transport 2020-11-24 18:28:04 +00:00
mergify[bot]
2db68f09b6
Unpack all image and not just the last layer (#27)
The go program we use to get binaries from a docker image was unpacking
only the last layer. This is not required and in order to have a more
generic approach and fewest requirement the program now unpack all the
image
2020-11-24 16:29:08 +00:00
mergify[bot]
84f4fa8533
Merge branch 'master' into unpack-all-image 2020-11-24 16:28:31 +00:00
Gianluca Arbezzano
f6b43ada0b Unpack all image and not just the last layer
The go program we use to get binaries from a docker image was unpacking
only the last layer. This is not required and it order to have a more
generic approach and fewest requirement the program now unpack all the
image

Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2020-11-24 17:12:33 +01:00
Gianluca Arbezzano
2650e324df Missed docker transport in release-binaries
This is a regression introduced here f8cf83f121

Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2020-11-24 17:08:08 +01:00
mergify[bot]
e08401172c
bump boots to 45a64dad03795133adf7f7177677f3d58a0018e2 (#25)
bump boots to 45a64dad03795133adf7f7177677f3d58a0018e2
2020-11-24 15:44:45 +00:00
Gianluca Arbezzano
87fca37075 bump boots to 45a64dad03795133adf7f7177677f3d58a0018e2
The main reason for this bump is because we fixed multi arch support for
boots binaries. Before docker images were multi arch but boots was
always x86. This issue is not fixed.

Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2020-11-24 16:41:58 +01:00
Gaurav Gahlot
1672752d56
Merge pull request #24 from tinkerbell/hotfix/use-current-versions
Use variables set in current_versions.sh as part of script/release-binaries.sh
2020-11-23 20:00:02 +05:30
Gianluca Arbezzano
f8cf83f121 Use variables set in current_versions.sh as part of
script/release-binaries.sh

When writing the release-binary bash script I didn't use the right
variables in current_versions.sh but I fixed those values as part of the
script itself.

Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2020-11-23 15:22:59 +01:00
Gianluca Arbezzano
587e65181a
Merge pull request #23 from tinkerbell/release-binaries
Push binaries as release artifact
2020-11-19 11:47:34 +01:00
Gianluca Arbezzano
509524bd14 Add continuous integration workflow
Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2020-11-19 11:30:32 +01:00