added devops devcontainer and image
All checks were successful
/ build-docker-image (push) Successful in 1m48s
All checks were successful
/ build-docker-image (push) Successful in 1m48s
This commit is contained in:
27
.devcontainer/devops-dev/devcontainer.json
Normal file
27
.devcontainer/devops-dev/devcontainer.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
|
||||||
|
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
|
||||||
|
{
|
||||||
|
"build": {
|
||||||
|
"dockerfile": "Dockerfile",
|
||||||
|
"context": "."
|
||||||
|
},
|
||||||
|
"remoteUser": "vscode",
|
||||||
|
"name": "devops",
|
||||||
|
"runArgs": [
|
||||||
|
"--hostname=devops"
|
||||||
|
],
|
||||||
|
"customizations": {
|
||||||
|
"vscode": {
|
||||||
|
"extensions": [
|
||||||
|
"ms-kubernetes-tools.vscode-kubernetes-tools",
|
||||||
|
"redhat.ansible",
|
||||||
|
"mtxr.sqltools-driver-mysql",
|
||||||
|
"stateful.runme",
|
||||||
|
"yzhang.markdown-all-in-one",
|
||||||
|
"davidanson.vscode-markdownlint",
|
||||||
|
"eamodio.gitlens",
|
||||||
|
"m4ns0ur.base64"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
62
.devcontainer/devops/Dockerfile
Normal file
62
.devcontainer/devops/Dockerfile
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
FROM mcr.microsoft.com/devcontainers/base:jammy
|
||||||
|
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Base packages
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
git \
|
||||||
|
python3 \
|
||||||
|
python3-pip \
|
||||||
|
jq \
|
||||||
|
ca-certificates \
|
||||||
|
software-properties-common \
|
||||||
|
ansible \
|
||||||
|
rclone \
|
||||||
|
rsync \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# --- Install kubectl ---
|
||||||
|
RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" \
|
||||||
|
&& install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl \
|
||||||
|
&& rm kubectl
|
||||||
|
|
||||||
|
# --- Install Helm ---
|
||||||
|
RUN curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
|
||||||
|
|
||||||
|
# --- Install yq ---
|
||||||
|
RUN wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 \
|
||||||
|
-O /usr/bin/yq && chmod +x /usr/bin/yq
|
||||||
|
|
||||||
|
# -- install chroma for zsh
|
||||||
|
RUN curl -s https://api.github.com/repos/alecthomas/chroma/releases/latest \
|
||||||
|
| grep "browser_download_url.*linux-amd64.*tar.gz" \
|
||||||
|
| cut -d '"' -f 4 \
|
||||||
|
| wget -O /tmp/chroma.tar.gz -i - \
|
||||||
|
&& tar -xzf /tmp/chroma.tar.gz -C /usr/local/bin \
|
||||||
|
&& chmod +x /usr/local/bin/chroma \
|
||||||
|
|
||||||
|
# --- Install act (GitHub Actions local runner) ---
|
||||||
|
RUN curl -s https://api.github.com/repos/nektos/act/releases/latest \
|
||||||
|
| grep "browser_download_url.*linux-amd64.*tar.gz" \
|
||||||
|
| cut -d '"' -f 4 \
|
||||||
|
| wget -O /usr/local/bin/act -i - \
|
||||||
|
&& chmod +x /usr/local/bin/act
|
||||||
|
|
||||||
|
|
||||||
|
# --- set zsh shell ---
|
||||||
|
RUN chsh -s /usr/bin/zsh vscode
|
||||||
|
|
||||||
|
RUN git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git /home/vscode/.oh-my-zsh/custom/plugins/fast-syntax-highlighting
|
||||||
|
RUN git clone https://github.com/zsh-users/zsh-autosuggestions /home/vscode/.oh-my-zsh/custom/plugins/zsh-autosuggestions
|
||||||
|
|
||||||
|
COPY ./assets/.zshrc /home/vscode
|
||||||
|
|
||||||
|
# ACT_RUNNER_VERSION=0.2.13
|
||||||
|
# curl -sSL https://dl.gitea.com/act_runner/${ACT_RUNNER_VERSION}/act_runner-${ACT_RUNNER_VERSION}-linux-amd64 \
|
||||||
|
# -o /usr/local/bin/act_runner
|
||||||
|
# chmod +x /usr/local/bin/act_runner
|
||||||
32
.gitea/workflows/devops-image-deploy.yaml
Normal file
32
.gitea/workflows/devops-image-deploy.yaml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
schedule:
|
||||||
|
- cron: '@weekly' # once per week
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
build-docker-image:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Log in to git.limbosolutions.com docker registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: git.limbosolutions.com
|
||||||
|
username: ${{ secrets.GITLIMBO_DOCKER_REGISTRY_USERNAME }}
|
||||||
|
password: ${{ secrets.GITLIMBO_DOCKER_REGISTRY_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Build and push Docker images
|
||||||
|
id: push
|
||||||
|
uses: docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
context: ${{gitea.workspace}}/devops
|
||||||
|
file: ${{gitea.workspace}}/devops/Dockerfile
|
||||||
|
push: true
|
||||||
|
tags: git.limbosolutions.com/mylimbo/devcontainers/devops:latest
|
||||||
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
.devcontainer/devops-dev/assets
|
||||||
|
.devcontainer/devops-dev/Dockerfile
|
||||||
64
devops/Dockerfile
Normal file
64
devops/Dockerfile
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
FROM mcr.microsoft.com/devcontainers/base:jammy
|
||||||
|
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Base packages
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
git \
|
||||||
|
python3 \
|
||||||
|
python3-pip \
|
||||||
|
jq \
|
||||||
|
ca-certificates \
|
||||||
|
software-properties-common \
|
||||||
|
ansible \
|
||||||
|
rclone \
|
||||||
|
rsync \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# --- Install kubectl ---
|
||||||
|
RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" \
|
||||||
|
&& install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl \
|
||||||
|
&& rm kubectl
|
||||||
|
|
||||||
|
# --- Install Helm ---
|
||||||
|
RUN curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
|
||||||
|
|
||||||
|
# --- Install yq ---
|
||||||
|
RUN wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 \
|
||||||
|
-O /usr/bin/yq && chmod +x /usr/bin/yq
|
||||||
|
|
||||||
|
# -- install chroma for zsh
|
||||||
|
RUN curl -s https://api.github.com/repos/alecthomas/chroma/releases/latest \
|
||||||
|
| grep "browser_download_url.*linux-amd64.*tar.gz" \
|
||||||
|
| cut -d '"' -f 4 \
|
||||||
|
| wget -O /tmp/chroma.tar.gz -i - \
|
||||||
|
&& tar -xzf /tmp/chroma.tar.gz -C /usr/local/bin \
|
||||||
|
&& chmod +x /usr/local/bin/chroma \
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# --- Install act (GitHub Actions local runner) ---
|
||||||
|
RUN curl -s https://api.github.com/repos/nektos/act/releases/latest \
|
||||||
|
| grep "browser_download_url.*linux-amd64.*tar.gz" \
|
||||||
|
| cut -d '"' -f 4 \
|
||||||
|
| wget -O /usr/local/bin/act -i - \
|
||||||
|
&& chmod +x /usr/local/bin/act
|
||||||
|
|
||||||
|
|
||||||
|
# --- set zsh shell ---
|
||||||
|
RUN chsh -s /usr/bin/zsh vscode
|
||||||
|
|
||||||
|
RUN git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git /home/vscode/.oh-my-zsh/custom/plugins/fast-syntax-highlighting
|
||||||
|
RUN git clone https://github.com/zsh-users/zsh-autosuggestions /home/vscode/.oh-my-zsh/custom/plugins/zsh-autosuggestions
|
||||||
|
|
||||||
|
COPY ./assets/.zshrc /home/vscode
|
||||||
|
|
||||||
|
# ACT_RUNNER_VERSION=0.2.13
|
||||||
|
# curl -sSL https://dl.gitea.com/act_runner/${ACT_RUNNER_VERSION}/act_runner-${ACT_RUNNER_VERSION}-linux-amd64 \
|
||||||
|
# -o /usr/local/bin/act_runner
|
||||||
|
# chmod +x /usr/local/bin/act_runner
|
||||||
8
devops/assets/.zshrc
Normal file
8
devops/assets/.zshrc
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
export ZSH="$HOME/.oh-my-zsh"
|
||||||
|
DISABLE_AUTO_UPDATE=true
|
||||||
|
DISABLE_UPDATE_PROMPT=true
|
||||||
|
ZSH_COLORIZE_TOOL=chroma
|
||||||
|
export FAST_HIGHLIGHT_CHROMA=1
|
||||||
|
ZSH_THEME="gnzh"
|
||||||
|
plugins=(git timer web-search ssh kubectl helm colorize zsh-autosuggestions fast-syntax-highlighting)
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
22
devops/devcontainer.json
Normal file
22
devops/devcontainer.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"image": "https://gitlimbosolutions.com/mf/devcontainers/devops",
|
||||||
|
"remoteUser": "vscode",
|
||||||
|
"name": "devops",
|
||||||
|
"runArgs": [
|
||||||
|
"--hostname=devops"
|
||||||
|
],
|
||||||
|
"customizations": {
|
||||||
|
"vscode": {
|
||||||
|
"extensions": [
|
||||||
|
"ms-kubernetes-tools.vscode-kubernetes-tools",
|
||||||
|
"redhat.ansible",
|
||||||
|
"mtxr.sqltools-driver-mysql",
|
||||||
|
"stateful.runme",
|
||||||
|
"yzhang.markdown-all-in-one",
|
||||||
|
"davidanson.vscode-markdownlint",
|
||||||
|
"eamodio.gitlens",
|
||||||
|
"m4ns0ur.base64"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user