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

feat: migrate GCP account and update cluster #28

Merged
merged 64 commits into from
Mar 4, 2024
Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
4e424a8
add gcp infra for remote-state and user access
agaudreault Feb 22, 2024
61d44a2
add gke and networking
agaudreault Feb 22, 2024
2241150
update cert-manager
agaudreault Feb 22, 2024
23844a5
update ingress to use ingressClassName
agaudreault Feb 22, 2024
fc5d325
kustomize fix
agaudreault Feb 22, 2024
1b7b10d
add dns and external-dns
agaudreault Feb 23, 2024
67b7702
info logs
agaudreault Feb 23, 2024
1ab8075
add external-dns to argo
agaudreault Feb 23, 2024
c8f0f81
fix Jenkins sync
agaudreault Feb 23, 2024
699f93d
update jenkins to v2
agaudreault Feb 23, 2024
3b0846d
update cert-manager resources
agaudreault Feb 23, 2024
926aec1
missing one
agaudreault Feb 23, 2024
d4d452f
update prometheus
agaudreault Feb 23, 2024
91fe246
update upstream
agaudreault Feb 23, 2024
7e8242b
fix prometheus sync crds
agaudreault Feb 23, 2024
746e47a
update istio
agaudreault Feb 23, 2024
73ca49d
fix governor
agaudreault Feb 23, 2024
e870b12
fix cert-manager
agaudreault Feb 23, 2024
97ca9ae
update rollout
agaudreault Feb 23, 2024
8f6f1f7
fix ingress and use less resources
agaudreault Feb 23, 2024
ac7a53d
remove Jenkins
agaudreault Feb 23, 2024
ad21bd8
update governor image
agaudreault Feb 23, 2024
ee1eef9
refactor argo-events
agaudreault Feb 23, 2024
448c8e6
update dex to newer version
agaudreault Feb 23, 2024
dfb57d6
fix cert-manager wrong namespace
agaudreault Feb 26, 2024
295a1b4
prometheus deployment doc
agaudreault Feb 26, 2024
2c56a52
update issuer email
agaudreault Feb 26, 2024
b3fd23a
add dex config
agaudreault Feb 26, 2024
f94a408
dex docs
agaudreault Feb 26, 2024
4197a5a
dns setup
agaudreault Feb 26, 2024
03798b3
fix image name for governor
agaudreault Feb 27, 2024
1e433cf
add argocd auth secret
agaudreault Feb 27, 2024
2ecfdda
update argo base
agaudreault Feb 27, 2024
b017875
revert secret in app
agaudreault Feb 27, 2024
ca02e3b
argocd rbac as code
agaudreault Feb 27, 2024
a810b49
fix argo dex config
agaudreault Feb 27, 2024
faac60a
add external-dns app
agaudreault Feb 27, 2024
603f429
remove dns logging
agaudreault Feb 27, 2024
4f18dcc
add codeowners
agaudreault Feb 27, 2024
b04b083
Merge branch 'master' into add-gcp-infra
agaudreault Feb 27, 2024
dca9c41
add docs about workflow secrets
agaudreault Feb 29, 2024
c94542d
dex HA-er
agaudreault Feb 29, 2024
e67aa0d
add service account token for workflow
agaudreault Feb 29, 2024
fcf4647
fix kustomize for workflow
agaudreault Feb 29, 2024
0726ec6
dex would need a shared state to be HA
agaudreault Feb 29, 2024
f284089
add missing default token for workflows rbac
agaudreault Feb 29, 2024
865077b
typo
agaudreault Feb 29, 2024
586429c
use another sa as default login
agaudreault Feb 29, 2024
bb7d9f4
workflow: add real read-only role
agaudreault Feb 29, 2024
bc03601
split workflows in 2 folder to make it easier to follow
agaudreault Mar 1, 2024
ada757b
use proper namespace
agaudreault Mar 1, 2024
81515fd
fix
agaudreault Mar 1, 2024
ac08bfb
workflow split namespace
agaudreault Mar 1, 2024
e15683f
switch to clusterRole for multi-ns binding
agaudreault Mar 1, 2024
f383c14
move sa to playground ns
agaudreault Mar 1, 2024
f5fae49
update binding
agaudreault Mar 1, 2024
d3fbd92
workflow token not necessary
agaudreault Mar 1, 2024
254c712
move artifact config in ns
agaudreault Mar 1, 2024
2191faf
move auth to managed namespace... weird
agaudreault Mar 1, 2024
8936788
move events to playground. does not seem to support split controller
agaudreault Mar 1, 2024
a28e01f
manifest have namespace hardcoded
agaudreault Mar 1, 2024
306872e
base apps
agaudreault Mar 1, 2024
8e05457
reorder
agaudreault Mar 1, 2024
fdb1976
Update docs & code review
agaudreault Mar 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Infrastructure
/infrastructure/ @agaudreault @leoluz
/argocd/overlays/production/argocd-rbac-cm.yaml @agaudreault @leoluz
/external-dns/values.yaml @agaudreault @leoluz
Copy link
Contributor

