Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Hosturl changes #34

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

Open
wants to merge 10 commits into
base: main
Choose a base branch
Loading
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
15 changes: 0 additions & 15 deletions 15 charts/devtron/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,6 @@ secrets:
# value: "#########"

configs:
BASE_URL_SCHEME: "http"
#url without scheme and without trailing '/'
BASE_URL: "www.example.com"
#DEX_CONFIG: |-
# connectors:
# - type: oidc
# id: google
# name: Google
# config:
# issuer: https://accounts.google.com
# clientID: xxxxxxxx-xxxxxxxxxxxxxxxxx.apps.googleusercontent.com
# clientSecret: xxxxxxxxxxxxxxxxx
# redirectURI: <BASE_URL_SCHEME>://<BASE_URL>/api/dex/callback
# hostedDomains:
# - example.com
DEFAULT_CD_LOGS_BUCKET_REGION: "change-me"
DEFAULT_CACHE_BUCKET: "change-me"
DEFAULT_CACHE_BUCKET_REGION: "change-me"
Expand Down
2 changes: 1 addition & 1 deletion 2 install/devtron-installer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ metadata:
name: installer-devtron
namespace: default
spec:
url: https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/installation-script
url: https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/hosturl-changes/installation-script
3 changes: 0 additions & 3 deletions 3 install/devtron-operator-configs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,7 @@ metadata:
name: devtron-operator-cm
namespace: devtroncd
data:
BASE_URL_SCHEME: "http"
#url without scheme and without trailing '/'
BASE_URL: "change-me"
DEX_CONFIG: "change-me"
DEFAULT_CD_LOGS_BUCKET_REGION: "change-me"
DEFAULT_CACHE_BUCKET: "change-me"
DEFAULT_CACHE_BUCKET_REGION: "change-me"
Expand Down
144 changes: 6 additions & 138 deletions 144 installation-script
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,9 @@ operatorConfigMap = kubectl get cm -n devtroncd devtron-operator-cm;
postgresqlPassword = jsonSelect(operatorSecret, "data.POSTGRESQL_PASSWORD");
acdPassword = jsonSelect(operatorSecret, "data.ACD_PASSWORD");
webHookToken = jsonSelect(operatorSecret, "data.WEBHOOK_TOKEN");
grafanaPassword = jsonSelect(operatorSecret, "data.GRAFANA_PASSWORD");
azureAccountKey = jsonSelect(operatorSecret, "data.AZURE_ACCOUNT_KEY");

baseURLScheme = jsonSelect(operatorConfigMap, "data.BASE_URL_SCHEME");
baseURL = jsonSelect(operatorConfigMap, "data.BASE_URL");
dexConfig = jsonSelect(operatorConfigMap, "data.DEX_CONFIG");

defaultCDLogsBucketRegion = jsonSelect(operatorConfigMap, "data.DEFAULT_CD_LOGS_BUCKET_REGION");
defaultCacheBucket = jsonSelect(operatorConfigMap, "data.DEFAULT_CACHE_BUCKET");
defaultCacheBucketRegion = jsonSelect(operatorConfigMap, "data.DEFAULT_CACHE_BUCKET_REGION");
Expand Down Expand Up @@ -42,32 +39,28 @@ base64DecoderSuffix = ` | base64 -d | tr -d ':\n'`;
if !postgresqlPassword {
log("postgresql password is mandatory");
}
if !baseURL {
log("baseURL is mandatory");
}

argocd = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/argocd.yaml");
clair = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/clair.yaml");
clairConfig = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/clair-config.yaml");
dashboard = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/dashboard.yaml");
dashboard = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/hosturl-changes/yamls/dashboard.yaml");
gitSensor = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/gitsensor.yaml");
guard = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/guard.yaml");
postgresql = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/postgresql.yaml");
imageScanner = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/image-scanner.yaml");
kubewatch = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/kubewatch.yaml");
lens = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/lens.yaml");
migrator = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/migrator.yaml");
migrator = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/hosturl-changes/yamls/migrator.yaml");
natsOperator = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/nats-operator.yaml");
natsServer = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/nats-server.yaml");
natsStreaming = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/nats-streaming.yaml");
notifier = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/notifier.yaml");
devtron = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/devtron.yaml");
notifier = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/hosturl-changes/yamls/notifier.yaml");
devtron = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/hosturl-changes/yamls/devtron.yaml");
devtronDexIngress = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/devtron-dex-ingress.yaml");
workflow = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/workflow.yaml");
serviceAccount = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/serviceaccount.yaml");
namespace = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/namespace.yaml");
externalSecret = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/external-secret.yaml");
grafana = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/grafana.yaml");
rollout = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/rollout.yaml");
minio = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/yamls/minio.yaml");

