mirror of
https://github.com/hanzoai/deploy.git
synced 2026-10-07 08:44:50 +00:00
* feat(hydrator): add sourceHydrator types Co-authored-by: Alexandre Gaudreault <[email protected]> Co-authored-by: Omer Azmon <[email protected]> Co-authored-by: daengdaengLee <[email protected]> Co-authored-by: Juwon Hwang (Kevin) <[email protected]> Co-authored-by: thisishwan2 <[email protected]> Co-authored-by: mirageoasis <[email protected]> Co-authored-by: Robin Lieb <[email protected]> Co-authored-by: miiiinju1 <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> fix(codegen): use kube_codegen.sh deepcopy and client gen correctly Signed-off-by: Michael Crenshaw <[email protected]> deepcopy gen Signed-off-by: Michael Crenshaw <[email protected]> * feat(hydrator): add commit-server component Co-authored-by: Alexandre Gaudreault <[email protected]> Co-authored-by: Omer Azmon <[email protected]> Co-authored-by: daengdaengLee <[email protected]> Co-authored-by: Juwon Hwang (Kevin) <[email protected]> Co-authored-by: thisishwan2 <[email protected]> Co-authored-by: mirageoasis <[email protected]> Co-authored-by: Robin Lieb <[email protected]> Co-authored-by: miiiinju1 <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> go mod tidy Signed-off-by: Michael Crenshaw <[email protected]> one test file for both implementations Signed-off-by: Michael Crenshaw <[email protected]> simplify Signed-off-by: Michael Crenshaw <[email protected]> fix test for linux Signed-off-by: Michael Crenshaw <[email protected]> fix git client mock Signed-off-by: Michael Crenshaw <[email protected]> fix git client mock Signed-off-by: Michael Crenshaw <[email protected]> address comments Signed-off-by: Michael Crenshaw <[email protected]> unit tests Signed-off-by: Michael Crenshaw <[email protected]> lint Signed-off-by: Michael Crenshaw <[email protected]> fix image, fix health checks, fix merge issue Signed-off-by: Michael Crenshaw <[email protected]> fix lint issues Signed-off-by: Michael Crenshaw <[email protected]> remove code that doesn't work for GHE Signed-off-by: Michael Crenshaw <[email protected]> changes from comments Signed-off-by: Michael Crenshaw <[email protected]> * feat(hydrator): enable controller Co-authored-by: Alexandre Gaudreault <[email protected]> Co-authored-by: Omer Azmon <[email protected]> Co-authored-by: daengdaengLee <[email protected]> Co-authored-by: Juwon Hwang (Kevin) <[email protected]> Co-authored-by: thisishwan2 <[email protected]> Co-authored-by: mirageoasis <[email protected]> Co-authored-by: Robin Lieb <[email protected]> Co-authored-by: miiiinju1 <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> feat(hydrator): enable controller Co-authored-by: Alexandre Gaudreault <[email protected]> Co-authored-by: Omer Azmon <[email protected]> Co-authored-by: daengdaengLee <[email protected]> Co-authored-by: Juwon Hwang (Kevin) <[email protected]> Co-authored-by: thisishwan2 <[email protected]> Co-authored-by: mirageoasis <[email protected]> Co-authored-by: Robin Lieb <[email protected]> Co-authored-by: miiiinju1 <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> allow opt-in Signed-off-by: Michael Crenshaw <[email protected]> separation between app controller and hydrator Signed-off-by: Michael Crenshaw <[email protected]> simplify diff Signed-off-by: Michael Crenshaw <[email protected]> todos Signed-off-by: Michael Crenshaw <[email protected]> simplify Signed-off-by: Michael Crenshaw <[email protected]> add dry sha to logs Signed-off-by: Michael Crenshaw <[email protected]> add app name to logs Signed-off-by: Michael Crenshaw <[email protected]> more logging, no caching Signed-off-by: Michael Crenshaw <[email protected]> fix cluster install Signed-off-by: Michael Crenshaw <[email protected]> don't interrupt an ongoing hydrate operation Signed-off-by: Michael Crenshaw <[email protected]> revert hydrate loop fix Signed-off-by: Michael Crenshaw <[email protected]> handle project-scoped repo creds Signed-off-by: Michael Crenshaw <[email protected]> codegen Signed-off-by: Michael Crenshaw <[email protected]> improve docs Signed-off-by: Michael Crenshaw <[email protected]> fixes from comments Signed-off-by: Michael Crenshaw <[email protected]> * set hydrator enabled key when using hydrator manifests Signed-off-by: Michael Crenshaw <[email protected]> fix manifests Signed-off-by: Michael Crenshaw <[email protected]> improve docs Signed-off-by: Michael Crenshaw <[email protected]> * feat(hydrator): enable controller Co-authored-by: Alexandre Gaudreault <[email protected]> Co-authored-by: Omer Azmon <[email protected]> Co-authored-by: daengdaengLee <[email protected]> Co-authored-by: Juwon Hwang (Kevin) <[email protected]> Co-authored-by: thisishwan2 <[email protected]> Co-authored-by: mirageoasis <[email protected]> Co-authored-by: Robin Lieb <[email protected]> Co-authored-by: miiiinju1 <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> feat(hydrator): enable controller Co-authored-by: Alexandre Gaudreault <[email protected]> Co-authored-by: Omer Azmon <[email protected]> Co-authored-by: daengdaengLee <[email protected]> Co-authored-by: Juwon Hwang (Kevin) <[email protected]> Co-authored-by: thisishwan2 <[email protected]> Co-authored-by: mirageoasis <[email protected]> Co-authored-by: Robin Lieb <[email protected]> Co-authored-by: miiiinju1 <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> allow opt-in Signed-off-by: Michael Crenshaw <[email protected]> separation between app controller and hydrator Signed-off-by: Michael Crenshaw <[email protected]> simplify diff Signed-off-by: Michael Crenshaw <[email protected]> todos Signed-off-by: Michael Crenshaw <[email protected]> simplify Signed-off-by: Michael Crenshaw <[email protected]> add dry sha to logs Signed-off-by: Michael Crenshaw <[email protected]> add app name to logs Signed-off-by: Michael Crenshaw <[email protected]> more logging, no caching Signed-off-by: Michael Crenshaw <[email protected]> fix cluster install Signed-off-by: Michael Crenshaw <[email protected]> don't interrupt an ongoing hydrate operation Signed-off-by: Michael Crenshaw <[email protected]> revert hydrate loop fix Signed-off-by: Michael Crenshaw <[email protected]> handle project-scoped repo creds Signed-off-by: Michael Crenshaw <[email protected]> codegen Signed-off-by: Michael Crenshaw <[email protected]> improve docs Signed-off-by: Michael Crenshaw <[email protected]> fixes from comments Signed-off-by: Michael Crenshaw <[email protected]> * feat(hydrator): add sourceHydrator types Co-authored-by: Alexandre Gaudreault <[email protected]> Co-authored-by: Omer Azmon <[email protected]> Co-authored-by: daengdaengLee <[email protected]> Co-authored-by: Juwon Hwang (Kevin) <[email protected]> Co-authored-by: thisishwan2 <[email protected]> Co-authored-by: mirageoasis <[email protected]> Co-authored-by: Robin Lieb <[email protected]> Co-authored-by: miiiinju1 <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> fix(codegen): use kube_codegen.sh deepcopy and client gen correctly Signed-off-by: Michael Crenshaw <[email protected]> deepcopy gen Signed-off-by: Michael Crenshaw <[email protected]> * feat(hydrator): enable controller Co-authored-by: Alexandre Gaudreault <[email protected]> Co-authored-by: Omer Azmon <[email protected]> Co-authored-by: daengdaengLee <[email protected]> Co-authored-by: Juwon Hwang (Kevin) <[email protected]> Co-authored-by: thisishwan2 <[email protected]> Co-authored-by: mirageoasis <[email protected]> Co-authored-by: Robin Lieb <[email protected]> Co-authored-by: miiiinju1 <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> feat(hydrator): enable controller Co-authored-by: Alexandre Gaudreault <[email protected]> Co-authored-by: Omer Azmon <[email protected]> Co-authored-by: daengdaengLee <[email protected]> Co-authored-by: Juwon Hwang (Kevin) <[email protected]> Co-authored-by: thisishwan2 <[email protected]> Co-authored-by: mirageoasis <[email protected]> Co-authored-by: Robin Lieb <[email protected]> Co-authored-by: miiiinju1 <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> allow opt-in Signed-off-by: Michael Crenshaw <[email protected]> separation between app controller and hydrator Signed-off-by: Michael Crenshaw <[email protected]> simplify diff Signed-off-by: Michael Crenshaw <[email protected]> todos Signed-off-by: Michael Crenshaw <[email protected]> simplify Signed-off-by: Michael Crenshaw <[email protected]> add dry sha to logs Signed-off-by: Michael Crenshaw <[email protected]> add app name to logs Signed-off-by: Michael Crenshaw <[email protected]> more logging, no caching Signed-off-by: Michael Crenshaw <[email protected]> fix cluster install Signed-off-by: Michael Crenshaw <[email protected]> don't interrupt an ongoing hydrate operation Signed-off-by: Michael Crenshaw <[email protected]> revert hydrate loop fix Signed-off-by: Michael Crenshaw <[email protected]> handle project-scoped repo creds Signed-off-by: Michael Crenshaw <[email protected]> codegen Signed-off-by: Michael Crenshaw <[email protected]> * feat(hydrator): write credentials handling + UI Co-authored-by: Alexandre Gaudreault <[email protected]> Co-authored-by: Omer Azmon <[email protected]> Co-authored-by: daengdaengLee <[email protected]> Co-authored-by: Juwon Hwang (Kevin) <[email protected]> Co-authored-by: thisishwan2 <[email protected]> Co-authored-by: mirageoasis <[email protected]> Co-authored-by: Robin Lieb <[email protected]> Co-authored-by: miiiinju1 <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> feat(hydrator): enable controller Co-authored-by: Alexandre Gaudreault <[email protected]> Co-authored-by: Omer Azmon <[email protected]> Co-authored-by: daengdaengLee <[email protected]> Co-authored-by: Juwon Hwang (Kevin) <[email protected]> Co-authored-by: thisishwan2 <[email protected]> Co-authored-by: mirageoasis <[email protected]> Co-authored-by: Robin Lieb <[email protected]> Co-authored-by: miiiinju1 <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> allow opt-in Signed-off-by: Michael Crenshaw <[email protected]> separation between app controller and hydrator Signed-off-by: Michael Crenshaw <[email protected]> simplify diff Signed-off-by: Michael Crenshaw <[email protected]> todos Signed-off-by: Michael Crenshaw <[email protected]> simplify Signed-off-by: Michael Crenshaw <[email protected]> add dry sha to logs Signed-off-by: Michael Crenshaw <[email protected]> add app name to logs Signed-off-by: Michael Crenshaw <[email protected]> more logging, no caching Signed-off-by: Michael Crenshaw <[email protected]> fix cluster install Signed-off-by: Michael Crenshaw <[email protected]> don't interrupt an ongoing hydrate operation Signed-off-by: Michael Crenshaw <[email protected]> revert hydrate loop fix Signed-off-by: Michael Crenshaw <[email protected]> feat(hydrator): write credentials handling + UI Signed-off-by: Michael Crenshaw <[email protected]> WIP: add new APIs for write creds Signed-off-by: Michael Crenshaw <[email protected]> write api and template api Signed-off-by: Michael Crenshaw <[email protected]> fix time function Signed-off-by: Michael Crenshaw <[email protected]> fix lint issues Signed-off-by: Michael Crenshaw <[email protected]> don't enrich with read creds Signed-off-by: Michael Crenshaw <[email protected]> revert tls change Signed-off-by: Michael Crenshaw <[email protected]> don't disable buttons in UI Signed-off-by: Michael Crenshaw <[email protected]> ask repo server for specific revision Signed-off-by: Michael Crenshaw <[email protected]> fixes Signed-off-by: Michael Crenshaw <[email protected]> lint ui Signed-off-by: Michael Crenshaw <[email protected]> remove unnecessary change Signed-off-by: Michael Crenshaw <[email protected]> fix test and lint Signed-off-by: Michael Crenshaw <[email protected]> lint Signed-off-by: Michael Crenshaw <[email protected]> enable hydrator for e2e tests Signed-off-by: Michael Crenshaw <[email protected]> * free disk space for e2e tests Signed-off-by: Michael Crenshaw <[email protected]> don't free disk space Signed-off-by: Michael Crenshaw <[email protected]> * free disk space for e2e tests Signed-off-by: Michael Crenshaw <[email protected]> * remove comment that breaks auth Signed-off-by: Michael Crenshaw <[email protected]> * try removing extra function Signed-off-by: Michael Crenshaw <[email protected]> * cleanup from comments Signed-off-by: Michael Crenshaw <[email protected]> * fix test Signed-off-by: Michael Crenshaw <[email protected]> --------- Signed-off-by: Michael Crenshaw <[email protected]>
148 lines
5.5 KiB
Docker
148 lines
5.5 KiB
Docker
ARG BASE_IMAGE=docker.io/library/ubuntu:24.04@sha256:3f85b7caad41a95462cf5b787d8a04604c8262cdcdf9a472b8c52ef83375fe15
|
|
####################################################################################################
|
|
# Builder image
|
|
# Initial stage which pulls prepares build dependencies and CLI tooling we need for our final image
|
|
# Also used as the image in CI jobs so needs all dependencies
|
|
####################################################################################################
|
|
FROM docker.io/library/golang:1.23.3@sha256:d56c3e08fe5b27729ee3834854ae8f7015af48fd651cd25d1e3bcf3c19830174 AS builder
|
|
|
|
RUN echo 'deb http://archive.debian.org/debian buster-backports main' >> /etc/apt/sources.list
|
|
|
|
RUN apt-get update && apt-get install --no-install-recommends -y \
|
|
openssh-server \
|
|
nginx \
|
|
unzip \
|
|
fcgiwrap \
|
|
git \
|
|
git-lfs \
|
|
make \
|
|
wget \
|
|
gcc \
|
|
sudo \
|
|
zip && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
WORKDIR /tmp
|
|
|
|
COPY hack/install.sh hack/tool-versions.sh ./
|
|
COPY hack/installers installers
|
|
|
|
RUN ./install.sh helm && \
|
|
INSTALL_PATH=/usr/local/bin ./install.sh kustomize
|
|
|
|
####################################################################################################
|
|
# Argo CD Base - used as the base for both the release and dev argocd images
|
|
####################################################################################################
|
|
FROM $BASE_IMAGE AS argocd-base
|
|
|
|
LABEL org.opencontainers.image.source="https://github.com/argoproj/argo-cd"
|
|
|
|
USER root
|
|
|
|
ENV ARGOCD_USER_ID=999
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN groupadd -g $ARGOCD_USER_ID argocd && \
|
|
useradd -r -u $ARGOCD_USER_ID -g argocd argocd && \
|
|
mkdir -p /home/argocd && \
|
|
chown argocd:0 /home/argocd && \
|
|
chmod g=u /home/argocd && \
|
|
apt-get update && \
|
|
apt-get dist-upgrade -y && \
|
|
apt-get install -y \
|
|
git git-lfs tini gpg tzdata connect-proxy && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
COPY hack/gpg-wrapper.sh /usr/local/bin/gpg-wrapper.sh
|
|
COPY hack/git-verify-wrapper.sh /usr/local/bin/git-verify-wrapper.sh
|
|
COPY --from=builder /usr/local/bin/helm /usr/local/bin/helm
|
|
COPY --from=builder /usr/local/bin/kustomize /usr/local/bin/kustomize
|
|
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
|
|
# keep uid_entrypoint.sh for backward compatibility
|
|
RUN ln -s /usr/local/bin/entrypoint.sh /usr/local/bin/uid_entrypoint.sh
|
|
|
|
# support for mounting configuration from a configmap
|
|
WORKDIR /app/config/ssh
|
|
RUN touch ssh_known_hosts && \
|
|
ln -s /app/config/ssh/ssh_known_hosts /etc/ssh/ssh_known_hosts
|
|
|
|
WORKDIR /app/config
|
|
RUN mkdir -p tls && \
|
|
mkdir -p gpg/source && \
|
|
mkdir -p gpg/keys && \
|
|
chown argocd gpg/keys && \
|
|
chmod 0700 gpg/keys
|
|
|
|
ENV USER=argocd
|
|
|
|
USER $ARGOCD_USER_ID
|
|
WORKDIR /home/argocd
|
|
|
|
####################################################################################################
|
|
# Argo CD UI stage
|
|
####################################################################################################
|
|
FROM --platform=$BUILDPLATFORM docker.io/library/node:23.0.0@sha256:e643c0b70dca9704dff42e12b17f5b719dbe4f95e6392fc2dfa0c5f02ea8044d AS argocd-ui
|
|
|
|
WORKDIR /src
|
|
COPY ["ui/package.json", "ui/yarn.lock", "./"]
|
|
|
|
RUN yarn install --network-timeout 200000 && \
|
|
yarn cache clean
|
|
|
|
COPY ["ui/", "."]
|
|
|
|
ARG ARGO_VERSION=latest
|
|
ENV ARGO_VERSION=$ARGO_VERSION
|
|
ARG TARGETARCH
|
|
RUN HOST_ARCH=$TARGETARCH NODE_ENV='production' NODE_ONLINE_ENV='online' NODE_OPTIONS=--max_old_space_size=8192 yarn build
|
|
|
|
####################################################################################################
|
|
# Argo CD Build stage which performs the actual build of Argo CD binaries
|
|
####################################################################################################
|
|
FROM --platform=$BUILDPLATFORM docker.io/library/golang:1.23.3@sha256:d56c3e08fe5b27729ee3834854ae8f7015af48fd651cd25d1e3bcf3c19830174 AS argocd-build
|
|
|
|
WORKDIR /go/src/github.com/argoproj/argo-cd
|
|
|
|
COPY go.* ./
|
|
RUN go mod download
|
|
|
|
# Perform the build
|
|
COPY . .
|
|
COPY --from=argocd-ui /src/dist/app /go/src/github.com/argoproj/argo-cd/ui/dist/app
|
|
ARG TARGETOS
|
|
ARG TARGETARCH
|
|
# These build args are optional; if not specified the defaults will be taken from the Makefile
|
|
ARG GIT_TAG
|
|
ARG BUILD_DATE
|
|
ARG GIT_TREE_STATE
|
|
ARG GIT_COMMIT
|
|
RUN GIT_COMMIT=$GIT_COMMIT \
|
|
GIT_TREE_STATE=$GIT_TREE_STATE \
|
|
GIT_TAG=$GIT_TAG \
|
|
BUILD_DATE=$BUILD_DATE \
|
|
GOOS=$TARGETOS \
|
|
GOARCH=$TARGETARCH \
|
|
make argocd-all
|
|
|
|
####################################################################################################
|
|
# Final image
|
|
####################################################################################################
|
|
FROM argocd-base
|
|
COPY --from=argocd-build /go/src/github.com/argoproj/argo-cd/dist/argocd* /usr/local/bin/
|
|
|
|
USER root
|
|
RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-server && \
|
|
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-repo-server && \
|
|
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-cmp-server && \
|
|
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-application-controller && \
|
|
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-dex && \
|
|
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-notifications && \
|
|
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-applicationset-controller && \
|
|
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-k8s-auth && \
|
|
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-commit-server
|
|
|
|
USER $ARGOCD_USER_ID
|
|
ENTRYPOINT ["/usr/bin/tini", "--"]
|