Choose a reason for hiding this comment

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

We should probably remove this for now until we decide how the ownership is going to be defined for the repo.

Copy link
Member Author

Choose a reason for hiding this comment

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

👍 I commented it for now to keep track of infrastructure related files.

File renamed without changes.
File renamed without changes.
File renamed without changes.
10 changes: 5 additions & 5 deletions argo-events/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ kind: Kustomization
resources:
- https://github.com/argoproj/argo-events/manifests/namespace-install
- https://raw.githubusercontent.com/argoproj/argo-events/master/examples/eventbus/native.yaml
- operate-workflow-sa.yaml
- operate-wf-rbac.yaml
- calendar-eventsource.yaml
- workflow-sensor.yaml
- log-sensor.yaml
- base/operate-workflow-sa.yaml
- base/operate-wf-rbac.yaml
- base/calendar-eventsource.yaml
- base/workflow-sensor.yaml
- base/log-sensor.yaml

namespace: argo
2 changes: 1 addition & 1 deletion argo-rollouts/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- https://github.com/argoproj/argo-rollouts/releases/download/v1.1.1/install.yaml
- https://github.com/argoproj/argo-rollouts/releases/download/v1.6.6/install.yaml
2 changes: 1 addition & 1 deletion argo-workflows/resources/argo-server-ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ metadata:
annotations:
# https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/
ingress.kubernetes.io/proxy-body-size: 100M
kubernetes.io/ingress.class: "nginx"
ingress.kubernetes.io/app-root: "/"
nginx.ingress.kubernetes.io/backend-protocol: HTTPS
spec:
ingressClassName: nginx
tls:
- hosts:
- workflows.apps.argoproj.io
Expand Down
4 changes: 2 additions & 2 deletions argo-workflows/resources/argo-workflows-certificate.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: cert-manager.io/v1alpha2
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: argo-workflows-cert
Expand All @@ -9,4 +9,4 @@ spec:
kind: Issuer
commonName: workflows.apps.argoproj.io
dnsNames:
- workflows.apps.argoproj.io
- workflows.apps.argoproj.io
14 changes: 7 additions & 7 deletions argo-workflows/resources/argo-workflows-issuer.yaml
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
apiVersion: cert-manager.io/v1alpha2
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: argo-workflows-issuer
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: amatyushentsev@gmail.com
email: argoproj@gmail.com
privateKeySecretRef:
name: letsencrypt
solvers:
# An empty 'selector' means that this solver matches all domains
- selector: {}
http01:
ingress:
class: nginx
# An empty 'selector' means that this solver matches all domains
- selector: {}
http01:
ingress:
class: nginx
1 change: 1 addition & 0 deletions argocd/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/argo-cd-auth-secret.yaml
12 changes: 6 additions & 6 deletions argocd/base/argo-cd-issuer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ metadata:
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: amatyushentsev@gmail.com
email: argoproj@gmail.com
privateKeySecretRef:
name: letsencrypt
solvers:
# An empty 'selector' means that this solver matches all domains
- selector: {}
http01:
ingress:
class: nginx
# An empty 'selector' means that this solver matches all domains
- selector: {}
http01:
ingress:
class: nginx
20 changes: 0 additions & 20 deletions argocd/base/jenkins-ingress.yaml

This file was deleted.

29 changes: 14 additions & 15 deletions argocd/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,23 @@ kind: Kustomization
namespace: argocd

resources:
- base/argo-cd-issuer.yaml
- base/argo-cd-certificate.yaml
- base/argo-cd-ui-ingress.yaml
- base/jenkins-ingress.yaml
- base/rollouts-extension.yaml
- https://raw.githubusercontent.com/argoproj/argo-cd/master/manifests/ha/install.yaml
- base/argo-cd-issuer.yaml
- base/argo-cd-certificate.yaml
- base/argo-cd-ui-ingress.yaml
- base/rollouts-extension.yaml
- https://raw.githubusercontent.com/argoproj/argo-cd/master/manifests/ha/install.yaml

components:
- https://github.com/argoproj-labs/argocd-extensions/manifests
- https://github.com/argoproj-labs/argocd-extensions/manifests

