Skip to content

Instantly share code, notes, and snippets.

@s2504s
s2504s / SAMLIdentityProviderWithCert.kt
Created July 22, 2023 07:51 — forked from Szer/SAMLIdentityProviderWithCert.kt
SAML IDP with custom certificate
package com.thriveglobal.identity.keycloak.idp
import com.thriveglobal.identity.keycloak.utils.Utils.logger
import java.security.PrivateKey
import java.security.PublicKey
import java.util.*
import java.util.stream.Stream
import org.keycloak.broker.saml.SAMLIdentityProvider
import org.keycloak.broker.saml.SAMLIdentityProviderConfig
import org.keycloak.broker.saml.SAMLIdentityProviderFactory
@s2504s
s2504s / pritunl_mongo_audit_query.py
Created May 16, 2023 09:32 — forked from jonathanhle/pritunl_mongo_audit_query.py
pritunl mongodb query for user info
# Requires pymongo 3.6.0+
from datetime import datetime, timedelta
from pymongo import MongoClient
from bson.tz_util import FixedOffset
from bson.son import SON
from collections import OrderedDict
# Setup logger
import logging
postgres:
image: postgres:${POSTGRES_VERSION}
container_name: postgres
environment:
POSTGRES_DB: ${POSTGRES_DATABASE_NAME}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
restart: unless-stopped
ports:
- 5432:5432
@s2504s
s2504s / certbot.sh
Created December 16, 2022 13:28
Install certbot
# Use this image https://hub.docker.com/r/certbot/dns-cloudflare
docker pull certbot/dns-cloudflare
docker run -it --rm --name certbot -v "${PWD}/etc/letsencrypt:/etc/letsencrypt" -v "${PWD}/var/lib/letsencrypt:/var/lib/letsencrypt" certbot/dns-cloudflare certonly
@s2504s
s2504s / get_user_data.sh
Last active December 2, 2022 09:07
Get user-data from metadata
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/user-data
```
docker run --rm -v ${PWD}:/app -v trivy-cache:/root/.cache/trivy -w /app --entrypoint /bin/sh -ti aquasec/trivy
```
docker run -v trivy-cache:/root/.cache -v /var/run/docker.sock:/var/run/docker.sock aquasec/trivy i --ignore-unfixed --skip-dirs "/tmp" --no-progress --severity CRITICAL,HIGH,MEDIUM --exit-code 1 --timeout 5m my_image_name
Create map with skipped dirs - key is SOURCE_REPO_URL and value is a list with skipped directories:
```bash
def skip_dirs = [
'my_git_url.git': ["/tmp", "/bin/"],
URI dbUri = new URI('http://google.com/?q=URL')
def username = dbUri?.getUserInfo()?.split(":")?.getAt(0)
def password = dbUri?.getUserInfo()?.split(":")?.getAt(1)
def host = dbUri?.getHost()
def databaseInstance = dbUri?.getPath()
def url = "jdbc:mysql://" + host + databaseInstance
Воспользуемся всем знакомой утилитой openssl, чтобы вытащить открытую часть pfx-сертификата 1:
openssl pkcs12 -in certificate.pfx -clcerts -nokeys -out certificate.crt
openssl pkcs12 -in certificate.pfx -clcerts -nokeys -out certificate.crt
Нужно будет ввести пароль, который вы указывали при экспорте .pfx-сертификата. Теперь попробуем извлечь закрытую часть сертификата, поместив её в отдельный запароленный файл:
openssl pkcs12 -in certificate.pfx -nocerts -out key-encrypted.key
openssl pkcs12 -in certificate.pfx -nocerts -out key-encrypted.key
После выполнения команды вам придется ввести не только пароль, который использовался для экспорта .pfx-сертификата, но и новый пароль, необходимый для защиты .key-файла. Далее вы вполне можете использовать все полученные ранее файлы сертификата для настройки какого-либо сервиса, использующего SSL. Например Apache (см. секцию ниже в качестве примера).
@s2504s
s2504s / docker-compose.yml
Created March 12, 2021 14:43 — forked from freeseacher/docker-compose.yml
one-more-prom-slides
version: '2.3'
services:
prom:
image: prom/prometheus:v2.23.0
ports:
- 9090:9090
volumes:
- "$PWD/configs:/etc/prometheus:ro"
command:
- --config.file=/etc/prometheus/prometheus.yml
@s2504s
s2504s / patch_example.md
Created February 19, 2021 16:49 — forked from coresolve/patch_example.md
An example of using kubectl patch

Start with a simple deployment:

kubectl run simple --image=quay.io/dcooley/simple-app:plain --replicas=3 --port=80 --labels=app=simple

show the yaml for this deployment:

$ kubectl get deployment simple -o yaml --export
apiVersion: extensions/v1beta1
kind: Deployment