Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
tallaxes committed Nov 7, 2023
0 parents commit bee5a16
Show file tree
Hide file tree
Showing 227 changed files with 54,906 additions and 0 deletions.
20 changes: 20 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# See here for image contents: https://github.com/devcontainers/images/tree/main/src/go

# [Choice] Go version (use -bullseye variants on local arm64/Apple Silicon): 1, 1.16, 1.17, 1-bullseye, 1.16-bullseye, 1.17-bullseye, 1-buster, 1.16-buster, 1.17-buster
ARG VARIANT="1.18-bullseye"
FROM mcr.microsoft.com/vscode/devcontainers/go:1-${VARIANT}

# [Optional] Uncomment this section to install additional OS packages.
# graphviz for pprof
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends graphviz

RUN curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.3.1/skaffold-linux-amd64 && \
install skaffold /usr/local/bin/

# [Optional] Uncomment the next lines to use go get to install anything else you need
USER vscode
RUN go install github.com/google/pprof@latest

# [Optional] Uncomment this line to install global node packages.
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
66 changes: 66 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/devcontainers/images/tree/main/src/go
{
"name": "Go-karpenter",
"build": {
"dockerfile": "Dockerfile",
"args": {
"VARIANT": "1.21-bullseye",
}
},
"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],

// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"go.toolsManagement.checkForUpdates": "local",
"go.useLanguageServer": true,
"go.gopath": "/go"
},

// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"golang.Go",
"ms-kubernetes-tools.vscode-kubernetes-tools",
"ms-kubernetes-tools.vscode-aks-tools",
"timonwong.shellcheck",
"mutantdino.resourcemonitor",
"Gruntfuggly.todo-tree",
"ms-azuretools.vscode-bicep",
"GitHub.vscode-pull-request-github",
"jinliming2.vscode-go-template"
]
}
},

"containerEnv": {
"KUBEBUILDER_ASSETS": "/home/vscode/.kubebuilder/bin",
},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": {
"disable metrics": "skaffold config set --global collect-metrics false",
"make toolchain": "make toolchain"
},

// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode",

"features": {
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {
"version": "latest"
},
"ghcr.io/devcontainers/features/kubectl-helm-minikube:1": {
"version": "latest"
},
"ghcr.io/devcontainers/features/azure-cli:1": {
"version": "latest"
}
}
}
68 changes: 68 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Bug Report
description: Report a bug in AKS Karpenter provider
labels: bug
body:
- type: textarea
id: version
attributes:
label: Version
description: |
https://github.com/Azure/karpenter/releases
value: |
<!-- helm ls -A --all -o json | jq '.[] | select(.name=="karpenter") | .app_version' -r -->
__Karpenter Version:__ v0.0.0
<!-- kubectl version | grep Server -->
__Kubernetes Version:__ v1.0.0
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: |
Briefly describe what you expected to happen
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual Behavior
description: |
Briefly describe what is actually happening
validations:
required: true

- type: textarea
id: steps
attributes:
label: Steps to Reproduce the Problem
description: |
How can a maintainer reproduce this issue (be detailed)?
validations:
required: true

- type: textarea
id: specs-logs
attributes:
label: Resource Specs and Logs
description: |
Include Provisioner spec(s), pod spec(s), and Karpenter controller logs when you experienced the bug
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: true

- type: textarea
id: community-note
attributes:
label: Community Note
description: |
Please keep this note for the community
value: |
* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment
validations:
required: true
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/docs-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Docs Request/Question
description: All things related to docs! Bugs, requests, suggestions, etc.
labels: Documentation
body:
- type: input
id: existing-page
attributes:
label: Is an existing page relevant?
placeholder: ex. https://karpenter.sh/v0.16.1/upgrade-guide/

- type: textarea
id: relevant-features
attributes:
label: What karpenter features are relevant?
validations:
required: true

- type: textarea
id: docs-improvement
attributes:
label: How should the docs be improved?
validations:
required: true

- type: textarea
id: community-note
attributes:
label: Community Note
description: |
Please keep this note for the community
value: |
* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment
validations:
required: true
59 changes: 59 additions & 0 deletions .github/ISSUE_TEMPLATE/request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Request
description: Suggest an idea for the roadmap!
labels: feature
body:
- type: textarea
id: feature
attributes:
label: Tell us about your request
description: |
What do you want us to build?
validations:
required: true

- type: textarea
id: rationale
attributes:
label: Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
description: |
What outcome are you trying to achieve, ultimately, and why is it hard/impossible to do right now? What is the impact of not having this problem solved? The more details you can provide, the better we'll be able to understand and solve the problem.
validations:
required: true

- type: textarea
id: workaround
attributes:
label: Are you currently working around this issue?
description: |
How are you currently solving this problem?
validations:
required: true

- type: textarea
id: additional
attributes:
label: Additional Context
description: |
Anything else we should know?
- type: textarea
id: attachments
attributes:
label: Attachments
description: |
If you think you might have additional information that you'd like to include via an attachment, please do - we'll take a look. (Remember to remove any personally-identifiable information.)
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
- type: textarea
id: community-note
attributes:
label: Community Note
description: |
Please keep this note for the community
value: |
* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment
validations:
required: true
46 changes: 46 additions & 0 deletions .github/actions/e2e/cleanup/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Cleanup
description: 'Runs all the cleanup tasks to cleanup resources deployed during E2E'
inputs:
client-id:
description:
required: true
tenant-id:
description:
required: true
subscription-id:
description:
required: true
# region:
# description: "Region to create aks cluster"
# required: true
resource_group:
description: "Name of the resource group to create the cluster within"
required: true
cluster_name:
description: 'Name of the cluster to be created'
required: true
acr_name:
description: "Name of the acr holding the karpenter image"
required: true
runs:
using: "composite"
steps:
- uses: actions/checkout@v3
- name: az login
uses: azure/login@v1
with:
client-id: ${{ inputs.client-id }}
tenant-id: ${{ inputs.tenant-id }}
subscription-id: ${{ inputs.subscription-id }}
- name: az set sub
shell: bash
run: az account set --subscription ${{ inputs.subscription-id }}
- name: delete cluster ${{ inputs.cluster_name }}
shell: bash
run: az aks delete --name ${{ inputs.cluster_name }} --resource-group ${{ inputs.resource_group }} --yes
- name: delete acr ${{ inputs.acr_name }}
shell: bash
run: az acr delete --name ${{ inputs.acr_name }} --resource-group ${{ inputs.resource_group }} --yes
- name: delete rg ${{ inputs.resource_group }}
shell: bash
run: az group delete --name ${{ inputs.resource_group }} --yes
34 changes: 34 additions & 0 deletions .github/actions/e2e/create-acr/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: CreateACR
description: 'Creates ACR'
inputs:
client-id:
description:
required: true
tenant-id:
description:
required: true
subscription-id:
description:
required: true
resource_group:
description: "Name of the resource group to create the cluster within"
required: true
acr_name:
description: "Name of the acr holding the karpenter image"
required: true
runs:
using: "composite"
steps:
- uses: actions/checkout@v3
- name: az login
uses: azure/login@v1
with:
client-id: ${{ inputs.client-id }}
tenant-id: ${{ inputs.tenant-id }}
subscription-id: ${{ inputs.subscription-id }}
- name: az set sub
shell: bash
run: az account set --subscription ${{ inputs.subscription-id }}
- name: create ACR
shell: bash
run: AZURE_RESOURCE_GROUP=${{ inputs.resource_group }} AZURE_ACR_NAME=${{ inputs.acr_name }} make az-mkacr
53 changes: 53 additions & 0 deletions .github/actions/e2e/create-cluster/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: CreateCluster
description: 'Installs Go Downloads and installs Karpenter Dependencies'
inputs:
# k8s_version:
# description: 'Version of Kubernetes to use for the launched cluster'
# required: false
# default: "1.27"
client-id:
description:
required: true
tenant-id:
description:
required: true
subscription-id:
description:
required: true
# region:
# description: "Region to create aks cluster"
# required: true
resource_group:
description: "Name of the resource group to create the cluster within"
required: true
cluster_name:
description: 'Name of the cluster to be created'
required: true
acr_name:
description: "Name of the acr holding the karpenter image"
required: true
runs:
using: "composite"
steps:
- uses: actions/checkout@v3
- name: az login
uses: azure/login@v1
with:
client-id: ${{ inputs.client-id }}
tenant-id: ${{ inputs.tenant-id }}
subscription-id: ${{ inputs.subscription-id }}
- name: az set sub
shell: bash
run: az account set --subscription ${{ inputs.subscription-id }}
- name: create cluster
shell: bash
run: AZURE_CLUSTER_NAME=${{ inputs.cluster_name }} AZURE_RESOURCE_GROUP=${{ inputs.resource_group }} AZURE_ACR_NAME=${{ inputs.acr_name }} make az-mkaks-cilium
- name: az login 2
uses: azure/login@v1
with:
client-id: ${{ inputs.client-id }}
tenant-id: ${{ inputs.tenant-id }}
subscription-id: ${{ inputs.subscription-id }}
- name: update azure perms
shell: bash
run: AZURE_CLUSTER_NAME=${{ inputs.cluster_name }} AZURE_RESOURCE_GROUP=${{ inputs.resource_group }} make az-perm
Loading

0 comments on commit bee5a16

Please sign in to comment.