patchesStrategicMerge:
- overlays/production/argo-cd-cm.yaml
- overlays/production/argocd-server-service.yaml
- overlays/production/argocd-repo-server-deploy.yaml
- overlays/production/argocd-notifications-controller-deploy.yaml
- overlays/production/argocd-notifications-cm.yaml
- overlays/production/argocd-cmd-params-cm.yaml
- https://raw.githubusercontent.com/argoproj/argo-cd/master/notifications_catalog/install.yaml
patches:
- path: overlays/production/argo-cd-cm.yaml
- path: overlays/production/argocd-server-service.yaml
- path: overlays/production/argocd-notifications-controller-deploy.yaml
- path: overlays/production/argocd-notifications-cm.yaml
- path: overlays/production/argocd-cmd-params-cm.yaml
- path: overlays/production/argocd-rbac-cm.yaml
- path: https://raw.githubusercontent.com/argoproj/argo-cd/master/notifications_catalog/install.yaml

images:
- name: quay.io/argoproj/argocd
Expand Down
2 changes: 1 addition & 1 deletion argocd/overlays/production/argo-cd-cm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ data:
name: GitHub
config:
clientID: fb563b3a8dd7ea52f683
clientSecret: $dex.github.clientSecret
clientSecret: $argocd-auth:dex.github.clientSecret
orgs:
- name: argoproj
teams:
Expand Down
8 changes: 8 additions & 0 deletions argocd/overlays/production/argocd-rbac-cm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-rbac-cm
data:
policy.csv: |
g, argoproj:argo-cd-admins, role:admin
policy.default: role:readonly
26 changes: 0 additions & 26 deletions argocd/overlays/production/argocd-repo-server-deploy.yaml

This file was deleted.

16 changes: 8 additions & 8 deletions argoproj/base/jenkins.yaml → argoproj/base/external-dns.yaml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: jenkins
name: external-dns
spec:
source:
path: jenkins
path: external-dns
repoURL: https://github.com/argoproj/argoproj-deployments
targetRevision: HEAD
destination:
server: 'https://kubernetes.default.svc'
namespace: argocd
namespace: external-dns
project: default
ignoreDifferences:
- group: ''
jsonPointers:
- /data/jenkins-admin-password
kind: Secret
syncPolicy:
syncOptions:
- CreateNamespace=true
automated:
prune: true
16 changes: 2 additions & 14 deletions argoproj/base/ingress-nginx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,7 @@ spec:
source:
repoURL: https://kubernetes.github.io/ingress-nginx
chart: ingress-nginx
targetRevision: 4.5.2
helm:
values: |
controller:
autoscaling:
enabled: true
minReplicas: 3
maxReplicas: 8
ignoreDifferences:
- group: autoscaling
kind: HorizontalPodAutoscaler
jsonPointers:
- /spec/metrics
targetRevision: 4.9.1
syncPolicy:
syncOptions:
- CreateNamespace=true
- CreateNamespace=true
4 changes: 2 additions & 2 deletions argoproj/base/istio-addons.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ spec:
source:
path: samples/addons
repoURL: https://github.com/istio/istio
targetRevision: release-1.7
targetRevision: release-1.20
destination:
server: https://kubernetes.default.svc
namespace: istio-system
project: default
syncPolicy:
syncOptions:
- CreateNamespace=true
- CreateNamespace=true
8 changes: 4 additions & 4 deletions argoproj/base/istio-operator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ spec:
source:
repoURL: https://github.com/istio/istio
path: manifests/charts/istio-operator
targetRevision: release-1.7
targetRevision: release-1.20
helm:
parameters:
- name: enableCRDTemplates
value: 'true'
- name: enableCRDTemplates
value: 'true'
destination:
server: https://kubernetes.default.svc
namespace: istio-operator
project: default
syncPolicy:
syncOptions:
- CreateNamespace=true
- CreateNamespace=true
28 changes: 14 additions & 14 deletions argoproj/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- base/argo-workflows.yaml
- base/argo-events.yaml
- base/dex.yaml
- base/argo-cd.yaml
- base/argo-rollouts.yaml
- base/cert-manager.yaml
- base/ingress-nginx.yaml
- base/jenkins.yaml
- base/prometheus-operator.yaml
- base/istio-operator.yaml
- base/istio-controlplane.yaml
- base/istio-addons.yaml
- base/argocd-image-updater.yaml
- base/governor.yaml
- base/argo-workflows.yaml
- base/argo-events.yaml
- base/dex.yaml
- base/argo-cd.yaml
- base/argo-rollouts.yaml
- base/cert-manager.yaml
- base/ingress-nginx.yaml
- base/prometheus-operator.yaml
- base/istio-operator.yaml
- base/istio-controlplane.yaml
- base/istio-addons.yaml
- base/argocd-image-updater.yaml
- base/governor.yaml
- base/external-dns.yaml
4 changes: 0 additions & 4 deletions cert-manager/README.md

This file was deleted.

Loading