Initial clone with pipeline.

This commit is contained in:
James Pace 2022-08-26 21:46:59 -04:00
commit 1399f382b1
6 changed files with 140 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
secrets/

6
images/Dockerfile_gitssh Normal file
View File

@ -0,0 +1,6 @@
FROM docker.io/debian:bullseye-slim
RUN apt update -y && \
apt install -y \
git \
openssh-client

View File

@ -0,0 +1,10 @@
{
"apiVersion": "v1",
"kind": "Namespace",
"metadata": {
"name": "j7s-dev",
"labels": {
"name": "j7s-dev"
}
}
}

48
notes.md Normal file
View File

@ -0,0 +1,48 @@
# Notes
Install:
1. Set up wireguard.
2. Download k3s install script from website.
3. For master:
`INSTALL_K3S_EXEC="server --node-ip '10.100.100.5' --advertise-address '10.100.100.5' --flannel-iface 'wg0'" ./k3s.sh`
4. For node:
`INSTALL_K3S_EXEC="agent --server 'https://10.100.100.5:6443' --token 'K3S_TOKEN' --node-ip '10.100.100.?' --advertise-address '10.100.100.?' --flannel-iface 'wg0'" ./k3s.sh`
5. Install kubectl on laptop.
6. Copy `/etc/rancher/k3s/k3s.yaml` to laptop and change localhost IP to wireguard IP.
7. `kubectl cluster-info`
8. Install tkn CLI.
`https://tekton.dev/docs/cli/`
I installed manually.
Set up Tekton:
```
kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml
```
Set up Tekton Dashboard:
```
kubectl apply --filename https://storage.googleapis.com/tekton-releases/dashboard/latest/tekton-dashboard-release.yaml
```
Port forward locally:
```
kubectl port-forward -n tekton-pipelines service/tekton-dashboard 9097:9097
```
Set up a namespace:
```
kubectl create -f j7s-dev-namspace.json
```
```
kubectl config set-context j7s-dev --namespace=j7s-dev \
--cluster=j7s-dev \
--user=default
```
Stuff I installed from tkn.
```
tkn hub install task git-clone
tkn hub install task ansible-runner
tkn hub install task git-batch-merge
```

View File

@ -0,0 +1,53 @@
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: cat-git-repo
spec:
description: A test pipeline.
params:
- name: repo-url
type: string
description: The git repository URL to clone from.
workspaces:
- name: shared-data
description: Shared data.
- name: git-credentials
description: My ssh credentials
tasks:
- name: fetch-repo
workspaces:
- name: output
workspace: shared-data
- name: ssh-directory
workspace: git-credentials
params:
- name: url
value: $(params.repo-url)
taskSpec:
workspaces:
- name: output
- name: ssh-directory
params:
- name: url
steps:
- image: 192.168.1.128:8443/gitssh:latest
script: |
set -x
cp -r $(workspaces.ssh-directory.path) ~/.ssh
chmod 700 ~/.ssh
chmod -R 400 ~/.ssh/*
git clone $(params.url) $(workspaces.output.path)
- name: cat-readme
runAfter: ["fetch-repo"]
workspaces:
- name: source
workspace: shared-data
taskSpec:
workspaces:
- name: source
steps:
- image: docker.io/debian:latest
script: |
set -x
cat $(workspaces.source.path)/README

22
runs/git-run.yaml Normal file
View File

@ -0,0 +1,22 @@
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
name: with-custom-container-2
spec:
pipelineRef:
name: cat-git-repo
workspaces:
- name: shared-data
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
- name: git-credentials
secret:
secretName: git-credentials
params:
- name: repo-url
value: ssh://git@git.jpace121.net:2222/jimmy/tekton-test.git