Mais conteúdo relacionado
Semelhante a パフォーマンス計測Ciサービスを作って得た知見を共有したい (20)
Mais de zaru sakuraba (13)
パフォーマンス計測Ciサービスを作って得た知見を共有したい
- 13. OAuth Apps (従来のもの) はユーザに対してインストール
ユーザが削除されたりリポジトリへの権限を失うと消える
アクセストークンはユーザが取り消さない限り永久有効
GitHub Apps はリポジトリに対してインストール
正確にはリポジトリのオーナー(Organization やUser)に
インストールして、配下のリポジトリに付与するようなイメージ
アクセストークンの有効期限は1時間
GitHub Apps のOAuth も可能
こちらはユーザ情報を取得するために使う(限定的)
マーケットプレイスに出せる
- 14. OAuth Apps ではbot がコメントするためには実ユーザになりすます
GitHub Apps は一人格としてコメントできる
OAuth したユーザの代わりにもコメントできる
- 20. JWT コード例
private_pem = File.read(path_to_pem)
private_key = OpenSSL::PKey::RSA.new(private_pem)
payload = {
iat: Time.now.to_i,
exp: Time.now.to_i + (10 * 60),
iss: <GitHub App ID>
}
jwt = JWT.encode(payload, private_key, "RS256")
- 23. GitHub Apps にもユーザ情報を取得するOAuth がある
取得できるユーザの情報は限定されている
ユーザ名やID・アバター
公開設定のEmail
非公開の場合はnull
/user/emails にはアクセスできない
将来的には取得できるようになるっぽいが…
インストール済みリポジトリ/ Public リポジトリ
インストールしてないPrivate リポジトリは取得できない
リポジトリの検索などはできない
- 38. upstream http_backend {
# server example.ngrok.io; # ngrokの場合
server 10.0.0.10:3000; # ローカルのグローバルIP
keepalive 128;
}
server {
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-CSRF-Token $http_x_csrf_token;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
# proxy_set_header Host example.ngrok.io; # ngrokの場合
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_pass http://http_backend/;
}
}
- 66. resources を指定してリソースを固定する
resources:
requests: # 最低限
cpu: 200m
memory: 512M
limits: # 最大
cpu: 200m
memory: 512M
ちゃんと指定しないとパフォーマンスがかなりブレる
1CPUに対しての割合を指定する。 0.1 は 100m
m はミリコアと読んだりする
メモリ使用が指定量を超えたらPod が死ぬ(再起動)
CPU は指定量を超えたら水平オートスケールする(設定が必要)
- 67. 環境変数・秘匿情報について
env:
- name: FOO_KEY # 普通の環境変数
value: "foo value"
- name: SECRET_KEY # 秘匿情報
valueFrom:
secretKeyRef:
name: secret_name
key: secret_key
k8sクラスタに接続できるなら誰でも閲覧可能
秘匿情報はsecrets API 経由で取得するようにする