Skip to content

Instantly share code, notes, and snippets.

@tylrd
Created April 10, 2021 18:41
Show Gist options
  • Save tylrd/70eb0a1e3ffb9da437b2a56a1e129d03 to your computer and use it in GitHub Desktop.
Save tylrd/70eb0a1e3ffb9da437b2a56a1e129d03 to your computer and use it in GitHub Desktop.
Gradle Enterprise Patch
#!/usr/bin/env bash
set -e
cd "${BASH_SOURCE%/*}"
K8S_NAMESPACE=gradle-enterprise
if [[ -z $K8S_NAMESPACE ]]; then
echo "Installing Gradle Enterprise"
else
echo "Installing Gradle Enterprise into 'gradle-enterprise' namespace..."
fi
unset FAILED
K8S_CMD=kubectl
K8S_NS_OPT=--namespace=${K8S_NAMESPACE}
$K8S_CMD $K8S_NS_OPT get secret replicatedregistrykey >/dev/null 2>&1 \
|| $K8S_CMD $K8S_NS_OPT create secret generic replicatedregistrykey --type='kubernetes.io/dockerconfigjson' --from-file=.dockerconfigjson=docker_pull_secret.json
$K8S_CMD $K8S_NS_OPT apply -k . || FAILED=1
if [ ${FAILED} ]
then
echo "Failed to apply Kubernetes configuration. See above errors for details."
exit 1
fi
echo "Gradle Enterprise has been successfully installed."
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- gradle_enterprise.yaml
patchesStrategicMerge:
- patch.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: gradle-build-cache
spec:
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: In
values:
- gradle
tolerations:
- key: "reserved"
operator: "Equal"
value: "gradle"
effect: "NoSchedule"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gradle-admin
spec:
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: In
values:
- gradle
tolerations:
- key: "reserved"
operator: "Equal"
value: "gradle"
effect: "NoSchedule"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gradle-keycloak
spec:
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: In
values:
- gradle
tolerations:
- key: "reserved"
operator: "Equal"
value: "gradle"
effect: "NoSchedule"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gradle-test-distribution-broker
spec:
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: In
values:
- gradle
tolerations:
- key: "reserved"
operator: "Equal"
value: "gradle"
effect: "NoSchedule"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gradle-proxy
spec:
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: In
values:
- gradle
tolerations:
- key: "reserved"
operator: "Equal"
value: "gradle"
effect: "NoSchedule"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gradle-metrics
spec:
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: In
values:
- gradle
tolerations:
- key: "reserved"
operator: "Equal"
value: "gradle"
effect: "NoSchedule"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gradle-database
spec:
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: In
values:
- gradle
tolerations:
- key: "reserved"
operator: "Equal"
value: "gradle"
effect: "NoSchedule"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gradle-server
spec:
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: In
values:
- gradle
tolerations:
- key: "reserved"
operator: "Equal"
value: "gradle"
effect: "NoSchedule"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gradle-build-cache
spec:
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: In
values:
- gradle
tolerations:
- key: "reserved"
operator: "Equal"
value: "gradle"
effect: "NoSchedule"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gradle-admin
spec:
template:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: type
operator: In
values:
- gradle
tolerations:
- key: "reserved"
operator: "Equal"
value: "gradle"
effect: "NoSchedule"
@tylrd
Copy link
Author

tylrd commented Apr 10, 2021

The only thing changed in the install.sh is changing the kubectl apply -f gradle_enterprise.yaml to kubectl apply -k .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment