Skip to content

Commit

Permalink
Merge pull request #1 from edenlabllc/release/v0.1.0
Browse files Browse the repository at this point in the history
#246 - init repo
  • Loading branch information
apanasiuk-el authored Feb 26, 2024
2 parents 375d2c6 + b9ff98c commit 791c9b3
Show file tree
Hide file tree
Showing 4 changed files with 170 additions and 0 deletions.
65 changes: 65 additions & 0 deletions .github/workflows/core.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Core CI/CD workflow

on:
push:
# For GitFlow the following patterns are suggested:
# - master
# - develop
# - feature/*
# - release/*
# - hotfix/*
#
# For an action with build_push_image=false the following patterns are suggested:
# - master
branches:
- master

env:
# AWS region of the AWS account storing images in ECR.
CORE_AWS_REGION: eu-north-1
# the latest action version
ECR_BUILD_PUSH_ACTION_VERSION: v2

jobs:
ecr-build-push:
name: Checkout main and ecr-build-push action repositories, run ecr-build-push action
if: ${{ !contains(github.event.head_commit.message, '[ci skip]') }}
runs-on: ubuntu-20.04
steps:
- name: Checkout main repository
uses: actions/checkout@v2
with:
ref: ${{ github.ref }}
fetch-depth: 0

- name: Checkout ecr-build-push action repository
uses: actions/checkout@v2
with:
repository: edenlabllc/fhir.ecr_build_push.action
ref: ${{ env.ECR_BUILD_PUSH_ACTION_VERSION }}
token: ${{ secrets.GH_TOKEN_REPO_FULL_ACCESS }}
path: .github/actions/ecr-build-push

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-region: ${{ env.CORE_AWS_REGION }}
aws-access-key-id: ${{ secrets.CORE_AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.CORE_AWS_SECRET_ACCESS_KEY }}

- name: Login to AWS ECR
uses: aws-actions/amazon-ecr-login@v1

