Concourse Lab Creation

Leer AWS hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Toetsomgewing

Uitvoer van Concourse

Met Docker-Compose

Hierdie docker-compose lêer vereenvoudig die installasie om toetse met concourse te doen:

wget https://raw.githubusercontent.com/starkandwayne/concourse-tutorial/master/docker-compose.yml
docker-compose up -d

Jy kan die opdraglyn fly vir jou bedryfstelsel aflaai van die web by 127.0.0.1:8080

Met Kubernetes (Aanbeveel)

Jy kan maklik Concourse in Kubernetes (in minikube byvoorbeeld) implementeer deur die helm-grafiek te gebruik: concourse-chart.

brew install helm
helm repo add concourse https://concourse-charts.storage.googleapis.com/
helm install concourse-release concourse/concourse
# concourse-release will be the prefix name for the concourse elements in k8s
# After the installation you will find the indications to connect to it in the console

# If you need to delete it
helm delete concourse-release

Nadat die Concourse-omgewing gegenereer is, kan jy 'n geheim skep en toegang gee aan die SA wat in die Concourse-web hardloop om toegang tot K8s-geheime te verkry:

echo 'apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: read-secrets
rules:
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]

---

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-secrets-concourse
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: read-secrets
subjects:
- kind: ServiceAccount
name: concourse-release-web
namespace: default

---

apiVersion: v1
kind: Secret
metadata:
name: super
namespace: concourse-release-main
type: Opaque
data:
secret: MWYyZDFlMmU2N2Rm

' | kubectl apply -f -

Skep Pyplyn

'n Pyplyn bestaan uit 'n lys van Take wat 'n geordende lys van Stappe bevat.

Stappe

Verskeie verskillende tipes stappe kan gebruik word:

Elke stap in 'n werkplan loop in sy eie houer. Jy kan enigiets binne die houer uitvoer (d.w.s. voer my toetse uit, voer hierdie bash-skrip uit, bou hierdie prentjie, ens.). As jy dus 'n taak met vyf stappe het, sal Concourse vyf houers skep, een vir elke stap.

Daarom is dit moontlik om die tipe houer aan te dui waarin elke stap moet loop.

Eenvoudige Pyplyn Voorbeeld

jobs:
- name: simple
plan:
- task: simple-task
privileged: true
config:
# Tells Concourse which type of worker this task should run on
platform: linux
image_resource:
type: registry-image
source:
repository: busybox # images are pulled from docker hub by default
run:
path: sh
args:
- -cx
- |
sleep 1000
echo "$SUPER_SECRET"
params:
SUPER_SECRET: ((super.secret))
fly -t tutorial set-pipeline -p pipe-name -c hello-world.yml
# pipelines are paused when first created
fly -t tutorial unpause-pipeline -p pipe-name
# trigger the job and watch it run to completion
fly -t tutorial trigger-job --job pipe-name/simple --watch
# From another console
fly -t tutorial intercept --job pipe-name/simple

Kyk na 127.0.0.1:8080 om die pyplynvloei te sien.

Bash-skrip met uitvoer/invoer-pyplyn

Dit is moontlik om die resultate van een taak in 'n lêer te stoor en aan te dui dat dit 'n uitvoer is, en dan die invoer van die volgende taak aan te dui as die uitvoer van die vorige taak. Wat Concourse doen, is om die gids van die vorige taak in die nuwe taak te monteer waar jy toegang kan verkry tot die lêers wat deur die vorige taak geskep is.

Aanwysers

Jy hoef nie die take handmatig te aktiveer elke keer as jy hulle wil uitvoer nie, jy kan hulle ook programmeer om elke keer uitgevoer te word:

Kyk na 'n YAML-pyplynvoorbeeld wat geaktiveer word met nuwe toewysings aan die hooftak in https://concourse-ci.org/tutorial-resources.html

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated