Skip to content

Commit 7ba8aa3

Browse files
Merge branch 'main' into release-bot
2 parents b8430ec + 15250bf commit 7ba8aa3

File tree

1,026 files changed

+163799
-11969
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,026 files changed

+163799
-11969
lines changed

.gitbook.yaml

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,23 @@ redirects:
3131
setup/global-configurations/authorization/permission-groups: user-guide/global-configurations/authorization/permission-groups.md
3232
setup/global-configurations/authorization/api-tokens: user-guide/global-configurations/authorization/api-tokens.md
3333
setup/global-configurations/nodejs_app: user-guide/Deploy-sample-app/nodejs_app.md
34+
setup/global-configurations/host-url: user-guide/global-configurations/host-url.md
35+
setup/global-configurations/authorization/sso/google: user-guide/global-configurations/authorization/sso/google.md
36+
setup/global-configurations/authorization/sso/github: user-guide/global-configurations/authorization/sso/github.md
37+
setup/global-configurations/authorization/sso/gitlab: user-guide/global-configurations/authorization/sso/gitlab.md
38+
setup/global-configurations/authorization/sso/microsoft: user-guide/global-configurations/authorization/sso/microsoft.md
39+
setup/global-configurations/authorization/sso/ldap: user-guide/global-configurations/authorization/sso/ldap.md
40+
setup/global-configurations/authorization/sso/oidc: user-guide/global-configurations/authorization/sso/oidc.md
41+
setup/global-configurations/authorization/sso/openshift: user-guide/global-configurations/authorization/sso/openshift.md
42+
setup/global-configurations/okta: user-guide/global-configurations/okta.md
43+
setup/global-configurations/catalog-framework: user-guide/global-configurations/catalog-framework.md
44+
setup/global-configurations/scoped-variables: user-guide/global-configurations/scoped-variables.md
45+
setup/global-configurations/pull-image-digest: user-guide/global-configurations/pull-image-digest.md
46+
setup/global-configurations/tags-policy: user-guide/global-configurations/tags-policy.md
47+
setup/global-configurations/lock-deployment-config: user-guide/global-configurations/lock-deployment-config.md
48+
setup/global-configurations/image-promotion-policy: user-guide/global-configurations/image-promotion-policy.md
49+
setup/global-configurations/filter-condition: user-guide/global-configurations/filter-condition.md
50+
setup/global-configurations/build-infra: user-guide/global-configurations/build-infra.md
3451
user-guide/creating-application: user-guide/applications.md
3552
user-guide/creating-application/git-material: usage/applications/creating-application/git-material
3653
user-guide/creating-application/docker-build-configuration: usage/applications/creating-application/docker-build-configuration
@@ -69,12 +86,43 @@ redirects:
6986
user-guide/use-cases/connect-expressjs-with-mongodb-database: resources/use-cases/connect-expressjs-with-mongodb-database
7087
user-guide/use-cases/connect-django-with-mysql-database: resources/use-cases/connect-django-with-mysql-database
7188
user-guide/telemetry: resources/telemetry
89+
getting-started/install/installation-configuration: setup/install/installation-configuration.md
90+
getting-started/global-configurations: user-guide/global-configurations/README.md
7291
getting-started/global-configurations/container-registries: user-guide/global-configurations/container-registries.md
7392
getting-started/global-configurations/sso-login: user-guide/global-configurations/sso-login.md
7493
getting-started/global-configurations/docker-registries: user-guide/global-configurations/container-registries.md
94+
getting-started/global-configurations/host-url: user-guide/global-configurations/host-url.md
95+
getting-started/global-configurations/authorization/sso/google: user-guide/global-configurations/authorization/sso/google.md
96+
getting-started/global-configurations/authorization/sso/github: user-guide/global-configurations/authorization/sso/github.md
97+
getting-started/global-configurations/authorization/sso/gitlab: user-guide/global-configurations/authorization/sso/gitlab.md
98+
getting-started/global-configurations/authorization/sso/microsoft: user-guide/global-configurations/authorization/sso/microsoft.md
99+
getting-started/global-configurations/authorization/sso/ldap: user-guide/global-configurations/authorization/sso/ldap.md
100+
getting-started/global-configurations/authorization/sso/oidc: user-guide/global-configurations/authorization/sso/oidc.md
101+
getting-started/global-configurations/authorization/sso/openshift: user-guide/global-configurations/authorization/sso/openshift.md
102+
getting-started/global-configurations/okta: user-guide/global-configurations/okta.md
103+
getting-started/global-configurations/catalog-framework: user-guide/global-configurations/catalog-framework.md
104+
getting-started/global-configurations/scoped-variables: user-guide/global-configurations/scoped-variables.md
105+
getting-started/global-configurations/pull-image-digest: user-guide/global-configurations/pull-image-digest.md
106+
getting-started/global-configurations/tags-policy: user-guide/global-configurations/tags-policy.md
107+
getting-started/global-configurations/lock-deployment-config: user-guide/global-configurations/lock-deployment-config.md
108+
getting-started/global-configurations/image-promotion-policy: user-guide/global-configurations/image-promotion-policy.md
109+
getting-started/global-configurations/filter-condition: user-guide/global-configurations/filter-condition.md
110+
getting-started/global-configurations/build-infra: user-guide/global-configurations/build-infra.md
111+
getting-started/global-configurations/gitops: user-guide/global-configurations/gitops.md
112+
getting-started/global-configurations/custom-charts: user-guide/global-configurations/custom-charts.md
113+
getting-started/global-configurations/external-links: user-guide/global-configurations/external-links.md
114+
getting-started/global-configurations/projects: user-guide/global-configurations/projects.md
115+
getting-started/global-configurations/manage-notification: user-guide/global-configurations/manage-notification.md
116+
getting-started/global-configurations/git-accounts: user-guide/global-configurations/git-accounts.md
117+
getting-started/global-configurations/chart-repo: user-guide/global-configurations/chart-repo.md
118+
getting-started/global-configurations/cluster-and-environments: user-guide/global-configurations/cluster-and-environments.md
119+
getting-started/global-configurations/authorization: user-guide/global-configurations/authorization/README.md
120+
getting-started/global-configurations/authorization/user-access: user-guide/global-configurations/authorization/user-access.md
121+
getting-started/global-configurations/authorization/permission-groups: user-guide/global-configurations/authorization/permission-groups.md
122+
getting-started/global-configurations/authorization/api-tokens: user-guide/global-configurations/authorization/api-tokens.md
75123
global-configurations/sso-login: user-guide/global-configurations/sso-login.md
76124
user-guide/use-cases/untitled-3: user-guide/use-cases/connect-django-with-mysql-database.md
77125
global-configurations/api-token: user-guide/global-configurations/authorization/api-tokens.md
78126
user-guide/creating-application/workflow/ci-pipeline2: user-guide/creating-application/workflow/ci-pipeline.md
79127
user-guide/clusters: user-guide/resource-browser.md
80-
usage/clusters: user-guide/resource-browser.md
128+
usage/clusters: user-guide/resource-browser.md

.github/workflows/pr-issue-validator.yaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,18 @@ jobs:
6363
fi
6464
6565
### For ex: Fixes #2123
66-
pattern1="((Fixes|Resolves) #[0-9]+)"
66+
### For ex: Fixes: #2123
67+
pattern1="((Fixes|Resolves):? #[0-9]+)"
6768
6869
### For ex: Resolves https://github.com/devtron-labs/devtron/issues/2123
69-
pattern2="((Fixes|Resolves) https://github.com/devtron-labs/devtron/issues/[0-9]+)"
70+
pattern2="((Fixes|Resolves):? https://github.com/devtron-labs/devtron/issues/[0-9]+)"
71+
7072
7173
### For ex: Fixes devtron-labs/devtron#2123
72-
pattern3="((Fixes|Resolves) devtron-labs/devtron#[0-9]+)"
74+
pattern3="((Fixes|Resolves):? devtron-labs/devtron#[0-9]+)"
75+
76+
### For ex: Fixes [#4839](https://github.com/devtron-labs/devtron/issues/4839)
77+
pattern4="(Fixes|Resolves):?\s+\[#([0-9]+)\]"
7378
7479
# Get the pull request body
7580
PR_BODY=$(jq -r '.pull_request.body' $GITHUB_EVENT_PATH)
@@ -92,6 +97,10 @@ jobs:
9297
echo "$PR_BODY" | grep -iE "$pattern3" | head -n1 | awk -F '#' '{print $NF}' | tr -d '\r\n' > issue_num
9398
issue_num=$(cat issue_num)
9499
echo "issue_num is : $issue_num"
100+
elif echo "$PR_BODY" | grep -iEq "$pattern4"; then
101+
echo "$PR_BODY" | grep -oP "$pattern4" | head -n1 | grep -oP '#\K[0-9]+' | tr -d '\r\n' > issue_num
102+
issue_num=$(cat issue_num)
103+
echo "issue_num is : $issue_num"
95104
else
96105
echo "No Issue number detected hence failing the PR Validation check."
97106
if [[ $forked == true ]]; then