- name: Pull ecr-build-push action image from AWS ECR
run: |
ECR_REGISTRY_URL="${{ secrets.CORE_AWS_ACCOUNT_ID }}.dkr.ecr.${{ env.CORE_AWS_REGION }}.amazonaws.com"
IMAGE_NAME="core.fhir.ecr_build_push.action"
IMAGE_FULL_NAME="${ECR_REGISTRY_URL}/${IMAGE_NAME}:${{ env.ECR_BUILD_PUSH_ACTION_VERSION }}"
docker pull "${IMAGE_FULL_NAME}"
docker tag "${IMAGE_FULL_NAME}" "${IMAGE_NAME}"
- name: Run ecr-build-push action
id: ecr-build-push
uses: ./.github/actions/ecr-build-push
with:
build_push_image: false
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.DS_Store
.idea/
.vscode
.env
3 changes: 3 additions & 0 deletions docs/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These owners will be the default owners for everything in
# the repo and will be requested for review when someone opens a pull request.
* @anovikov-el @apanasiuk-el
98 changes: 98 additions & 0 deletions k3d.config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# k3d configuration file, saved as e.g. /home/me/myk3dcluster.yaml
apiVersion: k3d.io/v1alpha5 # this will change in the future as we make everything more stable
kind: Simple # internally, we also have a Cluster config, which is not yet available externally
metadata:
# Don't overwrite section name. RMK set automatically.
name: ${K3D_NAME} # name that you want to give to your cluster (will still be prefixed with `k3d-`)
servers: 1 # same as `--servers 1`
agents: 0 # same as `--agents 2`
kubeAPI: # same as `--api-port myhost.my.domain:6445` (where the name would resolve to 127.0.0.1)
# host: "myhost.my.domain" # important for the `server` setting in the kubeconfig
hostIP: "0.0.0.0" # where the Kubernetes API will be listening on
hostPort: "6445" # where the Kubernetes API listening port will be mapped to on your host system
image: rancher/k3s:v1.27.9-k3s1 # same as `--image rancher/k3s:v1.23.8-k3s1`
#network: my-custom-net # same as `--network my-custom-net`
#subnet: "172.28.0.0/16" # same as `--subnet 172.28.0.0/16`
#token: superSecretToken # same as `--token superSecretToken`
volumes: # repeatable flags are represented as YAML lists
# Don't overwrite the "volume" section. RMK configures it automatically.
- volume: ${K3D_VOLUME_HOST_PATH}:/mnt/k3d/node # same as `--volume '/my/host/path:/path/in/node@server:0;agent:*'`
nodeFilters:
- all
- volume: ${K3D_REGISTRY_HOST_PATH}:/etc/rancher/k3s # same as `--volume '/my/host/path:/path/in/node@server:0;agent:*'`
nodeFilters:
- all
ports:
- port: 8080:80 # same as `--port '8080:80@loadbalancer'`
nodeFilters:
- loadbalancer
- port: 8443:443 # same as `--port '8080:80@loadbalancer'`
nodeFilters:
- loadbalancer
#env:
# - envVar: bar=baz # same as `--env 'bar=baz@server:0'`
# nodeFilters:
# - server:0
registries: # define how registries should be created or used
create: # creates a default registry to be used with the cluster; same as `--registry-create registry.localhost`
name: registry.localhost
host: "0.0.0.0"
hostPort: "5001"
# proxy: # omit this to have a "normal" registry, set this to create a registry proxy (pull-through cache)
# remoteURL: https://registry-1.docker.io # mirror the DockerHub registry
# username: "" # unauthenticated
# password: "" # unauthenticated
# volumes:
# - /some/path:/var/lib/registry # persist registry data locally
# use:
# - k3d-myotherregistry:5000 # some other k3d-managed registry; same as `--registry-use 'k3d-myotherregistry:5000'`
# Don't overwrite the "config" section. RMK configures it automatically.
config: | # define contents of the `registries.yaml` file (or reference a file); same as `--registry-config /path/to/config.yaml`
mirrors:
"288509344804.dkr.ecr.eu-north-1.amazonaws.com":
endpoint:
- https://288509344804.dkr.ecr.eu-north-1.amazonaws.com
configs:
288509344804.dkr.ecr.eu-north-1.amazonaws.com:
auth:
username: ${K3D_AWS_ECR_USER}
password: ${K3D_AWS_ECR_PASSWORD}
#hostAliases: # /etc/hosts style entries to be injected into /etc/hosts in the node containers and in the NodeHosts section in CoreDNS
# - ip: 1.2.3.4
# hostnames:
# - my.host.local
# - that.other.local
# - ip: 1.1.1.1
# hostnames:
# - cloud.flare.dns
options:
k3d: # k3d runtime settings
wait: true # wait for cluster to be usable before returining; same as `--wait` (default: true)
timeout: "60s" # wait timeout before aborting; same as `--timeout 60s`
disableLoadbalancer: false # same as `--no-lb`
disableImageVolume: false # same as `--no-image-volume`
disableRollback: false # same as `--no-Rollback`
loadbalancer:
configOverrides:
- settings.workerConnections=2048
k3s: # options passed on to K3s itself
extraArgs: # additional arguments passed to the `k3s server|agent` command; same as `--k3s-arg`
- arg: --kubelet-arg=--sync-frequency=5s
nodeFilters:
- all
- arg: --kubelet-arg=--file-check-frequency=5s
nodeFilters:
- all
# nodeLabels:
# - label: foo=bar # same as `--k3s-node-label 'foo=bar@agent:1'` -> this results in a Kubernetes node label
# nodeFilters:
# - agent:1
kubeconfig:
updateDefaultKubeconfig: true # add new cluster to your default Kubeconfig; same as `--kubeconfig-update-default` (default: true)
switchCurrentContext: true # also set current-context to the new cluster's context; same as `--kubeconfig-switch-context` (default: true)
# runtime: # runtime (docker) specific options
# gpuRequest: all # same as `--gpus all`
# labels:
# - label: bar=baz # same as `--runtime-label 'bar=baz@agent:1'` -> this results in a runtime (docker) container label
# nodeFilters:
# - agent:1

0 comments on commit 791c9b3

Please sign in to comment.