Commit graph

215 commits

Author SHA1 Message Date
Cam Hutchison bb822bf26b
Fix build for new buildbox (#27521)
* Revert the removal of quintush/helm-unittest

Commit 5d53c91c7a removed
quintush/helm-unittest from the buildbox. It seems we still need that
version so revert those hunks that removed it.

* tests: Fix invalid sudoers file test

Fix the invalid sudoers file test to not look for an exact string but
just a substring. The error message has changed from Ubuntu 20.04 to
22.04 and it has removed some extra wording.
2023-06-07 06:35:59 +00:00
Jakub Nyckowski 5d53c91c7a
Use Ubuntu 22.04 for the buildbox (#27497)
After moving the Connect to a separate Docker image https://github.com/gravitational/teleport/pull/27175 we're able to use the latest ubuntu LTS on our build image. We're not using this image to produce any releases (only CI runs), so updating the image will have no effect on our releases.
2023-06-07 03:31:53 +00:00
Jakub Nyckowski eb4acddf06
Move Connect build to a new Docker container (#27175)
* Move Connect build to a new Docker container

* Update comments

* Update comments
Remove unused packages and unused arguments

* Always use UID=1000 for building teleterm.
2023-06-06 15:28:20 +00:00
Alan Parra f6d8d49f31
chore: Bump Buf to v1.20.0 (#27267)
Keep up with latest releases.

https://github.com/bufbuild/buf/releases/tag/v1.20.0
2023-06-05 16:20:12 +00:00
Alan Parra 690606b455
Fix grpcbox for arm64 and undo protoc rollback (#26758)
* Revert protoc downgrade

* Use correct protoc URL for arm64
2023-05-23 16:14:11 +00:00
Alan Parra 014003880f
Add a codegen-focused buildbox (#26640)
* Add the babybox Dockerfile and Makefile

* Change Makefiles to use the babybox

* Change buildbox to use version args

* Keep the old "if BUILDARCH" on protoc install

* Drop --platform directive on babybox (its platform doesn't matter)

* Use mktemp to download protoc

* Remove defaults from ARGs

* Copy ARG comments to buildbox Dockerfile

* Rename babybox to grpcbox
2023-05-22 21:32:46 +00:00
Tiago Silva 32d8d5f489
Restore Kubernetes Integration tests (#25624)
* Restore Kubernetes Integration tests

This PR re-enables the Kubernetes integrations tests using a KinD
(Kubernetes in Docker) cluster.

New steps have been introduced to GitHub's Integrations (Non-Root)
Action that configure the KinD cluster using
[`helm/kind-action`](https://github.com/helm/kind-action) and do some
network configurations allowing the container where tests run to connect
to the KinD control plane.

This PR also fixes some of the tests and fixes a bug that affected
joining operations when the target service was a legacy kubernetes
proxy. Some improvements will be introduced in future patches to improve
the logic and reduce the time required for the tests to run.

Fixes #25539

* fix data race in spdystream dep

* address feedback

* remove docker installation

* fix test
2023-05-12 16:38:16 +00:00
Trent Clarke f8cdf987c5
Remove obsolete targets from Makefiles (#25611)
These targets were originally set up to allow parallel arm64 builds
using GHA. These targets were obsoleted when the ARM64 builds were
expanded to be full-fledged teleport releases, but were not removed
at that time.

Leaving these targets is messy and confusing, so this patch removes
them.
2023-05-05 11:48:42 +00:00
Alan Parra ff2f7adce7
chore: Bump Go to 1.20.4 (#25503)
* chore: Bump Go to 1.20.4

* Run `make dronegen`

* Update e/ reference
2023-05-02 20:25:30 +00:00
Jakub Nyckowski 855ccf5753
Do not change proto user on make grpc (#24818) 2023-04-19 20:02:44 +00:00
Alan Parra fc9191418f
chore: Bump Go to 1.20.3 (#24060)
* chore: Bump Go to 1.20.3

* Run `make dronegen`

* Update e/ reference
2023-04-04 21:11:32 +00:00
Jakub Nyckowski 96a13802d5
Add Node to amd64 bit target (#23115)
Signed-off-by: Jakub Nyckowski <jakub.nyckowski@goteleport.com>
Co-authored-by: Victor Sokolov <gzigzigzeo@gmail.com>
2023-03-17 18:14:14 +00:00
Łukasz Kozłowski 394b307efa
Update Rust to 1.68.0 (#23033) 2023-03-15 08:59:51 +00:00
Jakub Nyckowski 42c472af4a
(Buddy) Removed node from multiarch buildbox, added i386 and amd64 targets (#22979)
* Removed node from multiarch buildbox, added i386, amd64

* Bump github.com/aws/aws-sdk-go-v2/service/sts from 1.18.3 to 1.18.5 (#22292)

Bumps [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2) from 1.18.3 to 1.18.5.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.3...config/v1.18.5)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sts
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Added Dockerfile-multiarch Dockerfiles

Signed-off-by: Jakub Nyckowski <jakub.nyckowski@goteleport.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Jakub Nyckowski <jakub.nyckowski@goteleport.com>
Co-authored-by: Victor Sokolov <gzigzigzeo@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 18:00:20 +00:00
Alan Parra 0155e1a083
chore: Bump Go to 1.20.2 (#22723)
* chore: Bump Go to 1.20.2

https://go.dev/doc/devel/release#go1.20.2

* Run `make dronegen`

* Update e/ reference
2023-03-07 21:07:57 +00:00
Tobiasz Heller 970dfd3738
Update Go toolchain to 1.20.1 (#21911) 2023-02-16 14:31:44 +00:00
Jakub Nyckowski 71176c598b
Add enter-root/centos7 to build.assets/makefile (#21834)
Fix enter/centos7 to use centos instead of ubuntu.
2023-02-15 17:50:47 +00:00
Jakub Nyckowski e62ff82183
Unify x86/ARM64 build process (#21660)
* Unify x86/AMD64 build process

Currently, our ARM64 pipeline builds limited subset of Teleport features as none of the 3rd party dependencies (openssh, libbpf etc) are not built on AMR64. This change build all dependencies on AMR64 in the same way as we do on x86.

FIPS changes are not included as we do not support FIPS on ARM64.

* Apply suggestions from code review

Co-authored-by: Roman Tkachenko <roman@goteleport.com>

---------

Co-authored-by: Roman Tkachenko <roman@goteleport.com>
2023-02-15 15:38:59 +00:00
Jakub Nyckowski 7447984ca4
Update to libbpf 1.0.1 (#21745)
Update to libbpf 1.0.1 and github.com/aquasecurity/libbpfgo v0.4.5-libbpf-1.0.1. As we're building our releases on CentOS 7 anyway we can also switch to mainstream libbpf instead of using our fork.
2023-02-13 21:29:41 +00:00
Roman Tkachenko 29b51a76aa
Switch to ghcr docs image (#21687) 2023-02-10 23:28:21 +00:00
Jakub Nyckowski 20f5d0b3e0
Move CentOS 7 assets to GitHub repo (#21435)
Moving our CentOS build assets, aka Clang-10 is the first step to enabling our full Teleport to build on ARM64. This change should also save us some $$ as getting the assets from S3 sounds expensive.
2023-02-10 15:46:36 +00:00
Rafał Cieślak 94ec267823
Update JS grpc-tools to 1.12.4 (#21452)
* Update JS grpc-tools to 1.12.4

1.11.2 didn't have support for arm64 so we had to do all this extra stuff
in the Dockerfile.

1.11.3 added support for Darwin arm64 and 1.12.4 finally adds support for
Linux arm64. This means we can completely remove extra cruft and just
install grpc-tools 1.12.4 on all architectures.

* Add comment to ptyHostService.proto
2023-02-09 07:40:45 +00:00
Alan Parra e5f02f4eaa
Update Go toolchain to 1.20 (#21111)
* Update Go to 1.20

* Run `make dronegen`

* Update e/ reference
2023-02-02 14:22:04 +00:00
Michael Wilson 6bf65b0f4d
Add check if protos are up to date. (#21066)
* Add check if protos are up to date.

A new check has been added that will detect if protobufs are up to date. The
script will exit abnormally if protobufs need to be regenerated.

* Alan's feedback.

* Restoring the script.

* Update script comment.

* Add in the set -eu.

* Add a comment for the pull_request/merge_group bit in the new github action.

* Remove helper script.

* Reduce the runner size.
2023-02-02 05:54:20 +00:00
Zac Bergquist 19eae4a738
Update Rust to 1.67.0 (#20821)
Fix lint errors with cargo clippy --fix
2023-01-28 00:34:14 +00:00
Rafał Cieślak 6791b48da9
Remove grpc-teleterm Make target and Dockerfile-teleterm (#20032)
* Remove CLANG_FORMAT from Makefiles

It was used to format protos but we use Buf for that since v10.

* Move installing grpc_node_plugin into Dockerfile

This commit basically takes grpc_node_plugin compilation from
Dockerfile-teleterm and moves it to Dockerfile.

* Replace Dockerfile-teleterm with Dockerfile

After moving grpc_node_plugin compilation to Dockerfile, the only remaining
thing that Dockerfile-teleterm does is installing rpm so that we can make
an RPM package for Connect during tag builds.

Installing this package can be simply moved to Dockerfile.

* Remove grpc-teleterm Make target in favor of grpc

* Add updated protobufs

It looks like they're a result of someone changing protos in lib/prehog
without running `make grpc-teleterm` separately. Which is why we're getting
rid of grpc-teleterm as a separate Make target in the first place. ;)
2023-01-26 09:41:07 +01:00
Jeff Pihach ba2c1fc34a
Add nodejs to the fips dockerfile. (#20487) 2023-01-20 17:27:42 +00:00
Jakub Nyckowski 8108230136
Run webassets build in Docker as current OS user (#20426)
Set the current user when running webassets builds. In this way, the build artifacts will have correct permissions.
2023-01-19 23:01:36 +00:00
Jeff Pihach 34f102bdeb
Enable building teleport with the new UI location (#20361)
* Changes for merging webapps into teleport.
2023-01-18 22:22:25 +00:00
Jeff Pihach 30d51b6680
Add node and yarn to the buildboxes in preparation for the webapps merge (#20339)
* Add node and yarn to the buildboxes in preparation for the webapps merge.
2023-01-18 17:56:04 +00:00
Jakub Nyckowski 86ac5afd07
Update Rust to 1.66.1 (#20197)
Bump up the Rust version to mitigate CVE-2022-46176, context: https://blog.rust-lang.org/2023/01/10/cve-2022-46176.html
2023-01-13 17:32:41 +00:00
Alan Parra 71e0ac95e6
chore: Bump Go to 1.19.5 (#20060)
Update Go to the latest patch.

Bumps api/go.mod to 1.19 as well, as it seems to be lagging.
2023-01-11 14:54:26 +00:00
Trent Clarke 60264f5f62
Moves GHA docker invocation from action to Makefile (#19784)
Consolidates more of the build logic into the build.assets Makefile, transplanted from the workflow file in teleport.e

See comment gravitational/teleport.e#673 (comment)
2023-01-04 03:04:36 +00:00
Trent Clarke d9ac0d43ae
Update makefile with targets to build from GHA (#19637)
The existing `build.assets` makefile targets had the actual build steps 
coupled together with building the build box image. Because of how GHA
image builds work, we need to uncouple those tasks.

GHA also builds OSS and Enterprise teleports in parallel, so we needed 
a new target to build the Enterprise release without also automatically
building the OSS bundle in series.

Co-authored-by: Roman Tkachenko <roman@goteleport.com>
2022-12-28 23:16:57 +00:00
Łukasz Kozłowski d85795c7af
Fix Rust warnings (#19643) 2022-12-23 15:03:40 +00:00
Łukasz Kozłowski 3a781212c9
Update Rust to 1.66.0 (#19605) 2022-12-23 11:29:14 +01:00
Roman Tkachenko 1b387aba2c
Run GHA tests when build.assets/Makefile changes (#19616) 2022-12-22 19:04:44 +00:00
Brian Joerger 68511c4a75
Add PIV tag to docker builds through drone. (#18266) 2022-12-12 19:56:19 +00:00
Alan Parra c4d88ee28b
Update Go to 1.19.4 (#19120)
Update Go to latest security patch.
2022-12-07 13:52:04 +00:00
Hugo Shaka 207567b548
helm: use new helm-unittest plugin (#18964)
* Invoke helm plugins with correct path
* helm: breaking - change helm unittest plugin
* helm: document test plugin fork choice
* Add Makefile target checking helm plugins
2022-12-05 18:58:32 +00:00
Roman Tkachenko cda4be5273
Add Go version to GHA cache key and CI image workflow (#18877)
* Include Go version in the cache key to prevent cache reuse when upgrading Go.
* Push buildboxes to Github container registry to avoid public ECR rate limiting.

Signed-off-by: Roman Tkachenko <roman@goteleport.com>
Co-authored-by: Victor Sokolov <gzigzigzeo@gmail.com>
2022-11-30 00:25:45 +00:00
Łukasz Kozłowski b6bbe28f3a
Add FIPS support for Desktop Access (#18076) 2022-11-23 15:32:53 +01:00
Grzegorz Zdunek 1ab74c1130
Update Node.js to 16.18.1 (#18354) 2022-11-10 20:41:40 +00:00
Jakub Nyckowski bea2e89df5
Run GCI as make fix-imports (#17956)
Co-authored-by: Alan Parra <alan.parra@goteleport.com>
2022-11-04 15:46:46 +00:00
Brian Joerger 9725c405a5
Make PIV builds opt-in for Mac and Windows (#17767) 2022-10-25 16:35:34 +00:00
Hugo Shaka 2ef2de956a
Use Teleport's standard buildbox (#17122)
* Use Teleport's standard buildbox

This commit edits the teleport-operator container image build process to
rely on Teleport's standard buildbox. This will make sure we are using a
single go version at all time.

This also removed unused environment variables from
`operator/Makefile`.

* Extract BUILDBOX variables out of build.assets/Makefile
* Put `teleport-operator` bin out of the Teleport source volume
2022-10-11 15:19:38 +00:00
Alan Parra f9f0ca339e
Bump grpc-related dependencies (#17265)
Bumps:

* protoc to v3.20.3
* protoc-gen-go to v1.5.2 (github.com/google/protobuf version, Teleterm only)
* google.golang.org/grpc to v1.50.0
* google.golang.org/grpc/examples
2022-10-11 14:29:01 +00:00
Jakub Nyckowski 7ab605a4af
Update Go to 1.19.2 (#17020) 2022-10-04 22:26:34 +00:00
Brian Joerger ce20b20753
PIV login enforcement (#15874)
Add private key policy enforcement.

  - Add private key policy cert extensions and enforcement.

  - Add private key policy settings and attestation logic.

  - Wire attestation request through login endpoints.

  - Store attestation data for reissue requests.

  - Add private key policy discovery and logic.

  - Relogin on hardware key policy errors.

  - Include integration with Teleport Connect.
2022-09-30 23:27:48 +00:00
rosstimothy b09e6a5fcb
Update Rust to 1.64.0 (#16833) 2022-09-29 19:51:15 +00:00