App.go

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ import (
2121
"crypto/tls"
2222
"fmt"
2323
"github.com/devtron-labs/common-lib/middlewares"
24+
pubsub "github.com/devtron-labs/common-lib/pubsub-lib"
2425
"github.com/devtron-labs/devtron/pkg/eventProcessor"
26+
"github.com/devtron-labs/devtron/pkg/eventProcessor/in"
2527
"log"
2628
"net/http"
2729
"os"
@@ -33,6 +35,7 @@ import (
3335
"github.com/devtron-labs/devtron/pkg/auth/user"
3436

3537
"github.com/casbin/casbin"
38+
casbinv2 "github.com/casbin/casbin/v2"
3639
authMiddleware "github.com/devtron-labs/authenticator/middleware"
3740
"github.com/devtron-labs/devtron/api/router"
3841
"github.com/devtron-labs/devtron/api/sse"
@@ -48,15 +51,18 @@ type App struct {
4851
Logger *zap.SugaredLogger
4952
SSE *sse.SSE
5053
Enforcer *casbin.SyncedEnforcer
54+
EnforcerV2 *casbinv2.SyncedEnforcer
5155
server *http.Server
5256
db *pg.DB
5357
posthogClient *telemetry.PosthogClient
5458
centralEventProcessor *eventProcessor.CentralEventProcessor
5559
// used for local dev only
56-
serveTls bool
57-
sessionManager2 *authMiddleware.SessionManager
58-
OtelTracingService *otel.OtelTracingServiceImpl
59-
loggingMiddleware util.LoggingMiddleware
60+
serveTls bool
61+
sessionManager2 *authMiddleware.SessionManager
62+
OtelTracingService *otel.OtelTracingServiceImpl
63+
loggingMiddleware util.LoggingMiddleware
64+
pubSubClient *pubsub.PubSubClientServiceImpl
65+
workflowEventProcessorImpl *in.WorkflowEventProcessorImpl
6066
}
6167

6268
func NewApp(router *router.MuxRouter,
@@ -68,21 +74,27 @@ func NewApp(router *router.MuxRouter,
6874
posthogClient *telemetry.PosthogClient,
6975
loggingMiddleware util.LoggingMiddleware,
7076
centralEventProcessor *eventProcessor.CentralEventProcessor,
77+
pubSubClient *pubsub.PubSubClientServiceImpl,
78+
workflowEventProcessorImpl *in.WorkflowEventProcessorImpl,
79+
enforcerV2 *casbinv2.SyncedEnforcer,
7180
) *App {
7281
//check argo connection
7382
//todo - check argo-cd version on acd integration installation
7483
app := &App{
75-
MuxRouter: router,
76-
Logger: Logger,
77-
SSE: sse,
78-
Enforcer: enforcer,
79-
db: db,
80-
serveTls: false,
81-
sessionManager2: sessionManager2,
82-
posthogClient: posthogClient,
83-
OtelTracingService: otel.NewOtelTracingServiceImpl(Logger),
84-
loggingMiddleware: loggingMiddleware,
85-
centralEventProcessor: centralEventProcessor,
84+
MuxRouter: router,
85+
Logger: Logger,
86+
SSE: sse,
87+
Enforcer: enforcer,
88+
EnforcerV2: enforcerV2,
89+
db: db,
90+
serveTls: false,
91+
sessionManager2: sessionManager2,
92+
posthogClient: posthogClient,
93+
OtelTracingService: otel.NewOtelTracingServiceImpl(Logger),
94+
loggingMiddleware: loggingMiddleware,
95+
centralEventProcessor: centralEventProcessor,
96+
pubSubClient: pubSubClient,
97+
workflowEventProcessorImpl: workflowEventProcessorImpl,
8698
}
8799
return app
88100
}
@@ -132,14 +144,19 @@ func (app *App) Start() {
132144

133145
func (app *App) Stop() {
134146
app.Logger.Info("orchestrator shutdown initiating")
147+
err := app.pubSubClient.ShutDown()
148+
if err != nil {
149+
app.Logger.Errorw("error in NATS client shutdown", "err", err)
150+
}
151+
app.workflowEventProcessorImpl.ShutDownDevtronAppReleaseContext()
135152
posthogCl := app.posthogClient.Client
136153
if posthogCl != nil {
137154
app.Logger.Info("flushing messages of posthog")
138155
posthogCl.Close()
139156
}
140157
timeoutContext, _ := context.WithTimeout(context.Background(), 5*time.Second)
141158
app.Logger.Infow("closing router")
142-
err := app.server.Shutdown(timeoutContext)
159+
err = app.server.Shutdown(timeoutContext)
143160
if err != nil {
144161
app.Logger.Errorw("error in mux router shutdown", "err", err)
145162
}

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM golang:1.20 AS build-env
1+
FROM golang:1.21 AS build-env
22

33
RUN echo $GOPATH
44
RUN apt update

DockerfileEA

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM golang:1.20 AS build-env
1+
FROM golang:1.21 AS build-env
22

33
RUN echo $GOPATH
44
RUN apt update

README.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -187,14 +187,8 @@ Devtron is built on some of the most trusted and loved technologies:
187187

188188
## :muscle: Trusted By
189189

190-
Devtron is trusted by Enterprises and Communities all across the globe:
191-
<br>
190+
Devtron is trusted by communities all across the globe. The list of organizations using Devtron can be found [here](./USERS.md).
192191

193-
- [Delhivery:](https://www.delhivery.com/) Delhivery is an Indian delivery and e-commerce logistics company, that provides end-to-end Supply Chain solutions through cutting-edge technology
194-
- [BharatPe:](https://bharatpe.com/) Bharatpe is an Indian fintech company that offers a range of products including interoperable QR codes for UPI payments, POS machines for card acceptance, and small business financing
195-
- [Livspace:](https://www.livspace.com/in) Livspace is a home interior and renovation company, that provides interior design and renovation services in Singapore and India
196-
- [Moglix:](https://www.moglix.com/) Moglix is an industrial B2B marketplace and an e-commerce platform for industrial tools and equipment, used largely by businesses in India
197-
- [Xoxoday:](https://www.xoxoday.com/) Xoxoday provides technology infrastructure to enable businesses to automate rewards, incentives & payouts for employees, customers & channel partners
198192

199193
## :question: FAQs & Troubleshooting
200194

USERS.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Who is using Devtron?
2+
3+
As the community grows, we want to keep track of the users and organizations using Devtron. If you're using Devtron, please raise a PR to add your organization name and a link to your webpage.
4+
5+
Currently, Devtron is being used by the following organizations:
6+
7+
1. [73strings](https://www.73strings.com/)
8+
2. [Ather Energy](https://www.atherenergy.com/)
9+
3. [BharatPe](https://bharatpe.com/)
10+
4. [Birdeye](https://birdeye.com/)
11+
5. [Bluecopa](https://www.bluecopa.com/)
12+
6. [Chitale Bandhu](https://www.chitalebandhu.in/)
13+
7. [Centricity](https://centricity.co.in/)
14+
8. [Delhivery](https://www.delhivery.com/)
15+
9. [KHELGroup](https://thekhelgroup.com/)
16+
10. [Lemnisk](https://www.lemnisk.co/)
17+
11. [OTPLess](https://otpless.com/)
18+
12. [Spinny](https://www.spinny.com/)
19+
13. [Tata 1Mg](https://www.1mg.com/)
20+
14. [TravClan](https://www.travclan.com/)
21+
15. [Xoxoday](https://www.xoxoday.com/)
22+
23+
24+

Wire.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ import (
7272
"github.com/devtron-labs/devtron/api/terminal"
7373
util5 "github.com/devtron-labs/devtron/api/util"
7474
webhookHelm "github.com/devtron-labs/devtron/api/webhook/helm"
75+
"github.com/devtron-labs/devtron/cel"
7576
"github.com/devtron-labs/devtron/client/argocdServer"
7677
"github.com/devtron-labs/devtron/client/argocdServer/application"
7778
cluster2 "github.com/devtron-labs/devtron/client/argocdServer/cluster"
@@ -121,6 +122,7 @@ import (
121122
delete2 "github.com/devtron-labs/devtron/pkg/delete"
122123
deployment2 "github.com/devtron-labs/devtron/pkg/deployment"
123124
git2 "github.com/devtron-labs/devtron/pkg/deployment/gitOps/git"
125+
"github.com/devtron-labs/devtron/pkg/deployment/manifest/publish"
124126
"github.com/devtron-labs/devtron/pkg/deploymentGroup"
125127
"github.com/devtron-labs/devtron/pkg/dockerRegistry"
126128
"github.com/devtron-labs/devtron/pkg/eventProcessor"
@@ -926,8 +928,8 @@ func InitializeApp() (*App, error) {
926928
wire.Bind(new(executors.SystemWorkflowExecutor), new(*executors.SystemWorkflowExecutorImpl)),
927929
repository5.NewManifestPushConfigRepository,
928930
wire.Bind(new(repository5.ManifestPushConfigRepository), new(*repository5.ManifestPushConfigRepositoryImpl)),
929-
app.NewGitOpsManifestPushServiceImpl,
930-
wire.Bind(new(app.GitOpsPushService), new(*app.GitOpsManifestPushServiceImpl)),
931+
publish.NewGitOpsManifestPushServiceImpl,
932+
wire.Bind(new(publish.GitOpsPushService), new(*publish.GitOpsManifestPushServiceImpl)),
931933

932934
// start: docker registry wire set injection
933935
router.NewDockerRegRouterImpl,
@@ -965,6 +967,9 @@ func InitializeApp() (*App, error) {
965967
wire.Bind(new(imageDigestPolicy.ImageDigestPolicyService), new(*imageDigestPolicy.ImageDigestPolicyServiceImpl)),
966968

967969
appStoreRestHandler.AppStoreWireSet,
970+
971+
cel.NewCELServiceImpl,
972+
wire.Bind(new(cel.EvaluatorService), new(*cel.EvaluatorServiceImpl)),
968973
)
969974
return &App{}, nil
970975
}

0 commit comments

Comments
 (0)