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
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v18.17.1
v22.11.0
21 changes: 8 additions & 13 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,44 +1,39 @@
# go hub binary
FROM golang:alpine as go
FROM golang:alpine AS go
RUN apk --update add ca-certificates git
RUN go install github.com/github/hub@latest

# python yq binary
FROM six8/pyinstaller-alpine:alpine-3.6-pyinstaller-v3.4 as yq
FROM six8/pyinstaller-alpine:alpine-3.6-pyinstaller-v3.4 AS yq
ARG YQ_VERSION=2.10.0
ENV PATH="/pyinstaller:$PATH"
RUN pip install yq==${YQ_VERSION}
RUN pyinstaller --noconfirm --onefile --log-level DEBUG --clean --distpath /tmp/ $(which yq)

# kubectl binary
FROM bitnami/kubectl:1.27.4 as kubectl
FROM bitnami/kubectl:1.30.6 AS kubectl

# Main
FROM node:18.17.1-alpine3.18

FROM node:22.11.0-alpine3.20
RUN apk --update add --no-cache \
bash \
ca-certificates \
curl \
git \
jq

RUN npm upgrade -g npm
COPY --from=go /go/bin/hub /usr/local/bin/hub
COPY --from=yq /tmp/yq /usr/local/bin/yq
COPY --from=kubectl /opt/bitnami/kubectl/bin/kubectl /usr/local/bin/

WORKDIR /cf-cli

COPY package.json yarn.lock check-version.js run-check-version.js /cf-cli/

RUN yarn install --prod --frozen-lockfile && \
yarn cache clean

COPY . /cf-cli

RUN yarn generate-completion

RUN ln -s $(pwd)/lib/interface/cli/codefresh /usr/local/bin/codefresh

RUN codefresh components update --location components

# Node.js warnings must be suppressed to ensure that automations relying on exact output are not disrupted
ENV NODE_NO_WARNINGS=1
ENTRYPOINT ["codefresh"]
16 changes: 5 additions & 11 deletions Dockerfile-debian
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@ RUN pip install yq==${YQ_VERSION}
RUN pyinstaller --noconfirm --onefile --log-level DEBUG --clean --distpath /tmp/ $(which yq)

# kubectl binary
FROM bitnami/kubectl:1.27.4 as kubectl
FROM bitnami/kubectl:1.30.6 as kubectl

# Main
FROM node:18.17.1-bullseye-slim

FROM node:22.11.0-bullseye-slim
RUN apt update \
&& apt -y install \
apt-transport-https \
Expand All @@ -26,24 +25,19 @@ RUN apt update \
git \
jq \
&& ln -s /bin/busybox /usr/bin/[[

RUN npm upgrade -g npm
COPY --from=go /go/bin/hub /usr/local/bin/hub
COPY --from=yq /tmp/yq /usr/local/bin/yq
COPY --from=kubectl /opt/bitnami/kubectl/bin/kubectl /usr/local/bin/

WORKDIR /cf-cli

COPY package.json yarn.lock check-version.js run-check-version.js /cf-cli/

RUN yarn install --prod --frozen-lockfile && \
yarn cache clean

COPY . /cf-cli

RUN yarn generate-completion

RUN ln -s $(pwd)/lib/interface/cli/codefresh /usr/local/bin/codefresh

RUN codefresh components update --location components

# Node.js warnings must be suppressed to ensure that automations relying on exact output are not disrupted
ENV NODE_NO_WARNINGS=1
ENTRYPOINT ["codefresh"]
18 changes: 5 additions & 13 deletions Dockerfile-debian-rootless
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@ RUN pip install yq==${YQ_VERSION}
RUN pyinstaller --noconfirm --onefile --log-level DEBUG --clean --distpath /tmp/ $(which yq)

# kubectl binary
FROM bitnami/kubectl:1.27.4 as kubectl
FROM bitnami/kubectl:1.30.6 as kubectl

# Main
FROM node:18.17.1-bullseye-slim

FROM node:22.11.0-bullseye-slim
RUN apt update \
&& apt -y install \
bash \
Expand All @@ -25,26 +24,18 @@ RUN apt update \
git \
jq \
&& ln -s /bin/busybox /usr/bin/[[

RUN npm upgrade -g npm
COPY --from=go /go/bin/hub /usr/local/bin/hub
COPY --from=yq /tmp/yq /usr/local/bin/yq
COPY --from=kubectl /opt/bitnami/kubectl/bin/kubectl /usr/local/bin/

WORKDIR /cf-cli

COPY package.json yarn.lock check-version.js run-check-version.js /cf-cli/

RUN yarn install --prod --frozen-lockfile && \
yarn cache clean

COPY . /cf-cli

RUN yarn generate-completion

RUN ln -s $(pwd)/lib/interface/cli/codefresh /usr/local/bin/codefresh

RUN codefresh components update --location components

# we keep /root as home directory because cli by default looks for $HOME/.cfconfig
# and we do not want to break user automation if they used to bind their .cfconfig
# to the /root/.cfconfig
Expand All @@ -53,6 +44,7 @@ RUN useradd -m -d /root -s /bin/sh cfu \
&& chgrp -R $(id -g cfu) /root /cf-cli \
&& chmod -R g+rwX /root

# Node.js warnings must be suppressed to ensure that automations relying on exact output are not disrupted
ENV NODE_NO_WARNINGS=1
USER cfu

ENTRYPOINT ["codefresh"]
18 changes: 5 additions & 13 deletions Dockerfile-rootless
Original file line number Diff line number Diff line change
Expand Up @@ -11,37 +11,28 @@ RUN pip install yq==${YQ_VERSION}
RUN pyinstaller --noconfirm --onefile --log-level DEBUG --clean --distpath /tmp/ $(which yq)

# kubectl binary
FROM bitnami/kubectl:1.27.4 as kubectl
FROM bitnami/kubectl:1.30.6 as kubectl

# Main
FROM node:18.17.1-alpine3.18

FROM node:22.11.0-alpine3.20
RUN apk --update add --no-cache \
bash \
ca-certificates \
curl \
git \
jq

RUN npm upgrade -g npm
COPY --from=go /go/bin/hub /usr/local/bin/hub
COPY --from=yq /tmp/yq /usr/local/bin/yq
COPY --from=kubectl /opt/bitnami/kubectl/bin/kubectl /usr/local/bin/

WORKDIR /cf-cli

COPY package.json yarn.lock check-version.js run-check-version.js /cf-cli/

RUN yarn install --prod --frozen-lockfile && \
yarn cache clean

COPY . /cf-cli

RUN yarn generate-completion

RUN ln -s $(pwd)/lib/interface/cli/codefresh /usr/local/bin/codefresh

RUN codefresh components update --location components

# we keep /root as home directory because cli by default looks for $HOME/.cfconfig
# and we do not want to break user automation if they used to bind their .cfconfig
# to the /root/.cfconfig
Expand All @@ -50,6 +41,7 @@ RUN adduser -D -h /root -s /bin/sh cfu \
&& chgrp -R $(id -g cfu) /root /cf-cli \
&& chmod -R g+rwX /root

# Node.js warnings must be suppressed to ensure that automations relying on exact output are not disrupted
ENV NODE_NO_WARNINGS=1
USER cfu

ENTRYPOINT ["codefresh"]
26 changes: 10 additions & 16 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "codefresh",
"version": "0.88.2",
"version": "0.88.3",
"description": "Codefresh command line utility",
"main": "index.js",
"preferGlobal": true,
Expand All @@ -9,7 +9,7 @@
"test": "jest .spec.js --coverage",
"e2e": "bash e2e/e2e.spec.sh",
"eslint": "eslint --fix lib/logic/**",
"pkg": "pkg . -t node16-alpine-x64,node16-alpine-arm64,node16-macos-x64,node16-linux-x64,node16-win-x64,node16-linux-arm64 --out-path ./dist",
"pkg": "npx pkg . -t node22-alpine-x64,node22-alpine-arm64,node22-macos-x64,node22-linux-x64,node22-win-x64,node22-linux-arm64 --out-path ./dist",
"serve-docs": "yarn build-local-docs && cd temp && hugo server -D",
"serve-docs-beta": "ALLOW_BETA_COMMANDS=true yarn build-local-docs && cd temp && hugo server -D",
"build-local-docs": "node ./docs/index.js",
Expand All @@ -32,17 +32,10 @@
"assets": "lib/**/*.hbs"
},
"resolutions": {
"websocket-extensions": "^0.1.4",
"lodash": "^4.17.21",
"json-schema": "^0.4.0",
"ajv": "^6.12.6",
"normalize-url": "^4.5.1",
"ansi-regex": "^5.0.1",
"y18n": "^4.0.1",
"shelljs": "^0.8.5",
"codefresh-sdk/swagger-client/qs": "6.9.7",
"kubernetes-client/qs": "6.9.7",
"**/request/qs": "6.5.3"
"kubernetes-client/@kubernetes/client-node": ">=0.22.2",
"tough-cookie": "^4.1.3"
},
"dependencies": {
"@codefresh-io/docker-reference": "^0.0.5",
Expand All @@ -64,7 +57,7 @@
"figlet": "^1.4.0",
"filesize": "^3.5.11",
"firebase": "git+https://github.com/codefresh-io/firebase.git#80b2ed883ff281cd67b53bd0f6a0bbd6f330fed5",
"flat": "^4.1.1",
"flat": "^5.0.2",
"inquirer": "^7.1.0",
"js-yaml": "^3.10.0",
"kefir": "^3.8.1",
Expand All @@ -79,7 +72,7 @@
"promise-retry": "^2.0.1",
"recursive-readdir": "^2.2.3",
"request": "^2.88.0",
"request-promise": "^4.2.2",
"request-promise": "^4.2.6",
"requestretry": "^7.0.2",
"rimraf": "^2.6.2",
"semver": "^7.5.4",
Expand All @@ -92,13 +85,13 @@
},
"devDependencies": {
"@types/node-forge": "^1.0.1",
"@yao-pkg/pkg": "^6.1.1",
"eslint": "^7.32.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.25.4",
"eslint-plugin-jest": "^27.6.3",
"hugo-cli": "^0.5.4",
"jest": "^29.7.0",
"pkg": "5.5.2"
"jest": "^29.7.0"
},
"bugs": {
"url": "https://github.com/codefresh-io/cli/issues"
Expand All @@ -114,5 +107,6 @@
"setupFiles": [
"./test-setup.js"
]
}
},
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}
Loading