MinikubeでIngressの作成に失敗する
Error from server (InternalError): error when creating "keycloak-ingrers.yaml": Internal error occurred: failed calling webhook "validate.nginx.ingress.kubernetes.io": Post "https://ingress-nginx-controller-admission.ingress-nginx.svc:443/networking/v1beta1/ingresses?timeout=10s": x509: certificate signed by unknown authority
対策
kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission
APIからRealmを追加
Env Keycloak: 11.0.3
Get token
def get_token(): url = f"{BASE_URL}/auth/realms/master/protocol/openid-connect/token" realm = "your-realm" username = "your-admin-user-name" password = "your-admin-password" client_id = "client-id" payload=f'client_secret={realm}&username={username}&password={password}&grant_type=password&client_id={client_id}' headers = { 'Content-Type': 'application/x-www-form-urlencoded' } response = requests.request("POST", url, headers=headers, data=payload) return response.json()['access_token']
Create realm
def create_new_realm(id, realm, token): payload = { "id": id, "realm" : realm, "enabled" : True } url = f"{BASE_URL}/auth/admin/realms" headers = { 'Authorization': 'Bearer ' + token, 'Content-Type': 'application/json' } print(payload) response = requests.request("POST", url, headers=headers, data= json.dumps( payload)) print(response)
Quarkusを0.0.0.0にバインドする
引数に以下を追加
-Dquarkus.http.host=0.0.0.0
wslを終了する
list表示
C:\Users\mo378>wsl --list Linux 用 Windows サブシステム ディストリビューション: Ubuntu-20.04 (既定) Ubuntu-18.04 Debian
終了
wsl -t Ubuntu-20.04
WSL2にIntellijをインストールする
WSL2にIntellijをインストールする Ubuntu20.04をインストールし、WSL2にしておく
sudo apt update
X windowをインストール
sudo apt install xfce4
(LightDMを選択)
windows にVcXSrvをインストール VcXSrvの設定は以下を参考
.bashrcに以下を追記
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
bashrcを再読み込み
source ~/.bashrc
JetBrains tool boxをDL
インストール
sudo tar -xzf jetbrains-toolbox-*.tar.gz -C /usr/local/bin --strip-components 1
toolboxを起動
jetbrains-toolbox
azreu storage V12を使う方法
const { BlobServiceClient } = require('@azure/storage-blob'); const ConnectionString = ""; async function main() { console.log('Azure Blob storage v12 - JavaScript quickstart sample'); // Quick start code goes here const list = await listBlobs("blob-name"); list.forEach(element => { console.log(element); }); } async function download(containerName: string, blobName: string) { const blobServiceClient = BlobServiceClient.fromConnectionString(ConnectionString); const containerClient = blobServiceClient.getContainerClient(containerName); const blockBlobClient = containerClient.getBlockBlobClient(blobName); const blobDownloadResponse = await blockBlobClient.download(0); return blobDownloadResponse.readableStreamBody; } async function upload(containerName: string, blobName: string, data: string) { const blobServiceClient = BlobServiceClient.fromConnectionString(ConnectionString); const containerClient = blobServiceClient.getContainerClient(containerName); const blockBlobClient = containerClient.getBlockBlobClient(blobName); const uploadBlobResponse = await blockBlobClient.upload(data, data.length); return uploadBlobResponse.requestId; } async function createContainers(containerName: string) { const blobServiceClient = BlobServiceClient.fromConnectionString(ConnectionString); const containerClient = blobServiceClient.getContainerClient(containerName); try { const createContainersResponse = await containerClient.create(); return createContainersResponse.requestId; } catch (e) { console.log(e); } } async function deleteContainers(containerName: string) { const blobServiceClient = BlobServiceClient.fromConnectionString(ConnectionString); const containerClient = blobServiceClient.getContainerClient(containerName); return await containerClient.delete(); } async function listBlobs(containerName: string) { const blobServiceClient = BlobServiceClient.fromConnectionString(ConnectionString); const containerClient = blobServiceClient.getContainerClient(containerName); const blobs = []; for await (const blob of containerClient.listBlobsFlat()) { blobs.push(blob.name); } return blobs; } async function doesContainerExist(containerName: string) { const blobServiceClient = BlobServiceClient.fromConnectionString(ConnectionString); const containerClient = blobServiceClient.getContainerClient(containerName); return containerClient.exists(); } main().then(() => console.log('Done')).catch((ex) => console.log(ex.message));