Skip to content

NimTechnology

Trình bày các công nghệ CLOUD một cách dễ hiểu.

  • Kubernetes & Container
    • Docker
    • Kubernetes
      • Ingress
    • Helm Chart
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
    • MetalLB
    • Kong Gateway
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Spinnaker
    • Jenkins
    • Harbor
    • TeamCity
    • Git
      • Bitbucket
  • Coding
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
    • Golang
    • Laravel
    • Python
    • Jquery & JavaScript
    • Selenium
  • Log & Monitor
    • DataDog
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
    • NextCloud
  • Toggle search form

[spinnaker/Github] Login spinnaker through github

Posted on November 7, 2021March 22, 2022 By nim No Comments on [spinnaker/Github] Login spinnaker through github

Contents

  • 1) Create OAuth Apps on Github
  • 2) Config spinnaker to integrate github
  • 3) Practise login
  • 4) Filter user login.
  • 5) Authen with google.

1) Create OAuth Apps on Github

Ở đây phần ingress mình chỉ tạo 1 như dưới:

Không cần tạo thêm ingress cho gate

Bổ sung(Tue, Mar 22th, 2022)
Các bạn sẽ cần add thêm path của ingress trên là /auth -> trỏ vào svc spin-gate nữa nhé.
Để khi login xong thì redirect về spinnaker ko bị đứng

2) Config spinnaker to integrate github

[Spinnaker] Install Spinnaker on Kubernetes through Helm from OpsMx
Mình cài spinnaker bằng cách này.
Khi bạn cài spinnaker của OpsMx thì ko cần tạo ingress cho gate

giờ bạn exec vào hal

sau đó gõ các command bên dưới

CLIENT_ID=2b7b06b5251b5fa1a6ad
CLIENT_SECRET=xxxxxxxxx87655f0ae01fe4a2a6e3fb9d95c1e8
PROVIDER=github|google|azure

hal config security api edit \
    --override-base-url http://spin.nimtechnology.com/gate

hal config security ui edit \
    --override-base-url http://spin.nimtechnology.com

hal config security authn oauth2 edit \
  --client-id $CLIENT_ID \
  --client-secret $CLIENT_SECRET \
  --provider $PROVIDER

REDIRECT_URL='http://spin.nimtechnology.com/gate/login'
hal config security authn oauth2 edit --pre-established-redirect-uri $REDIRECT_URL

hal config security authn oauth2 enable

hal deploy apply

>>>Kiểm tra
cat /home/spinnaker/.hal/config
Đã ăn config

3) Practise login

Bạn thực hiện truy cập:
http://spin.nimtechnology.com/
http://spin.nimtechnology.com/gate/login

Nó sẽ chuyển qua đăng nhập bằng github
Hiện tại khi redirect đang bị not found ở đây.
Gõ lại đường link là sẽ vào được
https://github.com/OpsMx/OpsMx-Spinnaker-Tutorial/blob/master/scripts/Spinnaker-Install-OAuth.sh

4) Filter user login.

Ở phần trên chúng ta chỉ mới authen thôi.

nghĩa là user nào mà đăng nhập github thành công thì sẽ login được vào spinnaker của các bạn. hí hí.
vậy giờ làm sao?

Giờ mình cung cấp cho bạn 1 từ khoá là “userInfoRequirements”

tài liệu tham khảo:
https://youngookkim.tistory.com/40
https://spinnaker.io/docs/setup/other_config/security/authentication/oauth/#restricting-access-based-on-user-info

security:
  oauth2:
    client:
      clientId: changeme
      clientSecret: changeme
      useCurrentUri: false
      scope: user:email
      accessTokenUri: https://github.com/login/oauth/access_token
      userAuthorizationUri: https://github.com/login/oauth/authorize
    resource:
      userInfoUri: https://api.github.com/user
    userInfoMapping:
      email: email
      firstName: name
      username: login
    userInfoRequirements:
      email: /(.*)@(company|corp)\.com$/

regex filter email mà mình tìm được

https://www.regextester.com/93886

^[a-z][a-z0-9_.]{5,32}@nimtechnology.com

KIỂM TRA EMAIL HỢP LỆ

+ địa chỉ email phải bắt đầu bằng 1 ký tự + địa chỉ email là tập hợp của các ký tự a-z, 0-9 và có thể có các ký tự như dấu chấm, dấu gạch dưới + độ dài tối thiểu của email là 5, độ dài tối đa là 32 + tên miền của email có thể là tên miền cấp 1 or tên miền cấp 2

5) Authen with google.

https://spinnaker.io/docs/setup/other_config/security/authentication/oauth/google/

Spinnaker

Post navigation

Previous Post: [Longhorn] fix No schedule volumes in Taint Toleration Nodes
Next Post: [Grafana/Prometheus] Design chart for bucket metrics to Grafana

More Related Articles

[Spinnaker] Spinnaker writes too many logs – Reduce spinnaker log level Spinnaker
[Spinnaker-Github-Helm-K8S]Hướng dẫn cấu hình Spinnaker deploy lên kubernetes dựa vào Helm CI/CD
[Spinnaker] Design CD on Kubernetes by Spinnaker Spinnaker
[Spinnaker] Install Spinnaker on Kubernetes through Helm from OpsMx Kubernetes & Container
[Spinnaker] Spin CLI Spinnaker
[spinnaker] Command spin receive status 500 Spinnaker

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tham Gia Group DevOps nhé!
Để Nim có nhiều động lực ra nhiều bài viết.
Để nhận được những thông báo mới nhất.

Recent Posts

  • [Prometheus/Grafana] Install Prometheus and Grafana on ubuntu. March 27, 2023
  • [Kong Gateway] WebSocket connection failed March 26, 2023
  • [Nextcloud] Can’t download files to have a size bigger than 2Gi on NextCloud – RaspBerry March 24, 2023
  • [Datadog] Using DataDog to monitor all services on kubernetes March 19, 2023
  • [Metrics Server] Failed to make webhook authorizer request: the server could not find the requested resource March 17, 2023

Archives

  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Categories

  • BareMetal
    • NextCloud
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Git
      • Bitbucket
    • Harbor
    • Jenkins
    • Spinnaker
    • TeamCity
  • Coding
    • Golang
    • Jquery & JavaScript
    • Laravel
    • Python
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kong Gateway
    • Kubernetes
      • Ingress
    • Longhorn – Storage
    • MetalLB
    • Vault
    • VictoriaMetrics
  • Log & Monitor
    • DataDog
    • ELK
      • Kibana
      • Logstash
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2023 NimTechnology.