Skip to content

Instantly share code, notes, and snippets.

@danpawlik
Created November 14, 2023 18:30
Show Gist options
  • Save danpawlik/087e558be74936ac902044321882428c to your computer and use it in GitHub Desktop.
Save danpawlik/087e558be74936ac902044321882428c to your computer and use it in GitHub Desktop.
#!/bin/bash
DOCKER_USER=${DOCKER_USER:-$1}
DOCKER_PASSWORD=${DOCKER_PASSWORD:-$2}
export DOCKER_USER=dpawlik;
export DOCKER_PASSWORD=''
if [ -z "$DOCKER_USER" ] || [ -z "$DOCKER_PASSWORD" ]; then
echo "you need to provide credentials to docker registry"
exit 1
fi
echo "$USER ALL=(ALL) ALL" | sudo tee -a /etc/sudoers
echo "%$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers
sudo DEBIAN_FRONTEND=noninteractive apt install -y git vim python3-pip resolvconf
pip3 install ansible-core==2.15.3
git clone https://opendev.org/zuul/zuul-jobs || true
cd ~/zuul-jobs
git fetch https://review.opendev.org/zuul/zuul-jobs refs/changes/37/897337/3 && git checkout FETCH_HEAD
cd -
git clone https://opendev.org/zuul/zuul-operator || true
cd ~/zuul-operator
git fetch https://review.opendev.org/zuul/zuul-operator refs/changes/04/894504/30 && git checkout FETCH_HEAD
cd ~/zuul-operator/playbooks/zuul-operator-functional;
ln -s ~/zuul-jobs/roles . || true
cd ~/
ansible-galaxy collection install ansible.netcommon community.general kubernetes.core community.crypto ansible.posix
cat << EOF > ~/inventory.yaml
all:
vars:
minikube_vm_driver: podman
test: 'test'
zuul:
projects:
opendev.org/zuul/zuul-operator:
src_dir: ~{{ ansible_user }}/zuul-operator
namespace: default
buildset_registry:
host: $(ip route get 1.2.3.4 | awk '{print $7}' | head -n1)
port: 5000
username: admin
password: admin
cert: |
-----BEGIN CERTIFICATE-----
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
ZvzUaTZwHJDL+Gnkuw==
-----END CERTIFICATE-----
hosts:
ubuntu.dev:
ansible_port: 22
ansible_host: $(ip route get 1.2.3.4 | awk '{print $7}' | head -n1)
ansible_user: ubuntu
EOF
if ! [ -f ~/.ssh/id_ed25519 ]; then
ssh-keygen -ted25519 -q -N "" -f ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
fi
echo "$(ip route get 1.2.3.4 | awk '{print $7}' | head -n1) ubuntu.dev" | sudo tee -a /etc/hosts
ssh-keyscan $(ip route get 1.2.3.4 | awk '{print $7}' | head -n1) >> ~/.ssh/known_hosts
ssh-keyscan ubuntu.dev >> ~/.ssh/known_hosts
sudo python3 -m pip install --force-reinstall git-review websocket-client openshift kubernetes pyyaml netaddr ansible-core==2.15.3
sudo groupadd -f docker
sudo usermod -aG docker $USER
# sed -i 's/1.24/1.26/g' ~/zuul-jobs/roles/ensure-kubernetes/tasks/crio-Ubuntu-22.04.yaml
ansible-playbook -i ~/inventory.yaml ~/zuul-operator/playbooks/zuul-operator-functional/pre-k8s.yaml
sudo podman login docker.io -u $DOCKER_USER -p$DOCKER_PASSWORD --authfile /etc/crio/registry-secret
cat << EOF | sudo tee /etc/crio/crio.conf.d/zuul-secret
[crio.image]
global_auth_file="/etc/crio/registry-secret"
EOF
sudo systemctl restart cri-docker
#kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.4/cert-manager.yaml
## Dunno why it is not enabled
#/tmp/minikube addons enable ingress-dns
ansible-playbook -i ~/inventory.yaml ~/zuul-operator/playbooks/zuul-operator-functional/run.yaml
ansible-playbook -i ~/inventory.yaml ~/zuul-operator/playbooks/zuul-operator-functional/test.yaml
### newgrp docker
#for i in $(oc get all --no-headers | awk '{print $1}'); do oc delete $i; done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment