diff --git a/.vscode/launch.json b/.vscode/launch.json index 43c23e0..f3aa592 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,8 +4,6 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ - - { "name": "Launch Namespace Custom", "type": "go", @@ -16,9 +14,8 @@ "port": 2345, "host": "127.0.0.1", "program": "${workspaceRoot}/main.go", - // "envFile": "${workspaceRoot}/.dev.env", - "args": ["apply-namespace","--skip-deps","--diff-run","--dry-run", "-e","dev","--lint","dap-base"], + "args": ["apply", "namespace","--skip-deps","--diff-run","--dry-run", "-e","dev","--lint","dap-base"], "showLog": true }, { @@ -31,9 +28,8 @@ "port": 2345, "host": "127.0.0.1", "program": "${workspaceRoot}/main.go", - // "envFile": "${workspaceRoot}/.dev.env", - "args": ["apply-namespace", "-e","dev","--lint","default"], + "args": ["apply", "namespace", "-e","dev","--lint","default"], "showLog": true }, { @@ -43,11 +39,11 @@ "mode": "debug", "remotePath": "", "cwd": "${workspaceRoot}", - "port": 2345, - "host": "127.0.0.1", + //"port": 2345, + //"host": "127.0.0.1", "program": "${workspaceRoot}/main.go", // "envFile": "${workspaceRoot}/.dev.env", - "args": ["apply","--skip-deps","--diff-run", "-e","dev", "-n", "default","monitoring"], + "args": ["apply","--dry-run","--skip-deps","--diff-run", "-e","dev", "-n", "default","--app","k8s","monitoring"], "showLog": true }, { @@ -57,11 +53,11 @@ "mode": "debug", "remotePath": "", "cwd": "${workspaceRoot}", - "port": 2345, - "host": "127.0.0.1", + //"port": 2345, + //"host": "127.0.0.1", "program": "${workspaceRoot}/main.go", // "envFile": "${workspaceRoot}/.dev.env", - "args": ["apply","-e","dev", "-n", "default","gitops-defs","--app","dummy","monitoring"], + "args": ["apply","--dry-run","--skip-deps","-e","dev", "-n", "default","gitops-manifests","--app","k8s","monitoring"], "showLog": true }, { diff --git a/cmd/applyGroup.go b/cmd/applyGroup.go index 3db3314..3059843 100644 --- a/cmd/applyGroup.go +++ b/cmd/applyGroup.go @@ -81,7 +81,7 @@ func applyAppGroup(group string, namespace string, outputDir string, appFilter s for _, matchedAppFile := range matches { appFile := filepath.Base(matchedAppFile) if appFile != "_app_group.yaml" { - app := utils.SanitizeAppName(appFile) + app := utils.SanitizeAppName(appFile, match) if appFilter != "" { if app != appFilter { diff --git a/pkg/utils/stringUtils.go b/pkg/utils/stringUtils.go index 601d618..162e1f5 100644 --- a/pkg/utils/stringUtils.go +++ b/pkg/utils/stringUtils.go @@ -22,8 +22,8 @@ import ( "strings" ) -func SanitizeAppName(input string) string { - r, _ := regexp.Compile("\\.ya?ml") +func SanitizeAppName(input string, expr string) string { + r, _ := regexp.Compile(expr) //"\\.ya?ml" return r.ReplaceAllString(input, "") } diff --git a/realm/namespaces/_defaults.yaml b/realm/namespaces/_defaults.yaml index 9028c2a..43ed861 100644 --- a/realm/namespaces/_defaults.yaml +++ b/realm/namespaces/_defaults.yaml @@ -1,7 +1,7 @@ repositories: # To use official "stable" charts a.k.a https://github.com/helm/charts/tree/master/stable -- name: stable - url: https://kubernetes-charts-incubator.storage.googleapis.com +- name: incubator + url: https://charts.helm.sh/incubator helmDefaults: #tillerNamespace: tiller-namespace #dedicated default key for tiller-namespace @@ -20,4 +20,4 @@ environments: releases: - name: dummydummy - chart: stable/raw \ No newline at end of file + chart: incubator/raw \ No newline at end of file diff --git a/realm/namespaces/default/monitoring/k8s.gitops.yaml b/realm/namespaces/default/monitoring/k8s.gitops.yaml new file mode 100644 index 0000000..1b8b9de --- /dev/null +++ b/realm/namespaces/default/monitoring/k8s.gitops.yaml @@ -0,0 +1,46 @@ + + +bases: + - ../../_defaults.yaml + - ../_namespace.yaml + - ../../../values/env/{{.Environment.Name}}/values.yaml + - _app_group.yaml + +--- +templates: +{{ tpl ( readFile "./../../../templates/templates.yaml") . }} + +releases: + - name: {{.Values.app}} + <<: *base-local + chart: incubator/raw + version: 0.2.3 + values: + - templates: + - | + apiVersion: kappctrl.k14s.io/v1alpha1 + kind: App + metadata: + name: {{.Values.appGroup}}-{{.Values.app}} + namespace: {{.Values.namespace}} + spec: + serviceAccountName: {{.Values.namespaceDeployServiceAccount}} + fetch: + - image: + url: arttii/dummydeploy + # secretRef: + # name: {{.Values.dockerSecret}} + subPath: {{.Values.appGroup}}/dummy + template: + - ytt: + ignoreUnknownComments: true + strict: false + deploy: + - kapp: + rawOptions: ["--dangerous-override-ownership-of-existing-resources=true","--apply-concurrency=10"] + delete: + rawOptions: ["--apply-ignored=true"] + + + + diff --git a/realm/namespaces/default/monitoring/k8s.yaml b/realm/namespaces/default/monitoring/k8s.yaml new file mode 100644 index 0000000..6210685 --- /dev/null +++ b/realm/namespaces/default/monitoring/k8s.yaml @@ -0,0 +1,19 @@ +bases: +- ../../_defaults.yaml +- ../../../values/env/dev/{{.Environment.Values.namespace}}/values.yaml + +releases: + - name: dummy + chart: incubator/raw + version: 0.2.3 + values: + - templates: + - | + apiVersion: v1 + kind: ConfigMap + metadata: + name: dummy + + + + diff --git a/realm/namespaces/default/monitoring/test.gitops.yaml b/realm/namespaces/default/monitoring/test.gitops.yaml new file mode 100644 index 0000000..4410511 --- /dev/null +++ b/realm/namespaces/default/monitoring/test.gitops.yaml @@ -0,0 +1,46 @@ + + +bases: + - ../../_defaults.yaml + - ../_namespace.yaml + - ../../../values/env/{{.Environment.Name}}/values.yaml + - _app_group.yaml + +--- +templates: +{{ tpl ( readFile "./../../../templates/templates.yaml") . }} + +releases: + - name: {{.Values.app}} + <<: *base-local + chart: incubator/raw + version: 0.2.3 + values: + - templates: + - | + apiVersion: kappctrl.k14s.io/v1alpha1 + kind: App + metadata: + name: {{.Values.appGroup}}-{{.Values.app}} + namespace: {{.Values.namespace}} + spec: + serviceAccountName: {{.Values.namespaceDeployServiceAccount}} + fetch: + - image: + url: arttii/dummydeploy + # secretRef: + # name: {{.Values.dockerSecret}} + subPath: {{.Values.appGroup}}/test + template: + - ytt: + ignoreUnknownComments: true + strict: false + deploy: + - kapp: + rawOptions: ["--dangerous-override-ownership-of-existing-resources=true","--apply-concurrency=10"] + delete: + rawOptions: ["--apply-ignored=true"] + + + +