Skip to content

Instantly share code, notes, and snippets.

View mathieu-benoit's full-sized avatar
🚲
learn it all

Mathieu Benoit mathieu-benoit

🚲
learn it all
View GitHub Profile
#!/bin/bash
SCORE_COMPOSE_VERSION=$(curl -sL https://api.github.com/repos/score-spec/score-compose/releases/latest | jq -r .tag_name)
wget https://github.com/score-spec/score-compose/releases/download/${SCORE_COMPOSE_VERSION}/score-compose_${SCORE_COMPOSE_VERSION}_linux_amd64.tar.gz
tar -xvf score-compose_${SCORE_COMPOSE_VERSION}_linux_amd64.tar.gz
sudo chmod +x score-compose
sudo mv score-compose /usr/local/bin
rm score-compose_${SCORE_COMPOSE_VERSION}_linux_amd64.tar.gz
rm LICENSE
rm README.md
@mathieu-benoit
mathieu-benoit / asm-kcc.yaml
Last active December 7, 2022 00:27
ASM KCC
apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1
kind: Project
metadata:
name: gkehubfeaturemembership-asm
spec:
name: Config Connector Sample
organizationRef:
# Replace "${ORG_ID?}" with the numeric ID for your organization
external: "${ORG_ID?}"
billingAccountRef:
@mathieu-benoit
mathieu-benoit / demo-meetup.sh
Created November 16, 2022 17:27
OCI with GitOps demo
#!/bin/bash
# setup
if [ ! -f demo-magic.sh ]; then
curl -LO https://github.com/paxtonhare/demo-magic/raw/master/demo-magic.sh
fi
. demo-magic.sh
clear
# demo cleanup
@mathieu-benoit
mathieu-benoit / 00_install-oras.sh
Last active September 27, 2022 16:46
Test oras with GAR
ORAS_VERSION=0.15.0
curl -LO https://github.com/oras-project/oras/releases/download/v$ORAS_VERSION/oras_$ORAS_VERSION_linux_amd64.tar.gz
mkdir -p oras-install/
tar -zxf oras_$ORAS_VERSION_*.tar.gz -C oras-install/
sudo mv oras-install/oras /usr/local/bin/
rm -rf oras_$ORAS_VERSION_*.tar.gz oras-install/
@mathieu-benoit
mathieu-benoit / new-reposync-infra.sh
Last active January 17, 2023 00:35
Add a new `RepoSync`
NAMESPACE=acm-workshop
mkdir -p ${WORK_DIR}$TENANT_PROJECT_DIR_NAME/$NAMESPACE
cat <<EOF > ${WORK_DIR}$TENANT_PROJECT_DIR_NAME/$NAMESPACE/artifactregistry-charts-reader-workload-identity-user.yaml
apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMPartialPolicy
metadata:
name: ${HELM_CHARTS_READER_GSA}-${NAMESPACE}
namespace: ${TENANT_PROJECT_ID}
annotations:
config.kubernetes.io/depends-on: iam.cnrm.cloud.google.com/namespaces/${TENANT_PROJECT_ID}/IAMServiceAccount/${HELM_CHARTS_READER_GSA}
@mathieu-benoit
mathieu-benoit / Dockerfile
Last active December 5, 2021 01:15
gke-poc-toolkit
FROM gcr.io/google.com/cloudsdktool/cloud-sdk:365.0.1-alpine
RUN gcloud components install kubectl
RUN GKEKITCTL_VERSION=v0.1.1-alpha && \
GKEKITCTL_OS=amd64 && \
curl -sLSf -o /bin/gkekitctl https://github.com/GoogleCloudPlatform/gke-poc-toolkit/releases/download/${GKEKITCTL_VERSION}/gkekitctl-${GKEKITCTL_OS} && \
chmod +x /bin/gkekitctl
ENTRYPOINT ["gkekitctl"]
@mathieu-benoit
mathieu-benoit / container-policies.rego
Created November 26, 2021 19:23
container-policies.rego
package main
# latest tag
deny[msg] {
input[i].Cmd == "from"
val := split(input[i].Value[0], ":")
count(val) == 1
msg = sprintf("Line %d: Do not use latest tag with image: %s", [i, val])
}
@mathieu-benoit
mathieu-benoit / asm-ingress-simple.yaml
Last active January 11, 2022 19:08
asm-ingress.yaml
apiVersion: v1
kind: Service
metadata:
name: istio-ingressgateway
namespace: istio-ingress
spec:
type: LoadBalancer
selector:
istio: ingressgateway
ports:
clusterName=crfa-external
gcloud container clusters create $clusterName \
--zone=$zone \
--addons=HttpLoadBalancing,CloudRun \
--machine-type=n1-standard-2 \
--num-nodes=3 \
--enable-stackdriver-kubernetes
gcloud container clusters get-credentials $clusterName \
--zone $zone
@mathieu-benoit
mathieu-benoit / handy-snippets.sh
Last active July 14, 2023 11:25
Handy snippets
curl -sL https://api.github.com/repos/score-spec/score-humanitec/releases/latest | jq -r .tag_name
INGRESS=
NAMESPACE=
kubectl -n ${NAMESPACE} annotate ingress ${INGRESS} nginx.ingress.kubernetes.io/limit-rps=5
cat <<EOF > nginx.conf
events {}
http {
server {