Initial clone with pipeline.
This commit is contained in:
commit
1399f382b1
|
|
@ -0,0 +1 @@
|
||||||
|
secrets/
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
FROM docker.io/debian:bullseye-slim
|
||||||
|
|
||||||
|
RUN apt update -y && \
|
||||||
|
apt install -y \
|
||||||
|
git \
|
||||||
|
openssh-client
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"apiVersion": "v1",
|
||||||
|
"kind": "Namespace",
|
||||||
|
"metadata": {
|
||||||
|
"name": "j7s-dev",
|
||||||
|
"labels": {
|
||||||
|
"name": "j7s-dev"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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
|
||||||
Loading…
Reference in New Issue