diff --git a/.github/workflows/deplay-app-with-argocd.yaml b/.github/workflows/deplay-app-with-argocd.yaml new file mode 100644 index 00000000..b156e692 --- /dev/null +++ b/.github/workflows/deplay-app-with-argocd.yaml @@ -0,0 +1,19 @@ +name: argocd job +on: + pull_request: + branches: ["main", "stable", "release/v*"] + workflow_dispatch: + branches: + - main + +jobs: + argocd-job: + name: + uses: svc-design/actions/.github/workflows/workflows-call-gitops.yaml@main + with: + apiserver: "https://35.200.69.238:6443" + namespace: "itsm-dev" + helmfile: "helm_releases/apps/redis" + config_repo: "https://github.com/svc-design/gitops.git" + secrets: + KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }} diff --git a/.github/workflows/iac-pipeline-signal-cluster-argo-server.yml b/.github/workflows/iac-pipeline-signal-cluster-argo-server.yml new file mode 100644 index 00000000..6d408f88 --- /dev/null +++ b/.github/workflows/iac-pipeline-signal-cluster-argo-server.yml @@ -0,0 +1,44 @@ +name: Setup ArgoCD Server + +env: + STATE: "create" # 可以根据需要更改初始状态, 可选create,update, destroy + CLOUD: "gcp" # 选择云服务商, 可选: gcp, aws, ali, azure + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + SSH_USER: ${{ secrets.HOST_USER }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + +on: + pull_request: + push: + paths: + - '.github/workflows/iac-pipeline-signal-cluster-argo-server.yml' + workflow_dispatch: + branches: + - main + +jobs: + apply-cluster-resources: + uses: svc-design/actions/.github/workflows/setup-gcp-cloud.yml@main + with: + config: 'signal-cluster-config-argo-server.yaml' + secrets: + SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + + setup-k3s-cluster-with-argo-server: + uses: svc-design/actions/.github/workflows/setup-k3s-cluster-argocd.yml@main + with: + domain: 'onwalk.net' + cluster_name: 'argocd' + ssh_host_name: 'argocd' + secrets: + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + VAULT_URL: ${{ secrets.VAULT_URL }} + VAULT_TOKEN: ${{ secrets.VAULT_TOKEN }} + SSH_USER: ${{ secrets.HOST_USER }} + needs: + - apply-cluster-resources diff --git a/.github/workflows/iac-pipeline-signal-cluster-chaos-mesh.yml b/.github/workflows/iac-pipeline-signal-cluster-chaos-mesh.yml new file mode 100644 index 00000000..4746a155 --- /dev/null +++ b/.github/workflows/iac-pipeline-signal-cluster-chaos-mesh.yml @@ -0,0 +1,74 @@ +name: Setup Chaos-mesh Server + +env: + STATE: "create" # 可以根据需要更改初始状态, 可选create,update, destroy + CLOUD: "gcp" # 选择云服务商, 可选: gcp, aws, ali, azure + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + SSH_USER: ${{ secrets.HOST_USER }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + +on: + pull_request: + push: + paths: + - '.github/workflows/iac-pipeline-signal-cluster-chaos-mesh.yml' + workflow_dispatch: + branches: + - main + +jobs: + apply-cluster-resources: + uses: svc-design/actions/.github/workflows/setup-gcp-cloud.yml@main + with: + config: 'signal-cluster-config-chaosmesh-server.yaml' + secrets: + SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + + setup-k3s-cluster: + uses: svc-design/actions/.github/workflows/setup-k3s-cluster.yml@main + with: + domain: 'onwalk.net' + cluster_name: 'chaosmesh' + ssh_host_name: 'chaosmesh' + secrets: + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + VAULT_URL: ${{ secrets.VAULT_URL }} + VAULT_TOKEN: ${{ secrets.VAULT_TOKEN }} + SSH_USER: ${{ secrets.HOST_USER }} + needs: + - apply-cluster-resources + + setup-iac-pipeline-signal-cluster-chaos-mesh-server: + uses: svc-design/actions/.github/workflows/setup-chaos-mesh.yaml@main + with: + domain: 'onwalk.net' + cluster_name: 'chaosmesh' + ssh_host_name: 'chaosmesh' + secrets: + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + SSH_USER: ${{ secrets.HOST_USER }} + needs: + - setup-k3s-cluster + + setup-deepflow-server: + uses: svc-design/actions/.github/workflows/setup-deepflow-server.yml@main + with: + domain: 'onwalk.net' + cluster_name: 'chaosmesh' + ssh_host_name: 'chaosmesh' + secrets: + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + SSH_USER: ${{ secrets.HOST_USER }} + needs: + - setup-k3s-cluster diff --git a/.github/workflows/iac-pipeline-signal-cluster-create.yml b/.github/workflows/iac-pipeline-signal-cluster-create.yml index 4ef90d86..238c5465 100644 --- a/.github/workflows/iac-pipeline-signal-cluster-create.yml +++ b/.github/workflows/iac-pipeline-signal-cluster-create.yml @@ -29,7 +29,7 @@ jobs: setup-k3s-cluster: uses: svc-design/actions/.github/workflows/setup-k3s-cluster.yml@main with: - domain: 'svc-dev.ink' + domain: 'onwalk.net' cluster_name: 'monitor' ssh_host_name: 'monitor' secrets: @@ -43,17 +43,15 @@ jobs: needs: - apply-cluster-resources - setup-observability-tools: - uses: svc-design/actions/.github/workflows/setup-observability-server.yml@main - with: - domain: 'svc-dev.ink' - cluster_name: 'monitor' - ssh_host_name: 'monitor' - secrets: - GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} - SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} - DNS_AK: ${{ secrets.DNS_AK }} - DNS_SK: ${{ secrets.DNS_SK }} - SSH_USER: ${{ secrets.HOST_USER }} - needs: - - setup-k3s-cluster +# argocd-job: +# name: +# uses: svc-design/actions/.github/workflows/workflows-call-gitops.yaml@main +# with: +# apiserver: "https://35.200.69.238:6443" +# namespace: "itsm-dev" +# helmfile: "helm_releases/apps/redis" +# config_repo: "https://github.com/svc-design/gitops.git" +# secrets: +# KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }} +# needs: +# - setup-k3s-cluster diff --git a/.github/workflows/iac-pipeline-signal-cluster-harbor.yml b/.github/workflows/iac-pipeline-signal-cluster-harbor.yml new file mode 100644 index 00000000..292e3387 --- /dev/null +++ b/.github/workflows/iac-pipeline-signal-cluster-harbor.yml @@ -0,0 +1,61 @@ +name: Setup harbor Server with IAC + +env: + STATE: "create" # 可以根据需要更改初始状态, 可选create,update, destroy + CLOUD: "gcp" # 选择云服务商, 可选: gcp, aws, ali, azure + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + SSH_USER: ${{ secrets.HOST_USER }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + +on: + pull_request: + push: + paths: + - '.github/workflows/setup-harbor-server.yml' + workflow_dispatch: + branches: + - main + +jobs: + apply-cluster-resources: + uses: svc-design/actions/.github/workflows/setup-gcp-cloud.yml@main + with: + config: 'signal-cluster-config-chaosmesh-server.yaml' + secrets: + SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + + setup-k3s-cluster: + uses: svc-design/actions/.github/workflows/setup-k3s-cluster.yml@main + with: + domain: 'onwalk.net' + cluster_name: 'chaosmesh' + ssh_host_name: 'chaosmesh' + secrets: + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + VAULT_URL: ${{ secrets.VAULT_URL }} + VAULT_TOKEN: ${{ secrets.VAULT_TOKEN }} + SSH_USER: ${{ secrets.HOST_USER }} + needs: + - apply-cluster-resources + + setup-iac-pipeline-signal-cluster-harbor-server: + uses: svc-design/actions/.github/workflows/setup-harbor-server.yml@main + with: + domain: 'onwalk.net' + cluster_name: 'chaosmesh' + ssh_host_name: 'chaosmesh' + secrets: + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + OSS_AK: ${{ secrets.OSS_AK }} + OSS_SK: ${{ secrets.OSS_SK }} + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + SSH_USER: ${{ secrets.HOST_USER }} + needs: + - setup-k3s-cluster diff --git a/.github/workflows/iac-pipeline-signal-cluster-jenkins.yml b/.github/workflows/iac-pipeline-signal-cluster-jenkins.yml new file mode 100644 index 00000000..02e368e8 --- /dev/null +++ b/.github/workflows/iac-pipeline-signal-cluster-jenkins.yml @@ -0,0 +1,60 @@ +name: Setup Jenkins Server + +env: + STATE: "create" # 可以根据需要更改初始状态, 可选create,update, destroy + CLOUD: "gcp" # 选择云服务商, 可选: gcp, aws, ali, azure + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + SSH_USER: ${{ secrets.HOST_USER }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + +on: + pull_request: + push: + paths: + - '.github/workflows/iac-pipeline-signal-cluster-jenkins.yml' + workflow_dispatch: + branches: + - main + +jobs: + apply-cluster-resources: + uses: svc-design/actions/.github/workflows/setup-gcp-cloud.yml@main + with: + config: 'signal-cluster-config-jenkins-server.yaml' + secrets: + SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + + setup-k3s-cluster: + uses: svc-design/actions/.github/workflows/setup-k3s-cluster.yml@main + with: + domain: 'onwalk.net' + cluster_name: 'jenkins' + ssh_host_name: 'jenkins' + secrets: + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + VAULT_URL: ${{ secrets.VAULT_URL }} + VAULT_TOKEN: ${{ secrets.VAULT_TOKEN }} + SSH_USER: ${{ secrets.HOST_USER }} + needs: + - apply-cluster-resources + + setup-jenkins-server: + uses: svc-design/actions/.github/workflows/setup-jenkins-server.yaml@main + with: + domain: 'onwalk.net' + cluster_name: 'jenkins' + ssh_host_name: 'jenkins' + secrets: + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + SSH_USER: ${{ secrets.HOST_USER }} + ADMIN_PASSWORD: ${{ secrets.ADMIN_INIT_PASSWORD }} + needs: + - setup-k3s-cluster diff --git a/.github/workflows/iac-pipeline-signal-cluster-keycloak.yml b/.github/workflows/iac-pipeline-signal-cluster-keycloak.yml new file mode 100644 index 00000000..010b58bb --- /dev/null +++ b/.github/workflows/iac-pipeline-signal-cluster-keycloak.yml @@ -0,0 +1,60 @@ +name: Signal K3S Cluster Pipeline Keycloak with IAC tools + +env: + STATE: "create" # 可以根据需要更改初始状态, 可选create,update, destroy + CLOUD: "gcp" # 选择云服务商, 可选: gcp, aws, ali, azure + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + SSH_USER: ${{ secrets.HOST_USER }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + +on: + pull_request: + push: + paths: + - '.github/workflows/iac-pipeline-signal-cluster-keycloak.yml' + workflow_dispatch: + branches: + - main + +jobs: + apply-cluster-resources: + uses: svc-design/actions/.github/workflows/setup-gcp-cloud.yml@main + with: + config: 'signal-cluster-config.yaml' + secrets: + SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + + setup-k3s-cluster: + uses: svc-design/actions/.github/workflows/setup-k3s-cluster.yml@main + with: + domain: 'svc-dev.ink' + cluster_name: 'monitor' + ssh_host_name: 'monitor' + secrets: + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + VAULT_URL: ${{ secrets.VAULT_URL }} + VAULT_TOKEN: ${{ secrets.VAULT_TOKEN }} + SSH_USER: ${{ secrets.HOST_USER }} + needs: + - apply-cluster-resources + + setup-keycloak-server: + uses: svc-design/actions/.github/workflows/setup-keycloak-server.yml@main + with: + domain: 'svc-dev.ink' + cluster_name: 'monitor' + ssh_host_name: 'monitor' + secrets: + GCP_CREDENTIALS_JSON: ${{ secrets.GCP_CREDENTIALS_JSON }} + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + DNS_AK: ${{ secrets.DNS_AK }} + DNS_SK: ${{ secrets.DNS_SK }} + SSH_USER: ${{ secrets.HOST_USER }} + ADMIN_PASSWORD: ${{ secrets.ADMIN_INIT_PASSWORD }} + needs: + - setup-k3s-cluster diff --git a/README.md b/README.md index 2440aab5..d998df48 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,8 @@ Follow the links above to the documentation in your preferred language to get st We welcome contributions to this project. If you have suggestions, improvements, or find any issues, feel free to submit a pull request. + + ## License This project is released under the GPL V3 license. For more details, see the LICENSE file. diff --git a/iac_modules b/iac_modules index dc0d88f7..5128bb76 160000 --- a/iac_modules +++ b/iac_modules @@ -1 +1 @@ -Subproject commit dc0d88f7d05e244765524effe3e2f9489f0cccbd +Subproject commit 5128bb769bbb35400b0869776b36b14a86219ac7