-
Notifications
You must be signed in to change notification settings - Fork 577
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
Add Tasks to install Tekton Pipelines itself 🤯 #473
Conversation
As part of tektoncd#373 I'm continuing to create Tasks that we can use to run tests for items in the catalog. The goal of the 2 Tasks in this commit is to install Tekton Pipelines into a cluster that was created using the Task added in tektoncd#436. There are a couple of options different from what I did in this commit which I'd like people's opinions on: 1. I went to a lot of trouble to make it so that Pipelines can be installed with just a kubectl command, specifically creating a user with cluster admin priviledges. If instead I used a container with gcloud, I could use the same approach as other GKE specific Tasks, but I wanted to make the install Task not tied to GKE. I also had to give the prow-account more priviledges in all of our boskos projects for this to work :grimace:. So my question is: is this worth it, or am I better off just creating a GKE specific Task for installing Tekton Pipelines that uses gcloud to auth? 2. If we DO want a super generic Task, how useful is this Task that just applies a Tekton yaml? Would we be better off with a generic kubectl task that I could feed the exact arguments for installing Tekton Pipelines? The other confusion I ran into here (which I am going to follow up with @sbwsg about!) is around service accounts vs. secrets. The GKE Tasks I've made so far rely on secrets provided via workspaces, but I feel like it's not clear if it makes sense to go that route, or to rely on service accounts. In the meantime this approach is at least consistent with tektoncd#436.
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Interested in your thoughts on the 2 questions above @dlorenc @vdemeester @sbwsg @afrittoli ^^ |
a flake maybe? 🤔 |
/test pull-tekton-catalog-integration-tests |
@bobcatfish I will look into this once I'm back. Just FYI - this is what we use today to install Tekton (pipeline, trigger and dashboard) to the |
Thanks @afrittoli ! i probably wont get a change to make sweeping changes to this until next week but it looks like im better off using the Tasks youve already created when you get a chance could you explain a bit more about the overlays you need? i'm also wondering how the Task is supplied with the credentials it needs, is that via the service account? |
/hold want to integrate in the Tasks @afrittoli has already created for this: https://github.com/tektoncd/plumbing/blob/master/tekton/resources/release/install_tekton_release.yaml |
I'll just close this for now actually to reduce the noise :D |
Changes
As part of #373 I'm continuing to create Tasks that we can use to run
tests for items in the catalog.
The goal of the 2 Tasks in this commit is to install Tekton Pipelines into a
cluster that was created using the Task added in #436.
There are a couple of options different from what I did in this commit
which I'd like people's opinions on:
installed with just a kubectl command, specifically creating a user
with cluster admin priviledges. If instead I used a container with
gcloud, I could use the same approach as other GKE specific Tasks,
but I wanted to make the install Task not tied to GKE. I also had
to give the prow-account more priviledges in all of our boskos
projects for this to work 😬 . So my question is: is this worth
it, or am I better off just creating a GKE specific Task for
installing Tekton Pipelines that uses gcloud to auth?
applies a Tekton yaml? Would we be better off with a generic kubectl
task that I could feed the exact arguments for installing Tekton
Pipelines?
The other confusion I ran into here (which I am going to follow up with
@sbwsg about!) is around service accounts vs. secrets. The GKE Tasks
I've made so far rely on secrets provided via workspaces, but I feel
like it's not clear if it makes sense to go that route, or to rely on
service accounts. In the meantime this approach is at least consistent
with #436.
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:
File path follows
<kind>/<name>/<version>/name.yaml
Has
README.md
at<kind>/<name>/<version>/README.md
Has mandatory
metadata.labels
-app.kubernetes.io/version
the same as the<version>
of the resourceHas mandatory
metadata.annotations
tekton.dev/pipelines.minVersion
mandatory
spec.description
follows the conventionSee the contribution guide
for more details.