Expand All @@ -89,124 +82,8 @@ natsStreamingOverride = download("https://raw.githubusercontent.com/devtron-labs
devtronDexIngressOverride = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/updates/yamls/devtron-dex-ingress.yaml");
workflowOverride = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/updates/workflow.yaml");
externalSecretOverride = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/updates/external-secret.yaml");
grafanaOverride = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/updates/grafana.yaml");
rolloutOverride = download("https://raw.githubusercontent.com/devtron-labs/devtron-installation-script/main/updates/rollout.yaml");

#grafana
grafanaSecret = kubectl get -n devtroncd secret devtron-grafana-cred-secret;
hasgrafana = kubectl get -n devtroncd deployment devtron-grafana;
grafanaPassword = jsonSelect(grafanaSecret, "data.admin-password");
if !grafanaPassword {
log ("not found");
grafanaPassword = shellScript passwordGen;
}
grafanaPasswordPlain = base64DecoderPrefix + `echo "` + grafanaPassword + `" | tr -d ':\n' ` + base64DecoderSuffix;
grafanaPasswordPlain = shellScript grafanaPasswordPlain;
kubeYamlEdit(grafana, "data.admin-password", grafanaPassword, `/Secret//devtron-grafana-cred-secret`);
grafanaUrl = baseURLScheme + "://%s:%s@" + baseURL + "/grafana";
grafanaUrlWithPwd = baseURLScheme + "://admin:"+ grafanaPasswordPlain + "@" + baseURL + "/grafana";

grafanaIni = `[analytics]
check_for_updates = true
[auth.anonymous]
enabled = true
org_name = devtron-metrics-view
org_role = Viewer
[grafana_net]
url = https://grafana.net
[log]
mode = console
[paths]
data = /var/lib/grafana/data
logs = /var/log/grafana
plugins = /var/lib/grafana/plugins
provisioning = /etc/grafana/provisioning
[security]
allow_embedding = true
[server]
root_url = ` + baseURLScheme + "://" + baseURL + `/grafana
serve_from_sub_path = true
[users]
allow_org_create = true
`;
kubeYamlEdit(grafana, `data.grafana\.ini`, grafanaIni, `/ConfigMap/devtroncd/devtron-grafana`);
grafana = kubectl apply -n devtroncd grafana -u grafanaOverride;
log("setup grafana");

if !hasgrafana {
createOrgScript = shebang + `
sleep 50
ORG_ID=$( curl -d '{"name":"devtron-metrics-view"}' -H "Content-Type: application/json" -X POST '` + grafanaUrlWithPwd + `/api/orgs' )
echo $ORG_ID
`;
createOrg = shellScript createOrgScript;
log("created org " + createOrg);

orgId = jsonSelect(createOrg, "orgId");
if !orgId {
orgId = "2";
}

activeOrgScript = shebang + `
curl -X POST '` + grafanaUrlWithPwd + `/api/user/using/` + orgId +`'`;
activeOrg = shellScript activeOrgScript;
log("activated org");

setPreferenceScript = shebang + `
curl -X PUT -H "Content-Type: application/json" -d '{"homeDashboardId":0,"theme":"light","timezone":"browser"}' '`+ grafanaUrlWithPwd + `/api/org/preferences'`;
setPreference = shellScript setPreferenceScript;
log("set preference");

prometheusDatasourceScript = shebang + `
curl '` + grafanaUrlWithPwd + `/api/datasources' \
-H 'content-type: application/json' \
-H 'x-grafana-org-id: ` + orgId + `' \
--data-raw '{"name":"Prometheus-devtron","type":"prometheus","access":"proxy","isDefault":true}'
`;
prometheusDatasource = shellScript prometheusDatasourceScript;
log("data source setup step 1");

datasourceId = jsonSelect(prometheusDatasource, "datasource.id");
log("datasource id " + datasourceId);

prometheusDatasourceScriptUpdate = shebang + `
curl '` + grafanaUrlWithPwd + `/api/datasources/` + datasourceId + `' -X PUT \
-H 'content-type: application/json' \
-H 'x-grafana-org-id: ` + orgId + `' \
--data-raw '{"id":` + datasourceId +` ,
"orgId":` + orgId + `,
"name":"Prometheus-devtron","type":"prometheus","access":"proxy",
"url":"` + prometheusUrl + `",
"basicAuth":true,"jsonData":{},"version":1}'
`;
prometheusDatasourceUpdate = shellScript prometheusDatasourceScriptUpdate;
log("data source setup step 2");

grafanaDashboardProvider = `
apiVersion: 1
providers:
- disableDeletion: true
editable: false
folder: ""
name: devtron-provider
options:
path: /var/lib/grafana/dashboards/devtron-provider
orgId: `+ orgId + `
type: file
`;

grafanaCm = kubectl get -n devtroncd cm devtron-grafana;
jsonEdit(grafanaCm, `data.dashboardproviders\.yaml`, grafanaDashboardProvider);
grafanaCm = kubectl apply -n devtroncd grafanaCm;
log("setup up grafana cm with provider yaml");

allDevtroncdPo = kubectl get po -n devtroncd;
grafanaPodnamePattern = `items.#(metadata.name%"devtron-grafana*").metadata.name`;
grafanaPodname = jsonSelect(allDevtroncdPo, grafanaPodnamePattern);
grafanaPoddelete = kubectl delete -n devtroncd po grafanaPodname;
log("deleted grafana pod to reload configmap");
}

namespaces = kubectl apply namespace;
log("created namespaces");
sa = kubectl apply serviceAccount;
Expand Down Expand Up @@ -241,13 +118,9 @@ helmRepo = `- name: incubator
url: https://charts.helm.sh/stable`;

kubeYamlEdit(argocd, `data.repositories`, helmRepo, `/ConfigMap//argocd-cm` );
kubeYamlEdit(argocd, "data.url", baseURLScheme + "://" + baseURL, `/ConfigMap//argocd-cm`);
if dexConfig {
kubeYamlEdit(argocd, `data.dex\.config`, dexConfig, `/ConfigMap//argocd-cm`);
}


kubeYamlEdit(argocd, `data.policy\.default`, `role:admin`, `/ConfigMap//argocd-rbac-cm`);
# patchLoad = '{"data":{"url":"' + baseURL + '", "dex.config:"' + dexConfig + '}}';
# pa = kubectl patch -n devtroncd cm/argocd-cm --type "application/merge-patch+json" -p patchLoad;

kubeYamlEdit(argocd, `subjects.0.namespace`, "devtroncd", `rbac.authorization.k8s.io/ClusterRoleBinding//argocd-application-controller`);
Expand All @@ -260,7 +133,6 @@ if hasArgocd {
kubeYamlDelete(argocd, filter=`/ConfigMap//argocd-tls-certs-cm`);
}
argocd = kubectl apply -n devtroncd argocd -u argocdOverride;
#patchLoad = '{"data":{"url":"' + baseURL + '", "dex.config:"' + dexConfig + '}}';
#pa = kubectl patch -n devtroncd cm/argocd-cm --type "application/merge-patch+json" -p patchLoad;
log("executed argocd setup command");

Expand All @@ -273,7 +145,6 @@ kubeYamlEdit(gitSensor, "data.PG_PASSWORD", postgresqlPassword, `/Secret//git-se

#notifier
kubeYamlEdit(notifier, "data.DB_PWD", postgresqlPassword, `/Secret//notifier-secret`);
kubeYamlEdit(notifier, "data.BASE_URL", baseURLScheme + "://" + baseURL, `/ConfigMap//notifier-cm`);

#image-scanner
kubeYamlEdit(imageScanner, "data.PG_PASSWORD", postgresqlPassword, `/Secret//image-scanner-secret`);
Expand Down Expand Up @@ -381,15 +252,12 @@ kubeYamlEdit(devtron, "data.DEX_SECRET", dexSecret, `/Secret//devtron-secret`);
kubeYamlEdit(devtron, "data.DEX_JWTKEY", dexJwtKey, `/Secret//devtron-secret`);
kubeYamlEdit(devtron, "data.DEX_CSTOREKEY", dexCStoreKey, `/Secret//devtron-secret`);
kubeYamlEdit(devtron, "data.ACD_PASSWORD", acdPassword, `/Secret//devtron-secret`);
kubeYamlEdit(devtron, "data.GRAFANA_PASSWORD", grafanaPassword, `/Secret//devtron-secret`);


kubeYamlEdit(devtron, "data.EXTERNAL_CI_WEB_HOOK_URL", baseURLScheme + "://" + baseURL+"/orchestrator/webhook/ext-ci", `/ConfigMap//devtron-cm`);
kubeYamlEdit(devtron, "data.DEFAULT_CD_LOGS_BUCKET_REGION", defaultCDLogsBucketRegion, `/ConfigMap//devtron-cm`);
kubeYamlEdit(devtron, "data.DEFAULT_CACHE_BUCKET", defaultCacheBucket, `/ConfigMap//devtron-cm`);
kubeYamlEdit(devtron, "data.DEFAULT_CACHE_BUCKET_REGION", defaultCacheBucketRegion, `/ConfigMap//devtron-cm`);
kubeYamlEdit(devtron, "data.DEFAULT_BUILD_LOGS_BUCKET", defaultBuildLogsBucket, `/ConfigMap//devtron-cm`);
kubeYamlEdit(devtron, "data.GRAFANA_URL", grafanaUrl, `/ConfigMap//devtron-cm`);

if !cloudProvider {
cloudProvider="AWS";
Expand Down
Morty Proxy This is a proxified and sanitized view of the page, visit original site.