https://github.com/sumup-oss/janos
Janos K8s migration
https://github.com/sumup-oss/janos
api devops devops-tools k8s kubernetes update yaml
Last synced: about 1 year ago
JSON representation
Janos K8s migration
- Host: GitHub
- URL: https://github.com/sumup-oss/janos
- Owner: sumup-oss
- License: apache-2.0
- Created: 2021-02-23T13:40:06.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-03-04T08:39:10.000Z (about 5 years ago)
- Last Synced: 2025-01-13T16:18:55.544Z (about 1 year ago)
- Topics: api, devops, devops-tools, k8s, kubernetes, update, yaml
- Language: JavaScript
- Homepage:
- Size: 28.6 MB
- Stars: 3
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Janos
Janos is a K8s migration tool that update your manifests in order to be compatible with newer versions. __It does not work with Helm templates, just with pure yaml files.__
[](LICENSE.md)
[](CODE_OF_CONDUCT.md)
#
> **TLDR;**
> Have your Kuberenetes manifests up to date
##### Table of contents
- [Installation](#installation)
- [Usage](#usage)
- [List of Changes](#list-of-changes)
- [About SumUp](#about-sumup)
## Overview
Janos will convert all your manifest files, updating it inplace. If you pass a directory as a parameter, it will do a recursive search. All comments are removed, and the file formatting may change.
## Installation
Build the image before running the script, because it will be executed inside the container.
```sh
# Build image
make build
# Copy entrypoint script to /usr/local/bin
make install
```
## Usage
```sh
janos {-d|-f}
-f file The file to be converted.
-d dir The directory with the yaml files to be converted.
```
All the rules are in the file migration.js.
## List of Changes
- 1.16: for Kind: Deployment |Daemonset |Statefulset |ReplicaSet Replace for extensions/v1beta1 | apps/v1beta1 | apps/v1beta2 with apps/v1
- 1.16: for Kind: Ingress. Replace: extensions/v1beta1 with networking.k8s.io/v1beta1
- 1.16: for Kind: PodSecurityPolicy. Replace: extensions/v1beta1 |apps/v1beta2 with policy/v1beta1
- 1.16: Generates the now required spec.selector for Kind Deployment |Daemonset |Statefulset |ReplicaSet (using matchLabels app name, you can read more about these here), only if it doesn't exist
- 1.17: for Kinds:Role |ClusterRole |RoleBinding |ClusterRoleBinding: Replace rbac.authorization.k8s.io/v1alpha1 | rbac.authorization.k8s.io/v1beta1 with rbac.authorization.k8s.io/v1
- 1.19: for Kind: HorizontalPodAutoscaler. Replace: autoscaling/v2beta1 with autoscaling/v2beta2
### Maintainers
- [Denis Policastro](mailto:denis.policastro@sumup.com)
- [Pablo Loschi](mailto:pablo.loschi@sumup.com)
## About SumUp

[SumUp](https://sumup.com) is a mobile-point of sale provider. It is our mission to make easy and fast card payments a reality across the *entire* world. You can pay with SumUp in more than 30 countries, already. Our engineers work in Berlin, Cologne, Sofia, and Sāo Paulo. They write code in JavaScript, Swift, Ruby, Go, Java, Erlang, Elixir, and more.
Want to come work with us? [Head to our careers page](https://sumup.com/careers) to find out more.