Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support airgap installation #531

Open
tu1h opened this issue Jun 19, 2024 · 2 comments
Open

Support airgap installation #531

tu1h opened this issue Jun 19, 2024 · 2 comments

Comments

@tu1h
Copy link

tu1h commented Jun 19, 2024

This repo is functional and extensible, but many scenarios are not on the Internet, is there a plan to support airgap? Or whether our contributions to this repo would be accepted?

@timothystewart6
Copy link
Contributor

In theory this sounds great however that means including manifests with this repo which we use to do, however we switched to downloading them from the web because it was too much to maintain between versions.

If there's a way that doesn't include making those manifests part of the repo and is easy to maintain between versions I am all ears.

@tu1h
Copy link
Author

tu1h commented Jun 19, 2024

Maybe we could provide the ability of airgap but not the offline package directly. It could be completed by extracting some options and scripts.
So image and file lists could be parsed and output by running scripts, then users can build and package using the lists and loaded to the image registry(e.g. docker registry/harbor) and HTTP server(e.g. minio/nginx) when ready to install. Before users install the cluster, they should set options to override the original address/url.

For files example:

url: "https://raw.githubusercontent.com/kube-vip/kube-vip-cloud-provider/{{ kube_vip_cloud_provider_tag_version | default('main') }}/manifest/kube-vip-cloud-controller.yaml" # noqa yaml[line-length]

We could change it like this:
url: "{{ kube_vip_cloud_controller_yaml_download_url }}"

In default/main.yaml

raw_githubusercontent_url: https://raw.githubusercontent.com
kube_vip_cloud_controller_yaml_download_url: "{{ raw_githubusercontent_url }}/kube-vip/kube-vip-cloud-provider/{{ kube_vip_cloud_provider_tag_version | default('main') }}/manifest/kube-vip-cloud-controller.yaml"

For images, e.g. :

image: ghcr.io/kube-vip/kube-vip:{{ kube_vip_tag_version }}

We could change it like this:
image: "{{ kube_vip_image_repo }}:{{ kube_vip_image_tag }}"

In default/main.yaml

kube_vip_tag_version: xxx
github_image_repo: "ghcr.io"
kube_vip_image_repo: "{{ github_image_repo }}/kube-vip/kube-vip"
kube_vip_image_tag: "{{ kube_vip_tag_version }}"

All of them just like Kubespray:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants