Skip to content
Merged
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
581 changes: 309 additions & 272 deletions .devcontainer/Dockerfile

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,14 +67,14 @@ Run `python -m cli.scaffold_devcontainer --help` to see all available options in
"openshift_cli": false
},
"versions": {
"python": "3.11",
"java": "17",
"node": "20",
"go": "1.21",
"k9s": "0.29.1",
"argocd": "2.8.4",
"flux": "2.1.2",
"kustomize": "5.2.1"
"python": "3.12",
"java": "21",
"node": "22",
"go": "1.25.0",
"k9s": "0.50.16",
"argocd": "3.3.6",
"flux": "2.8.5",
"kustomize": "5.8.0"
}
}
```
Expand Down
36 changes: 18 additions & 18 deletions .devcontainer/configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,17 +54,17 @@
"jenkins": False
},
"versions": {
"python": "3.11",
"java": "17",
"node": "20",
"go": "1.21",
"nexus": "3.50.0",
"prometheus": "2.45.0",
"grafana": "10.0.0",
"k9s": "0.29.1",
"argocd": "2.8.4",
"flux": "2.1.2",
"kustomize": "5.2.1"
"python": "3.12",
"java": "21",
"node": "22",
"go": "1.25.0",
"nexus": "3.91.0",
"prometheus": "3.5.1",
"grafana": "12.4.2",
"k9s": "0.50.16",
"argocd": "3.3.6",
"flux": "2.8.5",
"kustomize": "5.8.0"
}
}

Expand Down Expand Up @@ -105,15 +105,15 @@

# Kubernetes tools
"INSTALL_K9S": str(config["kubernetes"]["k9s"]).lower(),
"K9S_VERSION": config["versions"].get("k9s", "0.29.1"),
"K9S_VERSION": config["versions"].get("k9s", "0.50.16"),
"INSTALL_KUSTOMIZE": str(config["kubernetes"]["kustomize"]).lower(),
"KUSTOMIZE_VERSION": config["versions"].get("kustomize", "5.2.1"),
"KUSTOMIZE_VERSION": config["versions"].get("kustomize", "5.8.0"),
"INSTALL_ARGOCD_CLI": str(config["kubernetes"]["argocd_cli"]).lower(),
"ARGOCD_VERSION": config["versions"].get("argocd", "2.8.4"),
"ARGOCD_VERSION": config["versions"].get("argocd", "3.3.6"),
"INSTALL_LENS": str(config["kubernetes"]["lens"]).lower(),
"INSTALL_KUBESEAL": str(config["kubernetes"]["kubeseal"]).lower(),
"INSTALL_FLUX": str(config["kubernetes"]["flux"]).lower(),
"FLUX_VERSION": config["versions"].get("flux", "2.1.2"),
"FLUX_VERSION": config["versions"].get("flux", "2.8.5"),
"INSTALL_KIND": str(config["kubernetes"]["kind"]).lower(),
"INSTALL_MINIKUBE": str(config["kubernetes"]["minikube"]).lower(),
"INSTALL_OPENSHIFT_CLI": str(config["kubernetes"]["openshift_cli"]).lower(),
Expand All @@ -134,11 +134,11 @@

# DevOps tools
"INSTALL_NEXUS": str(config["devops_tools"]["nexus"]).lower(),
"NEXUS_VERSION": config["versions"].get("nexus", "3.50.0"),
"NEXUS_VERSION": config["versions"].get("nexus", "3.91.0"),
"INSTALL_PROMETHEUS": str(config["devops_tools"]["prometheus"]).lower(),
"PROMETHEUS_VERSION": config["versions"].get("prometheus", "2.45.0"),
"PROMETHEUS_VERSION": config["versions"].get("prometheus", "3.5.1"),
"INSTALL_GRAFANA": str(config["devops_tools"]["grafana"]).lower(),
"GRAFANA_VERSION": config["versions"].get("grafana", "10.0.0"),
"GRAFANA_VERSION": config["versions"].get("grafana", "12.4.2"),
"INSTALL_ELK": str(config["devops_tools"]["elk"]).lower(),
"INSTALL_JENKINS": str(config["devops_tools"]["jenkins"]).lower()
}
Expand Down
22 changes: 11 additions & 11 deletions .devcontainer/devcontainer.env.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,16 @@
"jenkins": false
},
"versions": {
"python": "3.11",
"java": "17",
"node": "20",
"go": "1.21",
"nexus": "3.50.0",
"prometheus": "2.45.0",
"grafana": "10.0.0",
"k9s": "0.29.1",
"argocd": "2.8.4",
"flux": "2.1.2",
"kustomize": "5.2.1"
"python": "3.12",
"java": "21",
"node": "22",
"go": "1.25.0",
"nexus": "3.91.0",
"prometheus": "3.5.1",
"grafana": "12.4.2",
"k9s": "0.50.16",
"argocd": "3.3.6",
"flux": "2.8.5",
"kustomize": "5.8.0"
}
}
76 changes: 39 additions & 37 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,48 +3,50 @@
"build": {
"dockerfile": "Dockerfile",
"args": {
"INSTALL_PYTHON": "false",
"PYTHON_VERSION": "3.12",
"JAVA_VERSION": "21",
"NODE_VERSION": "22",
"GO_VERSION": "1.25.0",
"INSTALL_PYTHON": "true",
"INSTALL_JAVA": "false",
"INSTALL_JS": "false",
"INSTALL_RUBY": "false",
"INSTALL_CSHARP": "false",
"INSTALL_PHP": "false",
"INSTALL_RUST": "false",
"INSTALL_TYPESCRIPT": "false",
"INSTALL_KOTLIN": "false",
"INSTALL_C": "false",
"INSTALL_CPP": "false",
"INSTALL_JAVASCRIPT": "false",
"INSTALL_GO": "false",
"INSTALL_DOCKER": "false",
"INSTALL_TERRAFORM": "false",
"INSTALL_KUBECTL": "false",
"INSTALL_HELM": "false",
"INSTALL_GITHUB_ACTIONS": "false",
"INSTALL_JENKINS": "false",
"INSTALL_K9S": "false",
"INSTALL_KUSTOMIZE": "false",
"INSTALL_ARGOCD_CLI": "false",
"INSTALL_DOCKER": "true",
"INSTALL_TERRAFORM": "true",
"INSTALL_KUBECTL": "true",
"INSTALL_HELM": "true",
"INSTALL_GITHUB_ACTIONS": "true",
"INSTALL_K9S": "true",
"K9S_VERSION": "0.50.16",
"INSTALL_KUSTOMIZE": "true",
"KUSTOMIZE_VERSION": "5.8.0",
"INSTALL_ARGOCD_CLI": "true",
"ARGOCD_VERSION": "3.3.6",
"INSTALL_LENS": "false",
"INSTALL_KUBESEAL": "false",
"INSTALL_FLUX": "false",
"INSTALL_KIND": "false",
"INSTALL_MINIKUBE": "false",
"INSTALL_KUBESEAL": "true",
"INSTALL_FLUX": "true",
"FLUX_VERSION": "2.8.5",
"INSTALL_KIND": "true",
"INSTALL_MINIKUBE": "true",
"INSTALL_OPENSHIFT_CLI": "false",
"INSTALL_GRADLE": "false",
"INSTALL_MAVEN": "false",
"INSTALL_ANT": "false",
"INSTALL_MAKE": "false",
"INSTALL_CMAKE": "false",
"INSTALL_SONARQUBE": "false",
"INSTALL_CHECKSTYLE": "false",
"INSTALL_PMD": "false",
"INSTALL_ESLINT": "false",
"INSTALL_PYLINT": "false",
"INSTALL_NEXUS": "false",
"INSTALL_PROMETHEUS": "false",
"INSTALL_GRAFANA": "false",
"INSTALL_ELK": "false"
"INSTALL_GRADLE": "true",
"INSTALL_MAVEN": "true",
"INSTALL_ANT": "true",
"INSTALL_MAKE": "true",
"INSTALL_CMAKE": "true",
"INSTALL_SONARQUBE": "true",
"INSTALL_CHECKSTYLE": "true",
"INSTALL_PMD": "true",
"INSTALL_ESLINT": "true",
"INSTALL_PYLINT": "true",
"INSTALL_NEXUS": "true",
"NEXUS_VERSION": "3.91.0",
"INSTALL_PROMETHEUS": "true",
"PROMETHEUS_VERSION": "3.5.1",
"INSTALL_GRAFANA": "true",
"GRAFANA_VERSION": "12.4.2",
"INSTALL_ELK": "true",
"INSTALL_JENKINS": "false"
}
},
"mounts": [
Expand Down
54 changes: 27 additions & 27 deletions cli/devopsos.py
Original file line number Diff line number Diff line change
Expand Up @@ -426,38 +426,38 @@ def scaffold_devcontainer_cmd(
help="Comma-separated code analysis tools (default: none)"),
devops_tools: str = typer.Option("", "--devops-tools", envvar="DEVOPS_OS_DEVCONTAINER_DEVOPS_TOOLS",
help="Comma-separated DevOps tools (default: none)"),
python_version: str = typer.Option("3.11", "--python-version",
python_version: str = typer.Option("3.12", "--python-version",
envvar="DEVOPS_OS_DEVCONTAINER_PYTHON_VERSION",
help="Python version (default: 3.11)"),
java_version: str = typer.Option("17", "--java-version",
help="Python version (default: 3.12)"),
java_version: str = typer.Option("21", "--java-version",
envvar="DEVOPS_OS_DEVCONTAINER_JAVA_VERSION",
help="Java JDK version (default: 17)"),
node_version: str = typer.Option("20", "--node-version",
help="Java JDK version (default: 21)"),
node_version: str = typer.Option("22", "--node-version",
envvar="DEVOPS_OS_DEVCONTAINER_NODE_VERSION",
help="Node.js version (default: 20)"),
go_version: str = typer.Option("1.21", "--go-version", envvar="DEVOPS_OS_DEVCONTAINER_GO_VERSION",
help="Go version (default: 1.21)"),
k9s_version: str = typer.Option("0.29.1", "--k9s-version",
help="Node.js version (default: 22)"),
go_version: str = typer.Option("1.25.0", "--go-version", envvar="DEVOPS_OS_DEVCONTAINER_GO_VERSION",
help="Go version (default: 1.25.0)"),
k9s_version: str = typer.Option("0.50.16", "--k9s-version",
envvar="DEVOPS_OS_DEVCONTAINER_K9S_VERSION",
help="K9s version (default: 0.29.1)"),
argocd_version: str = typer.Option("2.8.4", "--argocd-version",
help="K9s version (default: 0.50.16)"),
argocd_version: str = typer.Option("3.3.6", "--argocd-version",
envvar="DEVOPS_OS_DEVCONTAINER_ARGOCD_VERSION",
help="ArgoCD version (default: 2.8.4)"),
flux_version: str = typer.Option("2.1.2", "--flux-version",
help="ArgoCD version (default: 3.3.6)"),
flux_version: str = typer.Option("2.8.5", "--flux-version",
envvar="DEVOPS_OS_DEVCONTAINER_FLUX_VERSION",
help="Flux version (default: 2.1.2)"),
kustomize_version: str = typer.Option("5.2.1", "--kustomize-version",
help="Flux version (default: 2.8.5)"),
kustomize_version: str = typer.Option("5.8.0", "--kustomize-version",
envvar="DEVOPS_OS_DEVCONTAINER_KUSTOMIZE_VERSION",
help="Kustomize version (default: 5.2.1)"),
nexus_version: str = typer.Option("3.50.0", "--nexus-version",
help="Kustomize version (default: 5.8.0)"),
nexus_version: str = typer.Option("3.91.0", "--nexus-version",
envvar="DEVOPS_OS_DEVCONTAINER_NEXUS_VERSION",
help="Nexus version (default: 3.50.0)"),
prometheus_version: str = typer.Option("2.45.0", "--prometheus-version",
help="Nexus version (default: 3.91.0)"),
prometheus_version: str = typer.Option("3.5.1", "--prometheus-version",
envvar="DEVOPS_OS_DEVCONTAINER_PROMETHEUS_VERSION",
help="Prometheus version (default: 2.45.0)"),
grafana_version: str = typer.Option("10.0.0", "--grafana-version",
help="Prometheus version (default: 3.5.1)"),
grafana_version: str = typer.Option("12.4.2", "--grafana-version",
envvar="DEVOPS_OS_DEVCONTAINER_GRAFANA_VERSION",
help="Grafana version (default: 10.0.0)"),
help="Grafana version (default: 12.4.2)"),
output_dir: str = typer.Option(".", "--output-dir", envvar="DEVOPS_OS_DEVCONTAINER_OUTPUT_DIR",
help="Root output directory (files written to <output-dir>/.devcontainer/)"),
):
Expand All @@ -472,7 +472,7 @@ def scaffold_devcontainer_cmd(
Examples:
devopsos scaffold devcontainer --languages python,java --cicd-tools docker,github_actions
devopsos scaffold devcontainer --kubernetes-tools kubectl,helm,argocd_cli
devopsos scaffold devcontainer --languages go --go-version 1.22 --output-dir myproject
devopsos scaffold devcontainer --languages go --go-version 1.25.0 --output-dir myproject
"""
_show_help_if_no_opts(ctx)
flags = [
Expand Down Expand Up @@ -647,9 +647,9 @@ def init(
ALL_DEVOPS_TOOLS = ["nexus", "prometheus", "grafana", "elk", "jenkins"]

versions_defaults = {
"python": "3.11", "java": "17", "node": "20", "go": "1.21", "nexus": "3.50.0",
"prometheus": "2.45.0", "grafana": "10.0.0", "k9s": "0.29.1", "argocd": "2.8.4",
"flux": "2.1.2", "kustomize": "5.2.1", "jenkins": "2.440.1"
"python": "3.12", "java": "21", "node": "22", "go": "1.25.0", "nexus": "3.91.0",
"prometheus": "3.5.1", "grafana": "12.4.2", "k9s": "0.50.16", "argocd": "3.3.6",
"flux": "2.8.5", "kustomize": "5.8.0", "jenkins": "2.440.1"
}

# ── Wizard groups aligned with Process-First DevOps principles ────────
Expand Down Expand Up @@ -780,7 +780,7 @@ def _sel(group): return selected_by_group.get(group, [])
"ruby": "INSTALL_RUBY", "csharp": "INSTALL_CSHARP", "php": "INSTALL_PHP",
"rust": "INSTALL_RUST", "typescript": "INSTALL_TYPESCRIPT",
"kotlin": "INSTALL_KOTLIN", "c": "INSTALL_C", "cpp": "INSTALL_CPP",
"javascript": "INSTALL_JAVASCRIPT", "go": "INSTALL_GO"
"javascript": "INSTALL_JS", "go": "INSTALL_GO"
}
for lang, arg in lang_map.items():
build_args[arg] = str(config["languages"].get(lang, False)).lower()
Expand Down
Loading
Loading