projectsyn / steward Goto Github PK
View Code? Open in Web Editor NEWIn-cluster agent for Project Syn
Home Page: https://docs.syn.tools/steward/index.html
License: BSD 3-Clause "New" or "Revised" License
In-cluster agent for Project Syn
Home Page: https://docs.syn.tools/steward/index.html
License: BSD 3-Clause "New" or "Revised" License
Bootstrap the Argo CD repo-server with an emptyDir for GPG secrets since otherwise the pod will fail on OpenShift clusters (permission issues).
Additionally, make sure the kapitan
binary is available and the vault-agent sidecar is configured as well. This helps to bootstrap components which need Vault secrets from the beginning on.
The release v0.3.0 is unable to bootstrap ArgoCD correctly.
StatefulSet.apps "argocd-application-controller" is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas', 'template', and 'updateStrategy' are forbidden
Manual workaround is to add (force replace):
spec:
serviceName: argocd-application-controller
As a user of Project Syn
I want to be able to get a clusters Kubernetes version from Lieutenant
So that Commodore Components can utilize these facts
Dynamic facts are information about a Syn managed Cluster which can be determined from the state of the cluster and may change over time.
The main difference to static facts is that these facts aren't configured manually but are determined by the system itself.
In this MVP, the Kubernetes version should be made available. Other facts will follow later on.
The current log level is hardcoded here: https://github.com/projectsyn/steward/blob/master/main.go#L25
However, this can produce very much of irrelevant logs. If there's log aggregation, Gigabytes of storage space is wasted.
Steward contains configuration for images and an image tags to initially deploy ArgoCD. Later on, those deployments will be adopted by Component ArgoCD. The defaults in Steward and Component ArgoCD have drifted apart. In the component, those image tags are kept up to date with Renovate. This should also be the case for the image tags in Steward.
Maybe we could teach Renovate to do this using regex manager.
https://github.com/projectsyn/steward/blob/c24b80c/main.go#L23 and following line.
Deploy and use ArgoCD operator
This issue provides visibility into Renovate updates and their statuses. Learn more
This repository currently has no open or pending branches.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
Dockerfile
docker.io/golang 1.21
.github/workflows/push.yml
actions/checkout v4
mikepenz/release-changelog-builder-action v4
actions/create-release v1
.github/workflows/test.yml
actions/checkout v4
actions/setup-go v4
actions/checkout v4
actions/checkout v4
go.mod
go 1.21
github.com/alecthomas/kingpin/v2 v2.4.0
github.com/deepmap/oapi-codegen/v2 v2.0.0
github.com/projectsyn/lieutenant-api v0.11.0
github.com/stretchr/testify v1.8.4
go.uber.org/multierr v1.11.0
golang.org/x/crypto v0.15.0
pkg/images/images.go
quay.io/argoproj/argocd v2.9.2
docker.io/redis 7.2.3
Because the ArgoCD projectsyn/component-argocd#14 1.8 upgrade requires switching from a deployment to a statefulset, Steward now tries to recreate the deployment as it believes ArgoCD is not fully deployed.
I0204 16:25:04.214181 1 argocd.go:52] Found 3 of expected 4 deployments, bootstrapping now
I0204 16:25:04.231714 1 configmap.go:97] Update existing ConfigMap argocd-ssh-known-hosts-cm
I0204 16:25:04.252839 1 configmap.go:97] Update existing ConfigMap argocd-tls-certs-cm
I0204 16:25:04.282520 1 configmap.go:97] Update existing ConfigMap argocd-rbac-cm
I0204 16:25:04.296355 1 configmap.go:97] Update existing ConfigMap argocd-cm
I0204 16:25:04.431858 1 argo-crds.go:62] applications.argoproj.io CRD already exists, skip
I0204 16:25:04.486824 1 argo-crds.go:62] appprojects.argoproj.io CRD already exists, skip
W0204 16:25:04.527691 1 redis.go:86] Argo CD redis service already exists
W0204 16:25:04.556087 1 redis.go:95] Argo CD redis deployment already exists
W0204 16:25:04.856737 1 repo-server.go:137] Argo CD repo-server service already exists
W0204 16:25:04.970265 1 repo-server.go:146] Argo CD repo-server deployment already exists
W0204 16:25:05.090080 1 server.go:130] Argo CD server already exists
W0204 16:25:05.271566 1 argo-app.go:60] Argo Project already exists, skip
W0204 16:25:05.340621 1 argo-app.go:106] Argo App already exists, skip
I0204 16:25:05.358146 1 app-controller.go:103] Created Argo CD application-controller deployment
Currently the documentation of Steward is very scarce and should be updated to make using and understanding Steward a breeze.
The documentation should:
Also the start page of https://syn.tools/steward/index.html should give a short intro to Steward, so that it gives an idea what it's all about.
Adhere to https://documentation.divio.com/ for putting the pages and content into the right context.
Write some basic documentation about this tool.
Steward should switch to quay.io
images to mitigate docker hub pull limits.
There is https://quay.io/repository/bitnami/redis which seems need some changes to the deployment. Most likely ALLOW_EMPTY_PASSWORD=yes
environment must be added to the deployment.
https://github.com/projectsyn/component-argocd should be updated too.
More information: https://ticket.vshn.net/browse/SYN-288
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.