From e2adb967ddf5427055665f3deaaf8a08d4295f4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristhian=20Fern=C3=A1ndez?= Date: Fri, 25 Aug 2023 11:05:29 -0500 Subject: [PATCH] feat: macrochart (#540) * feat: mgmt macrochart * feat: k3d * fix: k3d mongodb arm64 * feat: api image for test * fix: format * feat: k3d gitlab * feat: aws * feat: digital ocean * feat: wait kubefirst-api * fix: disable ipv6 * feat: kubefirst-api session token test * feat: vultr * feat: clean up * feat: arch validation * feat: console arm * fix: formatting * fix: formatting * fix: k3d gitlab arm64 * test: chart name * test: in cluster test * chore: update chart * chore: update chart * chore: update chart * chore: update chart * chore: update chart * chore: update chart * chore: update chart * chore: update chart * chore: civo update chart * chore: cluster role binding * chore: cluster role binding * chore: update chart * feat: cluster-admin role * feat: cluster-admin role * feat: cluster role binding k3d gitlab * feat: civo * feat: civo cluster role binding * feat: aws cluster role binding * feat: prepare for release * chore: rollback test * chore: rollback hardcoded image * feat: telemetry env vars * fix: template * fix: template * feat: telemetry env values --- .../mgmt/clusterrolebinding.yaml | 15 +++ .../mgmt/components/kubefirst/console.yaml | 100 +++++++----------- .../mgmt/clusterrolebinding.yaml | 17 ++- .../mgmt/components/kubefirst/console.yaml | 98 +++++++---------- .../mgmt/clusterrolebinding.yaml | 16 +++ .../mgmt/components/kubefirst/console.yaml | 98 +++++++---------- .../mgmt/clusterrolebinding.yaml | 15 +++ .../mgmt/components/kubefirst/console.yaml | 98 +++++++---------- .../mgmt/clusterrolebinding.yaml | 15 +++ .../components/kubefirst/console-arm.yaml | 57 ++++++++++ .../mgmt/components/kubefirst/console.yaml | 81 ++++++-------- .../components/kubefirst/ingressroute.yaml | 4 +- .../mgmt/clusterrolebinding.yaml | 16 +++ .../components/kubefirst/console-arm.yaml | 57 ++++++++++ .../mgmt/components/kubefirst/console.yaml | 83 ++++++--------- .../components/kubefirst/ingressroute.yaml | 4 +- 16 files changed, 433 insertions(+), 341 deletions(-) create mode 100644 k3d-github/cluster-types/mgmt/components/kubefirst/console-arm.yaml create mode 100644 k3d-gitlab/cluster-types/mgmt/components/kubefirst/console-arm.yaml diff --git a/aws-github/cluster-types/mgmt/clusterrolebinding.yaml b/aws-github/cluster-types/mgmt/clusterrolebinding.yaml index 34859026d..739a56efe 100644 --- a/aws-github/cluster-types/mgmt/clusterrolebinding.yaml +++ b/aws-github/cluster-types/mgmt/clusterrolebinding.yaml @@ -71,4 +71,19 @@ subjects: roleRef: kind: ClusterRole name: argo-view + apiGroup: rbac.authorization.k8s.io +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: kubefirst-api-clusterrole + annotations: + argocd.argoproj.io/sync-wave: '0' +subjects: + - kind: ServiceAccount + name: kubefirst-kubefirst-api + namespace: kubefirst +roleRef: + kind: ClusterRole + name: cluster-admin apiGroup: rbac.authorization.k8s.io \ No newline at end of file diff --git a/aws-github/cluster-types/mgmt/components/kubefirst/console.yaml b/aws-github/cluster-types/mgmt/components/kubefirst/console.yaml index 898687798..6d869ee79 100644 --- a/aws-github/cluster-types/mgmt/components/kubefirst/console.yaml +++ b/aws-github/cluster-types/mgmt/components/kubefirst/console.yaml @@ -1,72 +1,54 @@ apiVersion: argoproj.io/v1alpha1 kind: Application metadata: - name: kubefirst-console + name: kubefirst namespace: argocd annotations: - argocd.argoproj.io/sync-wave: "10" + argocd.argoproj.io/sync-wave: '10' spec: project: default source: - repoURL: https://kubefirst.github.io/charts - targetRevision: 2.1.9 - chart: console + repoURL: https://charts.kubefirst.com + targetRevision: 2.2.11 + chart: kubefirst helm: values: |- - env: - ARGO_CD_URL: - value: "" - ARGO_WORKFLOWS_URL: - value: "" - ATLANTIS_URL: - value: "" - CLOUD: - value: "" - CLUSTER_ID: - value: "" - CLUSTER_TYPE: - value: "" - DOMAIN_NAME: - value: "" - GIT_PROVIDER: - value: "" - GITHUB_OWNER: - value: "" - KUBEFIRST_VERSION: - value: "" - KUBEFIRST_TEAM: - value: "" - METAPHOR_DEVELOPMENT_URL: - value: "" - METAPHOR_STAGING_URL: - value: "" - METAPHOR_PRODUCTION_URL: - value: "" - USE_TELEMETRY: - value: "" - VAULT_URL: - value: "" - ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - cert-manager.io/cluster-issuer: "letsencrypt-prod" - # nginx.ingress.kubernetes.io/auth-signin: "https://vouch./login?url=$scheme://$http_host$request_uri&vouch-failcount=$auth_resp_failcount&X-Vouch-Token=$auth_resp_jwt&error=$auth_resp_err" - # nginx.ingress.kubernetes.io/auth-url: https://vouch./validate - # nginx.ingress.kubernetes.io/auth-response-headers: X-Vouch-User - # nginx.ingress.kubernetes.io/auth-snippet: | - # auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt; - # auth_request_set $auth_resp_err $upstream_http_x_vouch_err; - # auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount; - hosts: - - host: kubefirst. - paths: - - path: / - pathType: ImplementationSpecific - tls: - - secretName: kubefirst-tls - hosts: - - kubefirst. + global: + kubefirstVersion: "" + kubefirst-api: + initContainer: + enabled: "'true'" + clusterId: "" + clusterType: "" + useTelemetry: "''" + kubefirstTeam: "''" + installMethod: "helm" + env: + - name: IN_CLUSTER + value: "'true'" + console: + isClusterZero: "'false'" + ingress: + enabled: "true" + annotations: + kubernetes.io/ingress.class: "nginx" + cert-manager.io/cluster-issuer: "letsencrypt-prod" + # nginx.ingress.kubernetes.io/auth-signin: "https://vouch./login?url=$scheme://$http_host$request_uri&vouch-failcount=$auth_resp_failcount&X-Vouch-Token=$auth_resp_jwt&error=$auth_resp_err" + # nginx.ingress.kubernetes.io/auth-url: https://vouch./validate + # nginx.ingress.kubernetes.io/auth-response-headers: X-Vouch-User + # nginx.ingress.kubernetes.io/auth-snippet: | + # auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt; + # auth_request_set $auth_resp_err $upstream_http_x_vouch_err; + # auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount; + hosts: + - host: kubefirst. + paths: + - path: / + pathType: Prefix + tls: + - secretName: kubefirst-tls + hosts: + - kubefirst. destination: server: https://kubernetes.default.svc namespace: kubefirst diff --git a/aws-gitlab/cluster-types/mgmt/clusterrolebinding.yaml b/aws-gitlab/cluster-types/mgmt/clusterrolebinding.yaml index b98585892..25ad04397 100644 --- a/aws-gitlab/cluster-types/mgmt/clusterrolebinding.yaml +++ b/aws-gitlab/cluster-types/mgmt/clusterrolebinding.yaml @@ -71,4 +71,19 @@ subjects: roleRef: kind: ClusterRole name: argo-view - apiGroup: rbac.authorization.k8s.io \ No newline at end of file + apiGroup: rbac.authorization.k8s.io +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: kubefirst-api-clusterrole + annotations: + argocd.argoproj.io/sync-wave: '0' +subjects: + - kind: ServiceAccount + name: kubefirst-kubefirst-api + namespace: kubefirst +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io diff --git a/aws-gitlab/cluster-types/mgmt/components/kubefirst/console.yaml b/aws-gitlab/cluster-types/mgmt/components/kubefirst/console.yaml index 43c67eed9..6d869ee79 100644 --- a/aws-gitlab/cluster-types/mgmt/components/kubefirst/console.yaml +++ b/aws-gitlab/cluster-types/mgmt/components/kubefirst/console.yaml @@ -1,72 +1,54 @@ apiVersion: argoproj.io/v1alpha1 kind: Application metadata: - name: kubefirst-console + name: kubefirst namespace: argocd annotations: argocd.argoproj.io/sync-wave: '10' spec: project: default source: - repoURL: https://kubefirst.github.io/charts - targetRevision: 2.1.9 - chart: console + repoURL: https://charts.kubefirst.com + targetRevision: 2.2.11 + chart: kubefirst helm: values: |- - env: - ARGO_CD_URL: - value: "" - ARGO_WORKFLOWS_URL: - value: "" - ATLANTIS_URL: - value: "" - CLOUD: - value: "" - CLUSTER_ID: - value: "" - CLUSTER_TYPE: - value: "" - DOMAIN_NAME: - value: "" - GIT_PROVIDER: - value: "" - GITLAB_OWNER: - value: "" - KUBEFIRST_VERSION: - value: "" - KUBEFIRST_TEAM: - value: "" - METAPHOR_DEVELOPMENT_URL: - value: "" - METAPHOR_STAGING_URL: - value: "" - METAPHOR_PRODUCTION_URL: - value: "" - USE_TELEMETRY: - value: "" - VAULT_URL: - value: "" - ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - cert-manager.io/cluster-issuer: "letsencrypt-prod" - # nginx.ingress.kubernetes.io/auth-signin: "https://vouch./login?url=$scheme://$http_host$request_uri&vouch-failcount=$auth_resp_failcount&X-Vouch-Token=$auth_resp_jwt&error=$auth_resp_err" - # nginx.ingress.kubernetes.io/auth-url: https://vouch./validate - # nginx.ingress.kubernetes.io/auth-response-headers: X-Vouch-User - # nginx.ingress.kubernetes.io/auth-snippet: | - # auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt; - # auth_request_set $auth_resp_err $upstream_http_x_vouch_err; - # auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount; - hosts: - - host: kubefirst. - paths: - - path: / - pathType: ImplementationSpecific - tls: - - secretName: kubefirst-tls - hosts: - - kubefirst. + global: + kubefirstVersion: "" + kubefirst-api: + initContainer: + enabled: "'true'" + clusterId: "" + clusterType: "" + useTelemetry: "''" + kubefirstTeam: "''" + installMethod: "helm" + env: + - name: IN_CLUSTER + value: "'true'" + console: + isClusterZero: "'false'" + ingress: + enabled: "true" + annotations: + kubernetes.io/ingress.class: "nginx" + cert-manager.io/cluster-issuer: "letsencrypt-prod" + # nginx.ingress.kubernetes.io/auth-signin: "https://vouch./login?url=$scheme://$http_host$request_uri&vouch-failcount=$auth_resp_failcount&X-Vouch-Token=$auth_resp_jwt&error=$auth_resp_err" + # nginx.ingress.kubernetes.io/auth-url: https://vouch./validate + # nginx.ingress.kubernetes.io/auth-response-headers: X-Vouch-User + # nginx.ingress.kubernetes.io/auth-snippet: | + # auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt; + # auth_request_set $auth_resp_err $upstream_http_x_vouch_err; + # auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount; + hosts: + - host: kubefirst. + paths: + - path: / + pathType: Prefix + tls: + - secretName: kubefirst-tls + hosts: + - kubefirst. destination: server: https://kubernetes.default.svc namespace: kubefirst diff --git a/civo-github/cluster-types/mgmt/clusterrolebinding.yaml b/civo-github/cluster-types/mgmt/clusterrolebinding.yaml index 8c9b9badf..97c2e3f3b 100644 --- a/civo-github/cluster-types/mgmt/clusterrolebinding.yaml +++ b/civo-github/cluster-types/mgmt/clusterrolebinding.yaml @@ -72,3 +72,19 @@ roleRef: kind: ClusterRole name: argo-view apiGroup: rbac.authorization.k8s.io +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: kubefirst-api-clusterrole + annotations: + argocd.argoproj.io/sync-wave: '0' +subjects: + - kind: ServiceAccount + name: kubefirst-kubefirst-api + namespace: kubefirst +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io + \ No newline at end of file diff --git a/civo-github/cluster-types/mgmt/components/kubefirst/console.yaml b/civo-github/cluster-types/mgmt/components/kubefirst/console.yaml index 4b78eca55..6d869ee79 100644 --- a/civo-github/cluster-types/mgmt/components/kubefirst/console.yaml +++ b/civo-github/cluster-types/mgmt/components/kubefirst/console.yaml @@ -1,72 +1,54 @@ apiVersion: argoproj.io/v1alpha1 kind: Application metadata: - name: kubefirst-console + name: kubefirst namespace: argocd annotations: argocd.argoproj.io/sync-wave: '10' spec: project: default source: - repoURL: https://kubefirst.github.io/charts - targetRevision: 2.1.9 - chart: console + repoURL: https://charts.kubefirst.com + targetRevision: 2.2.11 + chart: kubefirst helm: values: |- - env: - ARGO_CD_URL: - value: "" - ARGO_WORKFLOWS_URL: - value: "" - ATLANTIS_URL: - value: "" - CLOUD: - value: "" - CLUSTER_ID: - value: "" - CLUSTER_TYPE: - value: "" - DOMAIN_NAME: - value: "" - GIT_PROVIDER: - value: "" - GITHUB_OWNER: - value: "" - KUBEFIRST_VERSION: - value: "" - KUBEFIRST_TEAM: - value: "" - METAPHOR_DEVELOPMENT_URL: - value: "" - METAPHOR_STAGING_URL: - value: "" - METAPHOR_PRODUCTION_URL: - value: "" - USE_TELEMETRY: - value: "" - VAULT_URL: - value: "" - ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - cert-manager.io/cluster-issuer: "letsencrypt-prod" - # nginx.ingress.kubernetes.io/auth-signin: "https://vouch./login?url=$scheme://$http_host$request_uri&vouch-failcount=$auth_resp_failcount&X-Vouch-Token=$auth_resp_jwt&error=$auth_resp_err" - # nginx.ingress.kubernetes.io/auth-url: https://vouch./validate - # nginx.ingress.kubernetes.io/auth-response-headers: X-Vouch-User - # nginx.ingress.kubernetes.io/auth-snippet: | - # auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt; - # auth_request_set $auth_resp_err $upstream_http_x_vouch_err; - # auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount; - hosts: - - host: kubefirst. - paths: - - path: / - pathType: ImplementationSpecific - tls: - - secretName: kubefirst-tls - hosts: - - kubefirst. + global: + kubefirstVersion: "" + kubefirst-api: + initContainer: + enabled: "'true'" + clusterId: "" + clusterType: "" + useTelemetry: "''" + kubefirstTeam: "''" + installMethod: "helm" + env: + - name: IN_CLUSTER + value: "'true'" + console: + isClusterZero: "'false'" + ingress: + enabled: "true" + annotations: + kubernetes.io/ingress.class: "nginx" + cert-manager.io/cluster-issuer: "letsencrypt-prod" + # nginx.ingress.kubernetes.io/auth-signin: "https://vouch./login?url=$scheme://$http_host$request_uri&vouch-failcount=$auth_resp_failcount&X-Vouch-Token=$auth_resp_jwt&error=$auth_resp_err" + # nginx.ingress.kubernetes.io/auth-url: https://vouch./validate + # nginx.ingress.kubernetes.io/auth-response-headers: X-Vouch-User + # nginx.ingress.kubernetes.io/auth-snippet: | + # auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt; + # auth_request_set $auth_resp_err $upstream_http_x_vouch_err; + # auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount; + hosts: + - host: kubefirst. + paths: + - path: / + pathType: Prefix + tls: + - secretName: kubefirst-tls + hosts: + - kubefirst. destination: server: https://kubernetes.default.svc namespace: kubefirst diff --git a/civo-gitlab/cluster-types/mgmt/clusterrolebinding.yaml b/civo-gitlab/cluster-types/mgmt/clusterrolebinding.yaml index 4c59158bb..25ad04397 100644 --- a/civo-gitlab/cluster-types/mgmt/clusterrolebinding.yaml +++ b/civo-gitlab/cluster-types/mgmt/clusterrolebinding.yaml @@ -72,3 +72,18 @@ roleRef: kind: ClusterRole name: argo-view apiGroup: rbac.authorization.k8s.io +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: kubefirst-api-clusterrole + annotations: + argocd.argoproj.io/sync-wave: '0' +subjects: + - kind: ServiceAccount + name: kubefirst-kubefirst-api + namespace: kubefirst +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io diff --git a/civo-gitlab/cluster-types/mgmt/components/kubefirst/console.yaml b/civo-gitlab/cluster-types/mgmt/components/kubefirst/console.yaml index 43c67eed9..6d869ee79 100644 --- a/civo-gitlab/cluster-types/mgmt/components/kubefirst/console.yaml +++ b/civo-gitlab/cluster-types/mgmt/components/kubefirst/console.yaml @@ -1,72 +1,54 @@ apiVersion: argoproj.io/v1alpha1 kind: Application metadata: - name: kubefirst-console + name: kubefirst namespace: argocd annotations: argocd.argoproj.io/sync-wave: '10' spec: project: default source: - repoURL: https://kubefirst.github.io/charts - targetRevision: 2.1.9 - chart: console + repoURL: https://charts.kubefirst.com + targetRevision: 2.2.11 + chart: kubefirst helm: values: |- - env: - ARGO_CD_URL: - value: "" - ARGO_WORKFLOWS_URL: - value: "" - ATLANTIS_URL: - value: "" - CLOUD: - value: "" - CLUSTER_ID: - value: "" - CLUSTER_TYPE: - value: "" - DOMAIN_NAME: - value: "" - GIT_PROVIDER: - value: "" - GITLAB_OWNER: - value: "" - KUBEFIRST_VERSION: - value: "" - KUBEFIRST_TEAM: - value: "" - METAPHOR_DEVELOPMENT_URL: - value: "" - METAPHOR_STAGING_URL: - value: "" - METAPHOR_PRODUCTION_URL: - value: "" - USE_TELEMETRY: - value: "" - VAULT_URL: - value: "" - ingress: - enabled: true - annotations: - kubernetes.io/ingress.class: nginx - cert-manager.io/cluster-issuer: "letsencrypt-prod" - # nginx.ingress.kubernetes.io/auth-signin: "https://vouch./login?url=$scheme://$http_host$request_uri&vouch-failcount=$auth_resp_failcount&X-Vouch-Token=$auth_resp_jwt&error=$auth_resp_err" - # nginx.ingress.kubernetes.io/auth-url: https://vouch./validate - # nginx.ingress.kubernetes.io/auth-response-headers: X-Vouch-User - # nginx.ingress.kubernetes.io/auth-snippet: | - # auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt; - # auth_request_set $auth_resp_err $upstream_http_x_vouch_err; - # auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount; - hosts: - - host: kubefirst. - paths: - - path: / - pathType: ImplementationSpecific - tls: - - secretName: kubefirst-tls - hosts: - - kubefirst. + global: + kubefirstVersion: "" + kubefirst-api: + initContainer: + enabled: "'true'" + clusterId: "" + clusterType: "" + useTelemetry: "''" + kubefirstTeam: "''" + installMethod: "helm" + env: + - name: IN_CLUSTER + value: "'true'" + console: + isClusterZero: "'false'" + ingress: + enabled: "true" + annotations: + kubernetes.io/ingress.class: "nginx" + cert-manager.io/cluster-issuer: "letsencrypt-prod" + # nginx.ingress.kubernetes.io/auth-signin: "https://vouch./login?url=$scheme://$http_host$request_uri&vouch-failcount=$auth_resp_failcount&X-Vouch-Token=$auth_resp_jwt&error=$auth_resp_err" + # nginx.ingress.kubernetes.io/auth-url: https://vouch./validate + # nginx.ingress.kubernetes.io/auth-response-headers: X-Vouch-User + # nginx.ingress.kubernetes.io/auth-snippet: | + # auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt; + # auth_request_set $auth_resp_err $upstream_http_x_vouch_err; + # auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount; + hosts: + - host: kubefirst. + paths: + - path: / + pathType: Prefix + tls: + - secretName: kubefirst-tls + hosts: + - kubefirst. destination: server: https://kubernetes.default.svc namespace: kubefirst diff --git a/k3d-github/cluster-types/mgmt/clusterrolebinding.yaml b/k3d-github/cluster-types/mgmt/clusterrolebinding.yaml index 86959635e..66676789c 100644 --- a/k3d-github/cluster-types/mgmt/clusterrolebinding.yaml +++ b/k3d-github/cluster-types/mgmt/clusterrolebinding.yaml @@ -42,3 +42,18 @@ roleRef: kind: ClusterRole name: admin apiGroup: rbac.authorization.k8s.io +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: kubefirst-api-clusterrole + annotations: + argocd.argoproj.io/sync-wave: '0' +subjects: + - kind: ServiceAccount + name: kubefirst-kubefirst-api + namespace: kubefirst +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io diff --git a/k3d-github/cluster-types/mgmt/components/kubefirst/console-arm.yaml b/k3d-github/cluster-types/mgmt/components/kubefirst/console-arm.yaml new file mode 100644 index 000000000..0d006ed10 --- /dev/null +++ b/k3d-github/cluster-types/mgmt/components/kubefirst/console-arm.yaml @@ -0,0 +1,57 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: kubefirst + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: '10' +spec: + project: default + source: + repoURL: https://charts.kubefirst.com + targetRevision: 2.2.11 + chart: kubefirst + helm: + values: |- + global: + kubefirstVersion: "" + mongodb: + image: + repository: arm64v8/mongo + tag: latest + persistence: + mountPath: /data/db + extraEnvVarsSecret: kubefirst-initial-secrets + kubefirst-api: + initContainer: + enabled: "'true'" + clusterId: "" + clusterType: "" + useTelemetry: "''" + kubefirstTeam: "''" + installMethod: "helm" + env: + - name: IN_CLUSTER + value: "'true'" + console: + isClusterZero: "'false'" + ingress: + enabled: "true" + hosts: + - host: kubefirst. + paths: + - path: / + pathType: Prefix + tls: + - secretName: kubefirst-tls + hosts: + - kubefirst. + destination: + server: https://kubernetes.default.svc + namespace: kubefirst + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/k3d-github/cluster-types/mgmt/components/kubefirst/console.yaml b/k3d-github/cluster-types/mgmt/components/kubefirst/console.yaml index 08d7bbfa1..17f0adf3e 100644 --- a/k3d-github/cluster-types/mgmt/components/kubefirst/console.yaml +++ b/k3d-github/cluster-types/mgmt/components/kubefirst/console.yaml @@ -1,65 +1,44 @@ apiVersion: argoproj.io/v1alpha1 kind: Application metadata: - name: kubefirst-console + name: kubefirst namespace: argocd annotations: argocd.argoproj.io/sync-wave: '10' spec: project: default source: - repoURL: https://kubefirst.github.io/charts - targetRevision: 2.1.9 - chart: console + repoURL: https://charts.kubefirst.com + targetRevision: 2.2.11 + chart: kubefirst helm: values: |- - env: - ARGO_CD_URL: - value: "" - ARGO_WORKFLOWS_URL: - value: "" - ATLANTIS_URL: - value: "" - CLOUD: - value: "" - CLUSTER_ID: - value: "" - CLUSTER_TYPE: - value: "" - DOMAIN_NAME: - value: "" - GIT_PROVIDER: - value: "" - GITHUB_OWNER: - value: "" - K3D_DOMAIN: - value: "" - KUBEFIRST_VERSION: - value: "" - KUBEFIRST_TEAM: - value: "" - METAPHOR_DEVELOPMENT_URL: - value: "" - METAPHOR_STAGING_URL: - value: "" - METAPHOR_PRODUCTION_URL: - value: "" - USE_TELEMETRY: - value: "" - VAULT_URL: - value: "" - ingress: - enabled: true - className: "" - hosts: - - host: kubefirst. - paths: - - path: / - pathType: Prefix - tls: - - secretName: kubefirst-tls - hosts: - - kubefirst. + global: + kubefirstVersion: "" + kubefirst-api: + initContainer: + enabled: "'true'" + clusterId: "" + clusterType: "" + useTelemetry: "''" + kubefirstTeam: "''" + installMethod: "helm" + env: + - name: IN_CLUSTER + value: "'true'" + console: + isClusterZero: "'false'" + ingress: + enabled: "true" + hosts: + - host: kubefirst. + paths: + - path: / + pathType: Prefix + tls: + - secretName: kubefirst-tls + hosts: + - kubefirst. destination: server: https://kubernetes.default.svc namespace: kubefirst diff --git a/k3d-github/cluster-types/mgmt/components/kubefirst/ingressroute.yaml b/k3d-github/cluster-types/mgmt/components/kubefirst/ingressroute.yaml index 05cba3b70..d9682d1fe 100644 --- a/k3d-github/cluster-types/mgmt/components/kubefirst/ingressroute.yaml +++ b/k3d-github/cluster-types/mgmt/components/kubefirst/ingressroute.yaml @@ -1,7 +1,7 @@ apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: - name: kubefirst-console + name: kubefirst namespace: kubefirst annotations: argocd.argoproj.io/sync-wave: '10' @@ -12,7 +12,7 @@ spec: - kind: Rule match: Host(`kubefirst.`) services: - - name: kubefirst-console + - name: kubefirst port: 80 tls: secretName: kubefirst-tls diff --git a/k3d-gitlab/cluster-types/mgmt/clusterrolebinding.yaml b/k3d-gitlab/cluster-types/mgmt/clusterrolebinding.yaml index d0889e589..f15c2fd04 100644 --- a/k3d-gitlab/cluster-types/mgmt/clusterrolebinding.yaml +++ b/k3d-gitlab/cluster-types/mgmt/clusterrolebinding.yaml @@ -42,3 +42,19 @@ roleRef: kind: ClusterRole name: admin apiGroup: rbac.authorization.k8s.io +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: kubefirst-api-clusterrole + annotations: + argocd.argoproj.io/sync-wave: '0' +subjects: + - kind: ServiceAccount + name: kubefirst-kubefirst-api + namespace: kubefirst +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io + diff --git a/k3d-gitlab/cluster-types/mgmt/components/kubefirst/console-arm.yaml b/k3d-gitlab/cluster-types/mgmt/components/kubefirst/console-arm.yaml new file mode 100644 index 000000000..0d006ed10 --- /dev/null +++ b/k3d-gitlab/cluster-types/mgmt/components/kubefirst/console-arm.yaml @@ -0,0 +1,57 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: kubefirst + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: '10' +spec: + project: default + source: + repoURL: https://charts.kubefirst.com + targetRevision: 2.2.11 + chart: kubefirst + helm: + values: |- + global: + kubefirstVersion: "" + mongodb: + image: + repository: arm64v8/mongo + tag: latest + persistence: + mountPath: /data/db + extraEnvVarsSecret: kubefirst-initial-secrets + kubefirst-api: + initContainer: + enabled: "'true'" + clusterId: "" + clusterType: "" + useTelemetry: "''" + kubefirstTeam: "''" + installMethod: "helm" + env: + - name: IN_CLUSTER + value: "'true'" + console: + isClusterZero: "'false'" + ingress: + enabled: "true" + hosts: + - host: kubefirst. + paths: + - path: / + pathType: Prefix + tls: + - secretName: kubefirst-tls + hosts: + - kubefirst. + destination: + server: https://kubernetes.default.svc + namespace: kubefirst + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/k3d-gitlab/cluster-types/mgmt/components/kubefirst/console.yaml b/k3d-gitlab/cluster-types/mgmt/components/kubefirst/console.yaml index 2001d11df..17f0adf3e 100644 --- a/k3d-gitlab/cluster-types/mgmt/components/kubefirst/console.yaml +++ b/k3d-gitlab/cluster-types/mgmt/components/kubefirst/console.yaml @@ -1,65 +1,44 @@ apiVersion: argoproj.io/v1alpha1 kind: Application metadata: - name: kubefirst-console + name: kubefirst namespace: argocd annotations: - argocd.argoproj.io/sync-wave: '1' + argocd.argoproj.io/sync-wave: '10' spec: project: default source: - repoURL: https://kubefirst.github.io/charts - targetRevision: 2.1.9 - chart: console + repoURL: https://charts.kubefirst.com + targetRevision: 2.2.11 + chart: kubefirst helm: values: |- - env: - ARGO_CD_URL: - value: "" - ARGO_WORKFLOWS_URL: - value: "" - ATLANTIS_URL: - value: "" - CLOUD: - value: "" - CLUSTER_ID: - value: "" - CLUSTER_TYPE: - value: "" - DOMAIN_NAME: - value: "" - GIT_PROVIDER: - value: "" - GITLAB_OWNER: - value: "" - K3D_DOMAIN: - value: "" - KUBEFIRST_VERSION: - value: "" - KUBEFIRST_TEAM: - value: "" - METAPHOR_DEVELOPMENT_URL: - value: "" - METAPHOR_STAGING_URL: - value: "" - METAPHOR_PRODUCTION_URL: - value: "" - USE_TELEMETRY: - value: "" - VAULT_URL: - value: "" - ingress: - enabled: true - className: "" - hosts: - - host: kubefirst. - paths: - - path: / - pathType: Prefix - tls: - - secretName: kubefirst-tls - hosts: - - kubefirst. + global: + kubefirstVersion: "" + kubefirst-api: + initContainer: + enabled: "'true'" + clusterId: "" + clusterType: "" + useTelemetry: "''" + kubefirstTeam: "''" + installMethod: "helm" + env: + - name: IN_CLUSTER + value: "'true'" + console: + isClusterZero: "'false'" + ingress: + enabled: "true" + hosts: + - host: kubefirst. + paths: + - path: / + pathType: Prefix + tls: + - secretName: kubefirst-tls + hosts: + - kubefirst. destination: server: https://kubernetes.default.svc namespace: kubefirst diff --git a/k3d-gitlab/cluster-types/mgmt/components/kubefirst/ingressroute.yaml b/k3d-gitlab/cluster-types/mgmt/components/kubefirst/ingressroute.yaml index d856a3793..3ce98a592 100644 --- a/k3d-gitlab/cluster-types/mgmt/components/kubefirst/ingressroute.yaml +++ b/k3d-gitlab/cluster-types/mgmt/components/kubefirst/ingressroute.yaml @@ -1,7 +1,7 @@ apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: - name: kubefirst-console + name: kubefirst namespace: kubefirst spec: entryPoints: @@ -10,7 +10,7 @@ spec: - kind: Rule match: Host(`kubefirst.`) services: - - name: kubefirst-console + - name: kubefirst port: 80 tls: secretName: kubefirst-tls