This commit is contained in:
Philippe Merle
2025-05-02 14:51:48 +02:00
2 changed files with 42 additions and 27 deletions
+13 -5
View File
@@ -17,18 +17,26 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: philippemerle/kubediagrams:latest
context: .
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
tags: philippemerle/kubediagrams:latest
+29 -22
View File
@@ -6,15 +6,19 @@
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
outputs = {
self,
nixpkgs,
flake-utils,
}:
flake-utils.lib.eachDefaultSystem (
system: let
pkgs = nixpkgs.legacyPackages.${system};
pythonEnv = pkgs.python312.withPackages (ps: [ ps.pyyaml ps.diagrams ]);
pythonEnv = pkgs.python312.withPackages (ps: [ps.pyyaml ps.diagrams]);
kube-diagrams = pkgs.stdenv.mkDerivation rec {
kube-diagrams = pkgs.stdenv.mkDerivation {
pname = "kube-diagrams";
version = "0.2.0";
version = "0.3.0";
src = self;
postPatch = ''
substituteInPlace bin/kube-diagrams \
@@ -27,31 +31,34 @@
'';
};
runtimeEnv = with pkgs; [
busybox
cacert
graphviz
kubernetes-helm
kube-diagrams
pythonEnv
];
runtimeEnv = with pkgs;
[
cacert
graphviz
kubernetes-helm
kube-diagrams
pythonEnv
]
++ lib.optionals pkgs.stdenv.isLinux [busybox];
in {
devShells.default = pkgs.mkShell {
packages = with pkgs; [
git
lazygit
nodePackages.prettier
] ++ runtimeEnv;
packages = with pkgs;
[
git
lazygit
nodePackages.prettier
]
++ runtimeEnv;
};
packages = {
default = kube-diagrams;
kube-diagrams = kube-diagrams;
docker = pkgs.dockerTools.buildLayeredImage {
docker = pkgs.dockerTools.buildImage {
name = "ghcr.io/philippemerle/kubediagrams";
tag = "latest";
contents = runtimeEnv;
created = "now";
copyToRoot = runtimeEnv;
created = builtins.substring 0 8 self.lastModifiedDate;
};
};
}