Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add sealed-secrets setup workflow #11

Merged
merged 9 commits into from
Oct 1, 2021

Conversation

robertchoi80
Copy link
Contributor

@robertchoi80 robertchoi80 commented Sep 28, 2021

  1. sealed-secret 인프라를 설치하고, (taco 인증서 등) 필요한 secret을 설치하는 예제 workflow 추가
    (실제 시나리오에 맞게 향후 수정될 가능성이 많습니다)

  2. parameter명 등을 통일성 있게 수정하고, steps task 사용

  • sync variable names with other workflows
  • use 'steps' instead of 'dags' when there are only sequential tasks

(정식 refactoring 전에) tks-createapp wf 등의 함수명 등을 decapod 쪽과 통일하기 위해 살짝 수정했었는데, 당장 aws 환경에 등록되어있는 workflow 에 영향을 최소화하기 위해 '-new'를 붙여서 commit했습니다. 데모 끝난 후 전체적으로 정리가 한번 필요합니다.

- sync variable names with other workflows
- use 'steps' instead of 'dags' when there are only sequential tasks
./argocd app get $CD_APP
if [[ $? -ne 0 ]]; then
echo "$CD_APP application is not in server"
# create new application if not exists.
echo ./argocd app create $CD_APP --repo $REPO --revision $REVISION --path $SITE_NAME/$TACO_APP/$PATH --dest-namespace $NAMESPACE --dest-name $TARGET_CLUSTER --project $TACO_APP --label app=$TACO_APP --directory-recurse
echo ./argocd app create $CD_APP --repo $REPO --revision $REVISION --path $SITE_NAME/$APP_GROUP/$PATH --dest-namespace $NAMESPACE --dest-name $TARGET_CLUSTER --project $APP_GROUP --label app=$APP_GROUP --directory-recurse
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zugwan @seungkyua 이 부분은 일괄 치환한 건데, 어제 오늘 실습 중에 app label 관련해서 살짝 수정을 했던 것 같은데, 혹시 고칠 내용 있는지 확인 부탁드립니다.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

음, tks 전용 createapp 워크플로우가 있는 지 지금 알았네요. 제가 수정한 부분은 decapod-flow/createapp 워크플로우 입니다.

Copy link
Contributor Author

@robertchoi80 robertchoi80 Sep 29, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zugwan 성일님이 만드신 워크플로우인데, 지금 좀 고민을 해보니, tks용 워크플로우를 따로 두지 말고, 기존 걸 활용하되 워크플로우 호출하는 쪽 (LCM 등) 에서 manifest_repo_url 인자만 "{contract_id}-manifest/{cluster_id}/ ~~~ " 식으로 동적으로 잘 만들어서 넘겨주면 되지 않을까 싶긴 합니다. 그렇게 되면 mgmt cluster나 user cluster 에 배포할 때도 동일한 로직을 사용할 수 있구요. 의견 부탁드립니다. @Jaesang @intelliguy @seungkyua

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@robertchoi80 같은 생각입니다.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

변경된 값을 자연스럽게 전달하는 것이 쉽지 않았습니다.
저도 중요도가 높지 않다고 생각해서 이렇게 구성했었습니다.
변경된 값을 파라미터로 넘기는 부분을 넣어주면 더 좋긴하겠네요

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

네 이건 데모 끝나고, 수정해보겠습니다

git clone https://$(echo $gittoken|xargs)@{{input.parameters.repo_url}}
repo_name=$(basename "{{input.parameters.repo_url}}")

kubectl apply -f $repo_name/{{input.parameters.secret_path}}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

해당 apply가 유저 클러스터에 적용되는 것은 어떻게 보장되나요? (어드민 클러스터에 적용될수도 있지 않을까요)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아 맞네요! 이대로 돌리면 기본적으로 admin (정확히는 current-context) 쪽에 설치될 텐데, 클러스터를 선택해서 배포할 수 있도록 보완이 필요할 것 같습니다. 지금 환경 들어가보니 클러스터별로 별도의 kubeconfig 파일 사용하는 듯 보이는데 그럼 --kubeconfig 옵션 지정으로 처리하면 되려나요??

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

승규님과 성일님이 작업하신 내용중에 있을거에요, 싱크때 확인하시는게 좋을것 같습니다.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

네 승규님 코드 참고하여 추가했습니다

@robertchoi80 robertchoi80 changed the title add sealed-secrets setup workflow [WIP] add sealed-secrets setup workflow Sep 29, 2021
- one for admin cluster, the other for user cluster
until tks-createapp-wf is refactored soon
@robertchoi80 robertchoi80 changed the title [WIP] add sealed-secrets setup workflow add sealed-secrets setup workflow Oct 1, 2021
@@ -1,19 +1,23 @@
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
name: tks-create-application
name: tks-create-application-new
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이름을 new로 바꿀 이유가 무엇인가요?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

본문에 적었는데, 혹시나 현재 데모 실습 중인 환경에서 기존에 등록된 workflow를 참조하는 곳이 있을까 하여 그랬습니다. 사실 new 빼고 실습하면서 에러 잡아나가도 되긴 합니다.

@Jaesang Jaesang self-requested a review October 1, 2021 05:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants